# Changelog - Octto Engenharia ## [CMS 1.1] - 2025-11-27 ### 🔧 Correções de Infraestrutura - Tipagem de `params` para Next.js 15 nas API routes (`/api/projects/[id]`, `/api/services/[id]`) --- ### 📊 Dashboard Admin - **Dados dinâmicos** - Cards agora mostram contagens reais do banco de dados - **Estatísticas em tempo real**: - Projetos (total/ativos) - Mensagens (total/não lidas) - Serviços (total/ativos) - **Últimas Mensagens** - Lista os 5 contatos mais recentes com: - Iniciais do nome - Tempo relativo (Há X min/horas/dias) - Indicador visual de não lida - **Projetos Recentes** - Lista os 5 projetos mais recentes com: - Imagem de capa - Categoria - Badge de status - **Links funcionais** - Cards e botões "Ver todos" redirecionam para páginas correspondentes --- ### 🛠️ Módulo de Serviços (CRUD Completo) #### Admin - Lista de Serviços (`/admin/servicos`) | Feature | Descrição | |---------|-----------| | 📡 API | Dados dinâmicos da API `/api/services` | | 🔍 Filtros | Por status (Todos/Ativos/Inativos) | | 🔎 Busca | Por título e descrição | | ✏️ Ações | Botões de Editar e Excluir | | ⚠️ Confirmação | Modal de confirmação antes de excluir | #### Admin - Novo Serviço (`/admin/servicos/novo`) - Formulário conectado à API `POST /api/services` - **🎨 Seletor visual de ícones em galeria** com busca em tempo real - **70+ ícones** organizados por categoria: - 🚗 Veículos e Transporte - 🔧 Ferramentas e Engenharia - 📄 Documentos e Laudos - 🛡️ Segurança - 🏗️ Construção e Equipamentos - 🔍 Inspeção e Verificação - ⚙️ Geral - Campos: título, ícone, status, ordem, descrição curta, descrição completa #### Admin - Editar Serviço (`/admin/servicos/[id]/editar`) - ✨ **Página nova criada** - Carrega dados do serviço existente via `GET /api/services/:id` - Atualiza via `PUT /api/services/:id` - Mesmo seletor visual de ícones da página de criação #### Páginas Públicas de Serviços | Rota | Descrição | |------|-----------| | `/servicos` | Página pública principal | | `/en/servicos` | Versão em inglês | | `/es/servicos` | Versão em espanhol | - ✅ Exibe apenas serviços **ativos** - 📊 Ordenados pelo campo `order` - 🔄 Fallback para dados estáticos se API vazia - ⏳ Loading state durante carregamento --- ### 📁 Módulo de Projetos (Melhorias) #### Admin - Lista de Projetos (`/admin/projetos`) - 🔍 **Filtros** por categoria e status - 🔎 **Busca** por título, cliente e descrição - ✏️ **Botão de Editar** em cada projeto #### Admin - Editar Projeto (`/admin/projetos/[id]/editar`) - ✨ **Página nova criada** - Carrega dados do projeto existente - 🖼️ Upload de imagem de capa - 🖼️ Upload de galeria de imagens (até 8) - Todos os campos editáveis --- ### 🎨 Melhorias de UX/UI | Feature | Descrição | |---------|-----------| | 🎯 Seletor de Ícones | Galeria visual clicável com busca | | ⏳ Loading States | Indicadores visuais de carregamento | | ✅ Toasts | Feedback de sucesso e erro | | ⚠️ Confirmação | Modal antes de ações destrutivas | | 🔗 Navegação | Links e botões funcionais em todo admin | --- ## Arquivos Modificados/Criados ``` frontend/src/app/admin/ ├── page.tsx # Dashboard com dados reais ├── projetos/ │ ├── page.tsx # Lista com filtros e busca │ └── [id]/editar/page.tsx # ✨ NOVO - Edição de projeto └── servicos/ ├── page.tsx # Lista com filtros e busca ├── novo/page.tsx # Criação com seletor de ícones └── [id]/editar/page.tsx # ✨ NOVO - Edição de serviço frontend/src/app/ ├── (public)/servicos/page.tsx # Página pública dinâmica └── [locale]/servicos/page.tsx # Página com locale dinâmica frontend/src/app/api/projects/[id]/ └── route.ts # Corrigido tipagem Next.js 15 ``` --- **Branch**: `cms-1.1` **Data**: 27 de Novembro de 2025 **Status**: ✅ Pronto para produção