✨ Novo Sistema de Cancelamento com Retenção Inteligente - Wizard de 5 etapas com mensagens emocionais personalizadas - Oferta de 3 meses grátis para cancelamentos por preço (elegível se >= 3 meses pagos) - Cumprimento legal: período de garantia 7 dias com reembolso total - Rastreamento de ofertas em DB (impede reuso) - Analytics de cancelamentos (motivo, feedback, within_guarantee) 🎨 Frontend - CancellationWizard.jsx (1050+ linhas) com 5 steps - Profile.jsx com nova seção de assinatura - i18n completo em 3 idiomas (pt-BR, ES, EN) - 40+ traduções específicas 🔧 Backend - SubscriptionController: 4 novos métodos (eligibility, process, offer, execute) - PayPalService: suspensão temporária de assinatura - 2 novas tabelas: retention_offers, cancellations - Email de retenção emotivo em Blade ⚖️ Legal - 7 dias: cancelamento = reembolso total + acesso imediato termina - Após 7 dias: cancelamento = acesso até fim do período, sem reembolso - Grace period apropriado conforme período de garantia |
||
|---|---|---|
| .. | ||
| 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.