Pesquisa — coezzion-showcase-web (front público da vitrine)
Repo: /Users/alt-zz/projetos/arezzo/coezzion-showcase-web
Data: 2026-07-09
Escopo: tratamento de expiração na visualização pública
1. Conclusão
Não há lógica de expiração neste frontend.
Nenhuma ocorrência de expir*, endDate, validade, etc. em src/.
Se a vitrine está expirada, o comportamento é o mesmo de “não encontrada”: a API não devolve documento ativo (204/erro) e a UI mostra empty state.
2. Empty state
Vitrine (src/pages/vitrine/index.tsx) e Estoque:
- Título: “Vitrine não encontrada”
- Texto: contatar vendedora no WhatsApp
Não distingue expirada vs deletada vs id inválido.
3. APIs consumidas
| Modo | GET |
|---|---|
| Store (legado) | /show-case-new/{id} |
| Brand | /show-case-new/brand/{id} |
| Recommend | /show-case-new/recommend/{id} |
getShowCaseById.ts — catch engole erro e retorna undefined.
Modelo público: dateCreated opcional; sem dateExpiration no contrato do front.
4. Impacto da Spike
| Mudança necessária? | Não para CA-1…CA-5 |
| Efeito colateral positivo | Vitrine “sem prazo” continua acessível enquanto API retornar doc ativo |
| Efeito se API mapear mal MaxValue | N/A no web (não exibe data) |
Arquivos de interesse (sem mudança)
src/services/getShowCaseById.ts
src/contexts/ShowCaseContext.tsx
src/pages/vitrine/index.tsx
src/pages/estoque/index.tsx
src/lib/serverFetch.ts