docs(okf): entidades e relacionamentos OKF do DashDescomplicar

This commit is contained in:
2026-10-28 16:01:20 +00:00
parent f063a2ec8c
commit 61ae4697f9
48 changed files with 2610 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
---
type: Entity
layer: wiki
tags: [stack, dashdescomplicar, painel, dashboard, home]
title: "Painel-Dashboard"
---
# Painel-Dashboard
Página principal (home) do DashDescomplicar. Hero stats agregados do Desk CRM com resumo do dia, tarefas, tickets, leads, projectos, pipeline e métricas de tempo.
## Responsabilidades
- **Hero Stats**: 5 métricas principais com sparklines, gradientes e tendências
- **Resumo do Dia**: Data formatada PT-PT, eventos hoje, tarefas urgentes/alta, tickets abertos
- **Tarefas**: Urgentes (priority 4), Alta (priority 3), Vencidas, Em Testes, Esta Semana
- **Leads**: Contactar, Follow-up, Proposta — com pipeline stage
- **Projectos**: Lista de projectos activos com progresso
- **Calendário**: Eventos de hoje e da semana (Google Calendar via Desk)
- **Timesheet**: Horas registadas hoje/semana
- **Billing 360**: Facturação do mês com progress ring
- **Pipeline**: Leads em pipeline por stage
- **Monday Mood**: Frase motivacional (apenas às segundas)
## Stack
- **React 19** + TypeScript 5.6
- **Framer Motion**: Stagger + spring + hover animations
- **Lucide React**: 25+ ícones (Calendar, AlertTriangle, Clock, RefreshCw, etc.)
- **Tailwind CSS**: Glass cards, gradientes, status pills
- **Recharts**: Sparkline (mini gráfico de tendência)
## Componentes
- `HeroStat`: Métrica grande com ícone, gradiente, sparkline, tendência
- `GlassCard`: Card com accent color e contador
- `Sparkline`: Mini gráfico SVG de tendência
- `StatusPill`: Badge de status (emerald, amber, red)
- `ProgressRing`: Anel de progresso SVG circular
- `SummaryWidget`: Widget bento-style com resumo do dia
- `ListItem`: Item de lista com hover e badges
## Tipos
- `DashboardData`: date, day_of_week, is_monday, monday_mood, tarefas (urgente, alta, vencidas, em_testes, esta_semana), tickets (abertos, alta_prioridade), leads (contactar, proposta, followup), projectos[], pipeline[], eventos (hoje[], semana[]), timesheet (hoje, semana), billing_360, resumo
## API Consumida
| API | Rota | Dados |
|---|---|---|
| Dashboard | `GET /api/dashboard` | 16 queries paralelas ao Desk CRM |
## Localizações
- **Código**: `src/App.tsx` (função App(), linhas 416-818 + mock data)
- **Rota**: `/`
## Dependências
- **Express-API**: Rota `/api/dashboard` (16 queries)
- **MySQL-Pool**: Dados do Desk CRM (tarefas, tickets, leads, projectos, calendário, timesheet, facturação)
- **Dashboard-Engine**: Layout (sidebar + header)
## Estado
- Activo