docs: atualizar CHANGELOG.md com formato padronizado
This commit is contained in:
146
CHANGELOG.md
146
CHANGELOG.md
@@ -1,125 +1,103 @@
|
||||
# Changelog - Octto Engenharia
|
||||
# Changelog - OCCTO Engenharia
|
||||
|
||||
## [CMS 1.1] - 2025-11-27
|
||||
Histórico de versões e alterações do CMS.
|
||||
|
||||
---
|
||||
|
||||
## 📦 [CMS 1.1] - 27/11/2025
|
||||
|
||||
### 🔧 Correções de Infraestrutura
|
||||
- Tipagem de `params` para Next.js 15 nas API routes (`/api/projects/[id]`, `/api/services/[id]`)
|
||||
|
||||
- **Tipagem Next.js 15**: Correção de `params` para usar `Promise<{ id: string }>` nas API routes
|
||||
|
||||
---
|
||||
|
||||
### 📊 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
|
||||
|
||||
Dashboard com dados dinâmicos em tempo real.
|
||||
|
||||
| Estatística | Descrição |
|
||||
|-------------|-----------|
|
||||
| Projetos | Total e quantidade de ativos |
|
||||
| Mensagens | Total e quantidade não lidas |
|
||||
| Serviços | Total e quantidade ativos |
|
||||
|
||||
**Funcionalidades:**
|
||||
- Últimas 5 mensagens com iniciais, tempo relativo e indicador de não lida
|
||||
- Últimos 5 projetos com imagem, categoria e status
|
||||
- Cards clicáveis redirecionam para páginas correspondentes
|
||||
|
||||
---
|
||||
|
||||
### 🛠️ Módulo de Serviços (CRUD Completo)
|
||||
### 🛠️ Módulo de Serviços
|
||||
|
||||
#### 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 |
|
||||
CRUD completo para gerenciamento de serviços.
|
||||
|
||||
#### Admin - Lista (`/admin/servicos`)
|
||||
- Dados dinâmicos da API
|
||||
- Filtro por status (Todos/Ativos/Inativos)
|
||||
- Busca por título e descrição
|
||||
- Ações de editar e excluir com confirmação
|
||||
|
||||
#### 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
|
||||
- Seletor visual de ícones em galeria com busca
|
||||
- 70+ ícones organizados por categoria
|
||||
- Campos: título, ícone, status, ordem, descrições
|
||||
|
||||
#### 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
|
||||
- Carrega dados existentes
|
||||
- Mesmo seletor visual de ícones
|
||||
- Atualização via API
|
||||
|
||||
#### 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
|
||||
#### Páginas Públicas
|
||||
- `/servicos` - Página principal
|
||||
- `/en/servicos` - Inglês
|
||||
- `/es/servicos` - Espanhol
|
||||
- Exibe apenas serviços ativos, ordenados
|
||||
- Fallback para dados estáticos
|
||||
|
||||
---
|
||||
|
||||
### 📁 Módulo de Projetos (Melhorias)
|
||||
### 📁 Módulo de Projetos
|
||||
|
||||
#### 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
|
||||
Melhorias no gerenciamento de projetos.
|
||||
|
||||
#### Admin - Lista (`/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)
|
||||
- Upload de imagem de capa
|
||||
- Upload de galeria (até 8 imagens)
|
||||
- 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 |
|
||||
- **Seletor de Ícones**: Galeria visual com busca em tempo real
|
||||
- **Loading States**: Indicadores visuais de carregamento
|
||||
- **Toasts**: Feedback de sucesso e erro
|
||||
- **Confirmação**: Modal antes de ações destrutivas
|
||||
|
||||
---
|
||||
|
||||
## Arquivos Modificados/Criados
|
||||
## 📁 Estrutura de Arquivos
|
||||
|
||||
```
|
||||
frontend/src/app/admin/
|
||||
├── page.tsx # Dashboard com dados reais
|
||||
├── page.tsx # Dashboard dinâmico
|
||||
├── projetos/
|
||||
│ ├── page.tsx # Lista com filtros e busca
|
||||
│ └── [id]/editar/page.tsx # ✨ NOVO - Edição de projeto
|
||||
│ ├── page.tsx # Lista com filtros
|
||||
│ └── [id]/editar/page.tsx # ✨ NOVO
|
||||
└── 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
|
||||
├── page.tsx # Lista com filtros
|
||||
├── novo/page.tsx # Criação com ícones
|
||||
└── [id]/editar/page.tsx # ✨ NOVO
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Branch**: `cms-1.1`
|
||||
**Data**: 27 de Novembro de 2025
|
||||
**Status**: ✅ Pronto para produção
|
||||
**Status**: ✅ Produção
|
||||
|
||||
Reference in New Issue
Block a user