Curriculum Accordion
Em andamentoSeção "O que você irá Aprender?" de página de campanha: chapéu "Conteúdo Programático", título, descrição e a grade curricular num Accordion, cada módulo com a lista de disciplinas. Os módulos vêm por modulos (E77); sem a prop, entra a grade de exemplo (um curso de tradução). A grade sozinha, sem a seção, é a ListaCurricular — a peça única de currículo, que o Cursos Livres também usa.
- Função
- Cursos e matrícula
- Também chamado de
- grade curricular, conteúdo programático, matriz curricular, disciplinas
- Mora em
- app/components/organisms/marketing/CurriculumAccordion.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.
Na largura da página: 0px
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
Em página de campanha de um curso, como vitrine do padrão de grade curricular.
Faça
- Passe
modulos: título, subtítulo (carga, semestre),itens(as disciplinas) edescricao.
Evite
- Publicar com a grade de exemplo: é de um curso de tradução específico.
Quando não usar. Para a grade sem a seção em volta (dentro de uma página de curso), use a ListaCurricular exportada daqui. Para perguntas frequentes, o FAQ.
Anatomia
As partes, na ordem em que o olho — e o teclado — passam.
- Chapéu — "Conteúdo Programático", pílula vermelha clara com ícone.
- Título — Typography `h2`, com "Aprender?" em vermelho.
- Descrição — Parágrafo cinza.
- Grade — A `ListaCurricular` (E77): um Accordion; cada item é um módulo com subtítulo, o texto e a lista de disciplinas com visto.
Estados
Os estados que a peça tem no código, e o que muda em cada um.
| Estado | O que muda |
|---|---|
| Fechado | Só os semestres; um aberto por vez (Accordion sem allowMultiple). |
| Aberto | A lista de disciplinas do semestre. |
Comportamento
| Situação | O que acontece |
|---|---|
| Abrir um semestre | Fecha o que estava aberto e mostra as disciplinas — medido. |
| Entrada na tela | Abaixo da dobra, sobe 20px e aparece ao entrar na tela, uma vez. O HTML do servidor já sai visível, e o que está à vista ao abrir não é escondido — sem JavaScript, nada some (E138, testado). Com movimento reduzido, não anima. |
Relacionados
Como usar no código
A importação e o menor uso, lidos do arquivo. O … marca as props obrigatórias.
import { CurriculumAccordion } from '@/app/components/organisms/marketing/CurriculumAccordion';
<CurriculumAccordion />Propriedades
Lidas do código da peça no build — não escritas à mão.
| Prop | Tipo | Padrão | Obrigatória | Descrição |
|---|---|---|---|---|
modulos | ModuloDoCurriculo[] | MODULOS_PADRAO | não | Os módulos por prop (E77): eram fixos no 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 | bg-primary/10text-primary |
--foreground | #1A1A1A | text-ink |
--muted | #F4F6F9 | bg-muted/30 |
--muted-foreground | #595959 | text-muted-foreground |
--primary-dark | #A81E1E | text-primary-dark |
--success | #2E844A | text-success |
Teclado
| Tecla | Faz |
|---|---|
| Tab | Passa pelos semestres; o aberto tem o painel entre ele e o próximo — medido. |
| EnterEspaço | Abre ou fecha o semestre (ver Accordion). |
Leitor de tela
O que é anunciado, e por quê.
- Cada semestre é um cabeçalho de nível 3 com o botão dentro, como no Accordion.
- O nome do botão começa pelo subtítulo ("A base técnica para tradutores…") e só depois diz o semestre — medido.
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.
Achados abertos
Defeitos conhecidos, com o que falta fazer.
- O subtítulo vem antes do semestre no nome. O Accordion põe o subtítulo antes do título no botão; aqui, "1º Semestre" é lido depois da frase de apoio.
Status e recursos
| Tipo | Recurso | Status |
|---|---|---|
| Código | app/components/organisms/marketing/CurriculumAccordion.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).