# TrackComparisonBlock

> Cursos Livres (E-commerce) — fora do catálogo. Peça de produto do fluxo de cursos livres: não é uma das 81 peças do kit, não tem estado de promoção e não foi feita para reuso. Segue as mesmas regras de cor e acessibilidade.

Comparação entre as trilhas.

- Mora em: `app/components/organisms/cursos-phorte/blocks/TrackComparisonBlock.tsx`
- Página: [https://phorte-design-system.vercel.app/styleguide/cursos-livres/TrackComparisonBlock](https://phorte-design-system.vercel.app/styleguide/cursos-livres/TrackComparisonBlock)
- Ficha: `stories/cursos-livres/track-comparison-block.stories.tsx` (no Storybook local — fora do catálogo publicado)
- Prévia ao vivo, sozinha: [https://phorte-design-system.vercel.app/previa/TrackComparisonBlock/0](https://phorte-design-system.vercel.app/previa/TrackComparisonBlock/0)
- Todas as peças: [https://phorte-design-system.vercel.app/llms.txt](https://phorte-design-system.vercel.app/llms.txt)

## Como usar no código

```tsx
import { TrackComparisonBlock } from '@/app/components/organisms/cursos-phorte/blocks/TrackComparisonBlock';

<TrackComparisonBlock />
```

## Uso

### Variantes na ficha

1. [Claro](https://phorte-design-system.vercel.app/previa/TrackComparisonBlock/0)
2. [Escuro](https://phorte-design-system.vercel.app/previa/TrackComparisonBlock/1)
3. [Premium](https://phorte-design-system.vercel.app/previa/TrackComparisonBlock/2)

_Peça fora do catálogo: tem o resumo e o papel, e não texto de uso completo (decisão da E89). O resto desta página vem do código._

## Especificação

### Propriedades

| Prop | Tipo | Padrão | Obrigatória | Descrição |
| --- | --- | --- | --- | --- |
| `hrefDaTrilha` | `(trilha: TrackLevel) => string` | — | não | Destino do botão de cada trilha (E77). Sem ele, a linha dos botões não aparece — eram três botões sem ação (decisão de 2026-09-28). |
| `theme` | `TemaDeBloco` | `'light'` | não |  |

### Tokens de cor

| Token | Valor | Usado como |
| --- | --- | --- |
| `--primary` | #D42B2B | `bg-primary`, `bg-primary/5`, `border-primary/20`, `text-primary` |
| `--foreground` | #1A1A1A | `text-ink`, `text-ink/80` |
| `--success` | #2E844A | `bg-success/10`, `text-success` |
| `--border` | #E5E5E5 | `divide-border/50` |
| `--ink-inverse` | #FAFAFA | `text-ink-inverse` |
| `--ink-inverse-muted` | #C7C7C7 | `text-ink-inverse-muted` |
| `--muted` | #F4F6F9 | `bg-muted/30` |
| `--muted-foreground` | #595959 | `text-muted-foreground` |

## Acessibilidade

Sem estado de promoção: a peça está fora do catálogo. O axe roda nas variantes da ficha em `npm run test`; contraste abaixo de AA vira exceção declarada na própria ficha, com a conta.

## Status e recursos

| Tipo | Recurso | Status |
| --- | --- | --- |
| Código | `app/components/organisms/cursos-phorte/blocks/TrackComparisonBlock.tsx` | Disponível |
| Ficha | `stories/cursos-livres/track-comparison-block.stories.tsx` | Storybook local |
| Teste de acessibilidade | axe em `npm run test` | No gate de todo commit |
| Design | Figma | Desativado até a Fase 2 |

### Histórico

- `0298af8` 2026-09-30 — E147: fechamento da Entrega 11 — REPORT.md, verificação cross-agent e o gate estático estrito
- Histórico completo no GitHub: https://github.com/srbunnie/Pos-Phorte-Design-System/commits/main/app/components/organisms/cursos-phorte/blocks/TrackComparisonBlock.tsx
