Frontend completo (Etapas 11-18) e extensões de backend (Etapas 13 e 18)
Adiciona o frontend Next.js em frontend/ (setup, design system, autenticação/tema, layout/navegação, área master, área tenant completa: clientes, produtos, vendas, recebimentos, whatsapp, e-mail, alertas, equipe e perfil). Estende o backend de forma aditiva e autorizada: cookie httpOnly para refresh token (Etapa 13) e CRUD de equipe + edição de perfil do tenant (Etapa 18, módulo src/modules/equipe/ novo e PUT /tenant/perfil). Detalhes completos em Etapas/V2/*. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
/**
|
||||
* Tokens de design do SeConectai Vendas (seção 6 do schema de arquitetura
|
||||
* de frontend — Etapas/V2/10-frontend-schema-arquitetura.md).
|
||||
*
|
||||
* `--color-primary` é resolvida em runtime por tenant (whitelabel) pela
|
||||
* Etapa 13 — o valor abaixo é só o fallback exibido antes da resolução
|
||||
* (ou quando o tenant não define cor própria).
|
||||
*/
|
||||
|
||||
:root {
|
||||
/* Paleta neutra da plataforma — igual em master e em todos os tenants */
|
||||
--neutral-950: #12141a;
|
||||
--neutral-500: #6b7280;
|
||||
--neutral-200: #e5e7eb;
|
||||
--neutral-50: #f8f9fb;
|
||||
--surface: #ffffff;
|
||||
|
||||
/* Cores semânticas */
|
||||
--danger: #dc2626;
|
||||
--success: #16a34a;
|
||||
--warning: #d97706;
|
||||
|
||||
/* Identidade fixa do painel master (não whitelabel) */
|
||||
--brand-master: #1e3a5f;
|
||||
--brand-master-accent: #2dd4bf;
|
||||
|
||||
/* Cor de marca dinâmica por tenant — fallback até a Etapa 13 resolver
|
||||
`tenants.cor_primaria` via endpoint público de tema */
|
||||
--color-primary: #2563eb;
|
||||
|
||||
/* Variante de `--color-primary` garantida com contraste AA contra
|
||||
branco (Etapa 13, `lib/theme/contrast.ts`) — usar em texto/ícone
|
||||
sobre fundo claro (`text-primary-on-light`). NUNCA usar para fundos:
|
||||
`bg-primary` continua com a cor original do tenant, sem ajuste. */
|
||||
--color-primary-on-light: var(--color-primary);
|
||||
}
|
||||
|
||||
/* Ponte para o Tailwind v4 (CSS-first): mapeia as CSS variables acima para
|
||||
o namespace de cor do tema, gerando as utilities `bg-primary`,
|
||||
`text-danger`, `bg-neutral-950` etc. sem duplicar os valores em JS. */
|
||||
@theme inline {
|
||||
--color-neutral-950: var(--neutral-950);
|
||||
--color-neutral-500: var(--neutral-500);
|
||||
--color-neutral-200: var(--neutral-200);
|
||||
--color-neutral-50: var(--neutral-50);
|
||||
--color-surface: var(--surface);
|
||||
|
||||
--color-danger: var(--danger);
|
||||
--color-success: var(--success);
|
||||
--color-warning: var(--warning);
|
||||
|
||||
--color-brand-master: var(--brand-master);
|
||||
--color-brand-master-accent: var(--brand-master-accent);
|
||||
|
||||
--color-primary: var(--color-primary);
|
||||
--color-primary-on-light: var(--color-primary-on-light);
|
||||
|
||||
--font-sans: var(--font-inter);
|
||||
}
|
||||
|
||||
@layer utilities {
|
||||
.tabular-nums {
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user