126 lines
4.1 KiB
Markdown
126 lines
4.1 KiB
Markdown
# 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
|