feat: adicionar sistema de backup e badge editável na página inicial
This commit is contained in:
@@ -166,3 +166,163 @@ frontend/src/app/api/projects/[id]/
|
||||
|
||||
**Branch**: `cms-1.1`
|
||||
**Status**: ✅ Produção
|
||||
|
||||
---
|
||||
|
||||
## CMS 1.2 - Atualizações (28/11/2025)
|
||||
|
||||
### 📱 WhatsApp Dinâmico
|
||||
|
||||
#### API de Informações de Contato (`/api/contact-info`)
|
||||
- Nova rota que busca número do WhatsApp dinamicamente do CMS
|
||||
- Busca dados da página `contato` slug
|
||||
- Cache de 1 minuto para otimizar performance
|
||||
- Fallback para número padrão `(35) 9882-9445` com link `https://wa.me/5535988229445`
|
||||
- Retorna JSON: `{ whatsapp: string, whatsappLink: string }`
|
||||
|
||||
#### Integração no Botão Flutuante
|
||||
- `WhatsAppButton.tsx` agora busca número da API `/api/contact-info`
|
||||
- Abre WhatsApp diretamente com número do CMS
|
||||
- Exibe label traduzido `whatsapp.label`
|
||||
|
||||
#### Integração no Header
|
||||
- Botão "Fale Conosco" no header desktop agora abre WhatsApp diretamente
|
||||
- Menu mobile também integrado
|
||||
- Ambos buscam número da API em tempo real
|
||||
|
||||
#### Tradução do Label
|
||||
- Adicionada chave `whatsapp.label` em todos os locales:
|
||||
- PT: "Fale Conosco"
|
||||
- EN: "Contact Us"
|
||||
- ES: "Contáctenos"
|
||||
- Adicionada no `LanguageContext.tsx` para fallback
|
||||
|
||||
---
|
||||
|
||||
### 🌙 Dark Mode no Painel Admin
|
||||
|
||||
#### Novo Botão de Tema
|
||||
- Adicionado botão sol/lua no header do painel admin
|
||||
- Localizado ao lado das notificações
|
||||
- Mesmo comportamento do botão no site público
|
||||
- Integrado com `useTheme` hook
|
||||
|
||||
#### Funcionalidade
|
||||
- Toggle claro/escuro funcional em todo o admin
|
||||
- Persistência de preferência via `next-themes`
|
||||
- Ícone muda conforme tema: `ri-sun-line` (dark) / `ri-moon-line` (light)
|
||||
|
||||
---
|
||||
|
||||
### 🔗 Correção de Links do Dashboard
|
||||
|
||||
#### Links das Mensagens
|
||||
- Card "Mensagens" → `/admin/mensagens`
|
||||
- Botão "Ver todas" → `/admin/mensagens`
|
||||
- Cada item de mensagem → `/admin/mensagens`
|
||||
- Antes: apontavam para `/admin/contatos` (rota inexistente)
|
||||
|
||||
#### Estrutura de Rotas
|
||||
- Confirmado que rota correta é `/admin/mensagens`
|
||||
- Não existe `/admin/contatos` no projeto
|
||||
|
||||
---
|
||||
|
||||
### ✅ Correções Finais de WhatsApp
|
||||
|
||||
#### Formato Correto do Número
|
||||
- **Número fornecido**: `+55 35 9882-9445`
|
||||
- **Formato wa.me**: `5535988229445`
|
||||
- `55` = código Brasil
|
||||
- `35` = DDD
|
||||
- `988229445` = número com 9 dígitos (padrão celular BR)
|
||||
|
||||
#### Atualização em Todos os Arquivos
|
||||
- API `/api/contact-info/route.ts`
|
||||
- Componente `WhatsAppButton.tsx`
|
||||
- Componente `Header.tsx`
|
||||
- Todos agora usam `5535988229445` como padrão
|
||||
|
||||
---
|
||||
|
||||
### 📁 Arquivos Modificados (28/11)
|
||||
|
||||
```
|
||||
frontend/src/app/api/
|
||||
└── contact-info/
|
||||
└── route.ts # ✨ NOVO - API WhatsApp dinâmico
|
||||
|
||||
frontend/src/components/
|
||||
├── WhatsAppButton.tsx # Integração API contact-info
|
||||
└── Header.tsx # Integração API contact-info
|
||||
|
||||
frontend/src/app/admin/
|
||||
├── layout.tsx # Dark mode + links corrigidos
|
||||
└── page.tsx # Links mensagens corrigidos
|
||||
|
||||
frontend/src/contexts/
|
||||
└── LanguageContext.tsx # Adicionado whatsapp.label
|
||||
|
||||
frontend/src/locales/
|
||||
├── pt.json # Adicionado whatsapp.label
|
||||
├── en.json # Adicionado whatsapp.label
|
||||
└── es.json # Adicionado whatsapp.label
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Commits Realizados (28/11/2025)
|
||||
|
||||
### Commit 1: WhatsApp Dinâmico
|
||||
```
|
||||
feat: WhatsApp dinâmico do CMS
|
||||
- Criada API /api/contact-info que busca número do CMS
|
||||
- Header e botão flutuante agora puxam número dinamicamente
|
||||
- Número padrão: (35) 9882-9445
|
||||
```
|
||||
|
||||
### Commit 2: Tradução WhatsApp
|
||||
```
|
||||
fix: WhatsApp label tradução e número correto (35) 9882-9445
|
||||
- Adicionada chave whatsapp.label nos arquivos de locale (pt, en, es)
|
||||
- Adicionada chave whatsapp.label no LanguageContext
|
||||
```
|
||||
|
||||
### Commit 3: Formato Correto
|
||||
```
|
||||
fix: número WhatsApp correto 5535988229445
|
||||
- Corrigido número padrão em todos os arquivos
|
||||
- Formato correto: 55 (Brasil) + 35 (DDD) + 988229445 (número)
|
||||
```
|
||||
|
||||
### Commit 4: Dark Mode e Links
|
||||
```
|
||||
fix: dark mode no admin, links mensagens dashboard, WhatsApp correto
|
||||
- Adicionado botão de dark mode no header do painel admin
|
||||
- Corrigido links do dashboard: /admin/contatos -> /admin/mensagens
|
||||
- Corrigido número WhatsApp: 5535988229445 (formato correto BR)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Status de Deployment
|
||||
|
||||
### Ambiente de Produção
|
||||
- **Domínio**: www.octtoengenharia.com.br
|
||||
- **Docker Compose**: `docker-compose.yml` (production)
|
||||
- **Banco**: PostgreSQL `occto_db`
|
||||
- **Storage**: MinIO `occto_minio`
|
||||
- **Frontend**: `occto_frontend`
|
||||
- **Network**: `dokploy-network`
|
||||
|
||||
### Infraestrutura
|
||||
- **Versão PostgreSQL**: 12-alpine
|
||||
- **Versão MinIO**: RELEASE.2023-09-04T19-57-37Z
|
||||
- **Framework**: Next.js 15.1
|
||||
- **ORM**: Prisma
|
||||
- **Deploy Platform**: Dokploy (com auto-deploy)
|
||||
|
||||
---
|
||||
|
||||
**Branch**: `cms-1.1`
|
||||
**Status**: ✅ Produção (Deploy 28/11/2025)
|
||||
|
||||
Reference in New Issue
Block a user