import Footer from 'components/layout/footer'; import Header from 'components/layout/header'; import { NextIntlClientProvider } from 'next-intl'; import { Inter } from 'next/font/google'; import { notFound } from 'next/navigation'; import { ReactNode } from 'react'; import './globals.css'; const { TWITTER_CREATOR, TWITTER_SITE, SITE_NAME } = process.env; export const metadata = { title: { default: SITE_NAME, template: `%s | ${SITE_NAME}` }, robots: { follow: true, index: true }, ...(TWITTER_CREATOR && TWITTER_SITE && { twitter: { card: 'summary_large_image', creator: TWITTER_CREATOR, site: TWITTER_SITE } }) }; const inter = Inter({ subsets: ['latin'], display: 'swap', variable: '--font-inter' }); export function generateStaticParams() { return [{locale: 'sv'}, {locale: 'en'}, {locale: 'nn'}]; } interface LocaleLayoutProps { children: ReactNode params: { locale: string } } export default async function LocaleLayout({children, params: {locale}}: LocaleLayoutProps) { let messages; try { messages = (await import(`../../messages/${locale}.json`)).default; } catch (error) { notFound(); } return (
{children}