--- description: Padrão de Design Aggios App para Páginas de Listagem e Dashboards --- # Padrão de Design Aggios App Este workflow descreve como construir uma página seguindo o design system da Aggios, utilizando os componentes padronizados na pasta `components/ui`. ## 1. Estrutura Básica da Página Toda página deve ser envolvida por um container com padding e largura máxima: ```tsx
{/* Conteúdo aqui */}
``` ## 2. Cabeçalho (`PageHeader`) Utilize o `PageHeader` para títulos, descrições e ações globais da página. ```tsx , onClick: () => handleCreate() }} /> ``` ## 3. Cartões de Estatísticas (`StatsCard`) Para dashboards ou resumos, utilize o grid de stats: ```tsx
} trend={{ value: '10%', label: 'vs ontem', type: 'up' }} />
``` ## 4. Filtros e Pesquisa (Minimalista Flat) Os filtros não devem ter sombras nem cores de marca no estado inicial/focus. Devem usar um visual "Clean" com contraste sólido. ```tsx
} className="bg-white dark:bg-zinc-900 border-zinc-200 dark:border-zinc-800 focus:border-zinc-400 dark:focus:border-zinc-500" />
``` ## 5. Abas e Tabelas (`Tabs` & `DataTable`) Para organizar o conteúdo principal, utilize o componente `Tabs`. Dentro de cada aba, utilize `Card` com `noPadding` para envolver a `DataTable`. ```tsx , content: ( ) } ]} /> ``` ## Regras de Estilo e Cores - **Botões Primários**: Sempre use `variant="primary"` e aplique o gradiente via style/classe: `style={{ background: 'var(--gradient)' }} className="shadow-lg shadow-brand-500/20"`. - **Bordas**: Use `border-zinc-200` para light mode e `dark:border-zinc-800` para dark mode. - **Backgrounds**: Use `bg-white` (light) e `dark:bg-zinc-900` (dark) para componentes elevados. - **Cards & Containers (Flat Design)**: - **Cards:** Fundo branco/zinc-900, bordas sutis (`border-zinc-200` / `dark:border-zinc-800`), **SEM SOMBRAS**. - **Border Radius:** Usar `rounded-2xl` (16px) ou `rounded-[32px]` para containers grandes. - **StatsCards:** Texto de valor em `font-bold` ou `font-black`, ícones em boxes coloridos com opacidade 10% no dark mode. - **Hover:** Apenas transições de cor ou escalas sutis, evitar sombras no hover.