import type { Metadata, Viewport } from 'next'
import { Nunito } from 'next/font/google'
import { SwRegister } from '@/components/sw-register'
import './globals.css'

const nunito = Nunito({
  subsets: ['latin'],
  variable: '--font-nunito',
  display: 'swap',
})

export const metadata: Metadata = {
  // Trengs for at relative og:image-URL-er (MinIO-runden, ikke bygget ennå)
  // skal løses til en fullstendig URL -- uten denne advarer Next.js ved
  // build og faller tilbake til en gjettet verdi.
  metadataBase: new URL('https://teecup.golf'),
  title: 'TeeCup — Logg inn',
  description: 'Logg inn på TeeCup, din golfturnerings-app. Passordløs innlogging med magisk lenke.',
  generator: 'v0.app',
  icons: {
    icon: [
      {
        url: '/icon-light-32x32.png',
        media: '(prefers-color-scheme: light)',
      },
      {
        url: '/icon-dark-32x32.png',
        media: '(prefers-color-scheme: dark)',
      },
      {
        url: '/icon.svg',
        type: 'image/svg+xml',
      },
    ],
    apple: '/apple-icon.png',
  },
  // PWA-installasjon (ADR-028). iOS Safari leser ikke manifest.json for
  // «Legg til på hjemskjerm»-oppførsel -- disse Apple-spesifikke metafeltene
  // trengs i tillegg til selve manifestet (app/manifest.ts).
  appleWebApp: {
    capable: true,
    statusBarStyle: 'default',
    title: 'TeeCup',
  },
}

export const viewport: Viewport = {
  colorScheme: 'light dark',
  themeColor: [
    { media: '(prefers-color-scheme: light)', color: '#f3f6ec' },
    { media: '(prefers-color-scheme: dark)', color: '#131a0f' },
  ],
}

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode
}>) {
  return (
    <html lang="no" className={`${nunito.variable} bg-background`}>
      <body className="font-sans antialiased">
        <SwRegister />
        {children}
      </body>
    </html>
  )
}
