"use client"; import Link from 'next/link'; import { useState, useEffect } from 'react'; import { useToast } from '@/contexts/ToastContext'; interface PageContent { id: string; slug: string; content: any; updatedAt: string; } export default function PagesList() { const [pages, setPages] = useState([]); const [loading, setLoading] = useState(true); const { error: showError } = useToast(); const pageDefinitions = [ { title: 'Página Inicial', slug: 'home', desc: 'Banner principal, textos de destaque e chamadas.', icon: 'ri-home-4-line' }, { title: 'Sobre Nós', slug: 'sobre', desc: 'História da empresa, missão, visão e valores.', icon: 'ri-team-line' }, { title: 'Contato', slug: 'contato', desc: 'Endereço, telefones, emails e horário de funcionamento.', icon: 'ri-contacts-book-line' }, ]; useEffect(() => { fetchPages(); }, []); const fetchPages = async () => { try { const response = await fetch('/api/pages'); if (!response.ok) throw new Error('Erro ao carregar páginas'); const data = await response.json(); setPages(data); } catch (err) { showError('Erro ao carregar páginas'); } finally { setLoading(false); } }; if (loading) { return (
); } return (

Gerenciar Páginas

Edite o conteúdo estático das páginas do site.

{pageDefinitions.map((pageDef) => { const pageData = pages.find(p => p.slug === pageDef.slug); const lastUpdate = pageData ? new Date(pageData.updatedAt).toLocaleDateString('pt-BR') : 'Não configurado'; return (
{pageData ? `Atualizado ${lastUpdate}` : 'Não configurado'}

{pageDef.title}

{pageDef.desc}

Editar Conteúdo
); })}
); }