Knowledge Areas
Em andamentoSeção "Áreas de Conhecimento": seis áreas com ícone (Educação, Saúde, Direito, Gestão, Tecnologia da Informação, Psicologia), cada uma levando ao catálogo filtrado, e o link "Ver todas as Áreas". Não recebe propriedades.
- Função
- Cursos e matrícula
- Também chamado de
- áreas, categorias, áreas de conhecimento
- Mora em
- app/components/organisms/KnowledgeAreas.tsx
- Última mudança
- 2026-09-30
Prévia
A peça ao vivo, vinda da ficha, na largura escolhida. Em larguras fixas, ela roda num quadro do tamanho de uma tela de verdade.
1280px, em tamanho real
Variantes na ficha
Lidas da ficha no build, na ordem do palco. Cada uma abre sozinha, sem o styleguide em volta — é o endereço que o palco carrega.
Quando usar
Na página inicial, como atalho para o catálogo filtrado por área.
Faça
- Edite as áreas no arquivo da peça: não há propriedade para elas.
- Mantenha os nomes iguais aos do filtro do catálogo, para o endereço filtrar certo.
Evite
- Mais áreas que a grade comporta: são seis colunas no computador.
Quando não usar. Para filtrar a grade na própria página, use o FilterGroup ou o CourseFilterSidebar. Para destacar cursos, o TopCourses.
Anatomia
As partes, na ordem em que o olho — e o teclado — passam.
- Título — Um SectionTitle centrado.
- Área — Item da lista (E77): link em cartão, com o ícone num IconBox `primary` `interativo` (fundo `--primary-subtle`, E64) e o nome.
- Ver todas — O Button `outline` com `href`, redondo, para `/cursos` (E77).
Estados
Os estados que a peça tem no código, e o que muda em cada um.
| Estado | O que muda |
|---|---|
| Nome em duas linhas | O cartão fica da altura dos vizinhos da mesma linha, com o nome centralizado (E121) — testado na ficha. |
| Padrão | Cartão com borda --border. |
| Hover | Borda vermelha, sombra, o círculo fica vermelho cheio com ícone branco e o nome vermelho. |
| Entrada | Ao entrar na tela, o título e os cartões sobem e aparecem em sequência (motion, uma vez). |
Comportamento
| Situação | O que acontece |
|---|---|
| Clique numa área | Leva a /cursos?area=<nome>, com o nome codificado (E76; "Tecnologia da Informação" ia cru). |
| Largura | Duas colunas no celular, três a partir de 768px, seis a partir de 1024px. |
Relacionados
Como usar no código
A importação e o menor uso, lidos do arquivo. O … marca as props obrigatórias.
import KnowledgeAreas from '@/app/components/organisms/KnowledgeAreas';
<KnowledgeAreas />Propriedades
Lidas do código da peça no build — não escritas à mão.
KnowledgeAreas não recebe nenhuma propriedade. O conteúdo está escrito dentro do componente; para mudá-lo, é preciso editar o arquivo.
Tokens de cor
Os tokens semânticos que o código da peça usa, com o valor de hoje em app/globals.css.
| Token | Valor | Usado como |
|---|---|---|
--primary | #D42B2B | border-primarytext-primary |
--background | #FAFAFA | bg-background |
--border | #E5E5E5 | border-border |
--card | #FFFFFF | bg-card |
--foreground | #1A1A1A | text-ink |
Teclado
| Tecla | Faz |
|---|---|
| Tab | Passa pelas seis áreas e por "Ver todas as Áreas" — medido. |
| Enter | Segue o link em foco. |
Leitor de tela
O que é anunciado, e por quê.
- O nome de cada link é o nome da área; o ícone não tem texto.
- Os links têm o anel de foco do sistema (E76).
O que sustenta o estado
Esta peça usa estatico. O estado dela é o de quem já foi ouvido com leitor de tela nesses padrões — e não uma passada sobre esta peça em específico.
Falta ouvir: estatico — ver docs/a11y-screen-reader-checklist.md.
Status e recursos
| Tipo | Recurso | Status |
|---|---|---|
| Código | app/components/organisms/KnowledgeAreas.tsx | Disponível |
| Ficha | Storybook (abre em outra aba) | Disponível |
| Teste de acessibilidade | axe em npm run test | No gate de todo commit |
| Leitor de tela | Passada da E33 | Falta ouvir |
| Design | Figma | Desativado até a Fase 2 |
Histórico
Os últimos commits que tocaram o arquivo, lidos do git no build.
0298af82026-09-30E147: fechamento da Entrega 11 — REPORT.md, verificação cross-agent e o gate estático estrito
O histórico completo está no GitHub (abre em outra aba).