import { Metadata } from 'next';
import { getAgencyLogo, getAgencyColors } from '@/lib/server-api';
import { AgencyLayoutClient } from './AgencyLayoutClient';

// Forçar renderização dinâmica (não estática) para este layout
// Necessário porque usamos headers() para pegar o subdomínio
export const dynamic = 'force-dynamic';

/**
 * generateMetadata - Executado no servidor antes do render
 * Define o favicon dinamicamente baseado no subdomínio da agência
 */
export async function generateMetadata(): Promise<Metadata> {
    const logoUrl = await getAgencyLogo();

    return {
        icons: {
            icon: logoUrl || '/favicon.ico',
            shortcut: logoUrl || '/favicon.ico',
            apple: logoUrl || '/favicon.ico',
        },
    };
}

export default async function AgencyLayout({
    children,
}: {
    children: React.ReactNode;
}) {
    // Buscar cores da agência no servidor
    const colors = await getAgencyColors();

    return <AgencyLayoutClient colors={colors}>{children}</AgencyLayoutClient>;
}
