refactor: redesign planos interface with design system patterns

- Create CreatePlanModal component with Headless UI Dialog
- Implement dark mode support throughout plans UI
- Update plans/page.tsx with professional card layout
- Update plans/[id]/page.tsx with consistent styling
- Add proper spacing, typography, and color consistency
- Implement smooth animations and transitions
- Add success/error message feedback
- Improve form UX with better input styling
This commit is contained in:
Erik Silva
2025-12-13 19:26:38 -03:00
parent 2f1cf2bb2a
commit 2a112f169d
26 changed files with 2580 additions and 119 deletions

View File

@@ -69,18 +69,22 @@ export const SidebarRail: React.FC<SidebarRailProps> = ({
if (res.ok) {
const data = await res.json();
if (currentUser) {
// Usar localStorage como fallback se API não retornar logo
const cachedLogo = localStorage.getItem('agency-logo-url');
const finalLogoUrl = data.logo_url || cachedLogo;
const updatedUser = {
...currentUser,
company: data.name || currentUser.company,
logoUrl: data.logo_url
logoUrl: finalLogoUrl
};
setUser(updatedUser);
saveAuth(token, updatedUser); // Persistir atualização
// Atualizar localStorage do logo para uso do favicon
if (data.logo_url) {
console.log('📝 Salvando logo no localStorage:', data.logo_url);
localStorage.setItem('agency-logo-url', data.logo_url);
// Atualizar localStorage do logo (preservar se já existe)
if (finalLogoUrl) {
console.log('📝 Salvando logo no localStorage:', finalLogoUrl);
localStorage.setItem('agency-logo-url', finalLogoUrl);
window.dispatchEvent(new Event('auth-update')); // Notificar favicon
window.dispatchEvent(new Event('branding-update')); // Notificar AgencyBranding
}