// Home, mounted at `/` (default locale) and mirrored at `/de` by
// src/pages/[locale]/index.tsx. `renderMode = 'static'` pre-renders one
// HTML file per locale at build time.
//
// `meta` is a FUNCTION of `{ locale }` — that's what makes each variant's
//
/ localised in the pre-rendered HTML. A plain
// `meta` object would leave the head English on /de. `locale` is driven
// by params.locale on the [locale] route, defaultLocale on the bare path.
import type { ReactNode } from 'react'
import type { PageMeta } from '@voltro/web'
import { T, useT, useLocale } from '@voltro/i18n'
import { getCatalog } from '../lib/locale'
export const renderMode = 'static' as const
export const meta = ({ locale }: { locale: string }): PageMeta => {
const c = getCatalog(locale)
return {
title: c['meta.home.title'],
description: c['meta.home.description'],
}
}
export default function Index(): ReactNode {
const locale = useLocale()
// Imperative form for an attribute-ish string; for JSX.
const greeting = useT('home.title', { name: 'Voltro' })
return (
{greeting}
)
}