🔒 RESTRIÇÃO DE CANCELAMENTO 📍 Página /billing: - Botão "Cancelar Assinatura" SOMENTE aparece nos primeiros 7 dias - Após período de garantia: botão removido - Mensagem informativa: "Para cancelar após o período de garantia, vá em Perfil" ⚖️ LÓGICA: - withinGuaranteePeriod === true → Botão visível - withinGuaranteePeriod === false → Botão oculto + alerta info 📄 Página /profile: - Cancelamento sempre disponível (sem restrição) - Wizard completo de 5 etapas - Sistema de retenção com oferta 🌍 i18n (3 idiomas): - pt-BR: "Para cancelar após o período de garantia, vá em Perfil" - ES: "Para cancelar después del período de garantía, ve a Perfil" - EN: "To cancel after the guarantee period, go to Profile" ✅ RESULTADO: - Garantia (0-7 dias): Cancelamento fácil em Billing - Após garantia: Cancelamento via Profile (wizard) |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .gitignore | ||
| eslint.config.js | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| vite.config.js | ||
React + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel (or oxc when used in rolldown-vite) for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
React Compiler
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
Expanding the ESLint configuration
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.