// src/app/app.ts import { Component, Inject, PLATFORM_ID } from '@angular/core'; import { Router, NavigationEnd, RouterOutlet } from '@angular/router'; import { CommonModule } from '@angular/common'; import { Header } from './components/header/header'; import { FooterComponent } from './components/footer/footer'; @Component({ selector: 'app-root', standalone: true, imports: [ CommonModule, RouterOutlet, Header, FooterComponent ], templateUrl: './app.html', styleUrls: ['./app.scss'], }) export class AppComponent { isFullScreenPage = false; hideFooter = false; // ✅ páginas que devem esconder header/footer (tela cheia) private readonly fullScreenRoutes = ['/login', '/register']; // ✅ rotas internas (LOGADO) que devem esconder footer private readonly loggedPrefixes = [ '/geral', '/mureg', '/faturamento', '/dadosusuarios', '/vigencia', '/trocanumero', '/dashboard', // ✅ ADICIONADO: esconde footer na página de dashboard '/notificacoes', ]; constructor( private router: Router, @Inject(PLATFORM_ID) private platformId: object ) { this.router.events.subscribe((event) => { if (event instanceof NavigationEnd) { const rawUrl = event.urlAfterRedirects || event.url; // remove query/hash e barra final let url = rawUrl.split('?')[0].split('#')[0]; url = url.replace(/\/+$/, ''); this.isFullScreenPage = this.fullScreenRoutes.includes(url); const isLoggedRoute = this.loggedPrefixes.some( (p) => url === p || url.startsWith(p + '/') ); // ✅ footer some ao logar + também no login/register this.hideFooter = isLoggedRoute || this.isFullScreenPage; } }); } } // ✅ SSR espera importar { App } de './app/app' export { AppComponent as App };