diff --git a/apps/ottabase-template-app-nextjs-homepage/app/layout.tsx b/apps/ottabase-template-app-nextjs-homepage/app/layout.tsx index 356d2946a..f71611cc4 100644 --- a/apps/ottabase-template-app-nextjs-homepage/app/layout.tsx +++ b/apps/ottabase-template-app-nextjs-homepage/app/layout.tsx @@ -1,32 +1,27 @@ import { buildCriticalCSS } from '@ottabase/brand-engine'; import type { Metadata } from 'next'; +import { siteContent, homePage } from '../config/landing.config'; import { generateBrandConfig } from '../lib/brand-server'; import './globals.css'; import { Providers } from './providers'; export const metadata: Metadata = { - title: 'Ottabase Next.js Homepage Template', - description: 'A barebone Next.js homepage template with OpenNext and Cloudflare Workers deployment', + title: homePage.title || siteContent.name, + description: homePage.metaDescription || siteContent.tagline, keywords: ['nextjs', 'cloudflare', 'workers', 'opennext', 'homepage', 'template', 'brand-engine'], robots: 'index, follow', - authors: [{ name: 'Ottabase' }], + authors: [{ name: siteContent.name }], }; export default function RootLayout({ children }: { children: React.ReactNode }) { - // Generate brand config server-side (SSR) - // Note: Using 'light' for initial SSR. BrandProvider will handle dynamic theme switching on client. const brandConfig = generateBrandConfig('light'); const theme = brandConfig.brandKitsMap.default.theme; - - // Generate critical CSS for SSR (prevents FOUC) const criticalCSS = buildCriticalCSS(theme); return ( - {/* Inject critical CSS for theme variables */}