import type { Metadata } from 'next'; import { Suspense } from 'react'; import { t } from '@/i18n'; import { api, isNotBuilt } from '@/lib/api'; import { grouped } from '@/lib/format'; import { CountryDirectory } from '@/components/countries/directory'; import { NotBuiltState } from '@/components/data/empty-state'; export const metadata: Metadata = { title: t('countries.title'), description: t('countries.sub', { n: 218 }), alternates: { canonical: '/countries' }, }; export const revalidate = 900; export default async function CountriesPage() { let items: Awaited>['items'] = []; let notBuilt = false; try { items = (await api.countries({ sort: 'name' })).items; } catch (e) { if (isNotBuilt(e)) notBuilt = true; else throw e; } return ( <>

{t('countries.title')}

{t('countries.sub', { n: grouped(items.length || 218) })}

{notBuilt ? ( ) : ( )} ); }