Add RootProviders to global-error.tsx

This commit is contained in:
gbuomprisco
2025-03-31 14:06:55 +08:00
parent 6a06d6ef8e
commit 7b1e261750
2 changed files with 47 additions and 44 deletions

View File

@@ -10,6 +10,7 @@ import { Heading } from '@kit/ui/heading';
import { Trans } from '@kit/ui/trans';
import { SiteHeader } from '~/(marketing)/_components/site-header';
import { RootProviders } from '~/components/root-providers';
const GlobalErrorPage = ({
error,
@@ -23,61 +24,63 @@ const GlobalErrorPage = ({
return (
<html>
<body>
<div className={'flex h-screen flex-1 flex-col'}>
<SiteHeader />
<div
className={
'container m-auto flex w-full flex-1 flex-col items-center justify-center'
}
>
<div className={'flex flex-col items-center space-y-8'}>
<div>
<h1 className={'font-heading text-9xl font-semibold'}>
<Trans i18nKey={'common:errorPageHeading'} />
</h1>
</div>
<RootProviders>
<div className={'flex h-screen flex-1 flex-col'}>
<SiteHeader />
<div
className={
'container m-auto flex w-full flex-1 flex-col items-center justify-center'
}
>
<div className={'flex flex-col items-center space-y-8'}>
<div
className={
'flex max-w-xl flex-col items-center gap-y-2 text-center'
}
>
<div>
<Heading level={2}>
<Trans i18nKey={'common:genericError'} />
</Heading>
</div>
<p className={'text-muted-foreground text-lg'}>
<Trans i18nKey={'common:genericErrorSubHeading'} />
</p>
<div>
<h1 className={'font-heading text-9xl font-semibold'}>
<Trans i18nKey={'common:errorPageHeading'} />
</h1>
</div>
<div>
<Button
className={'w-full'}
variant={'default'}
onClick={reset}
<div className={'flex flex-col items-center space-y-8'}>
<div
className={
'flex max-w-xl flex-col items-center gap-y-2 text-center'
}
>
<ArrowLeft className={'mr-2 h-4'} />
<div>
<Heading level={2}>
<Trans i18nKey={'common:genericError'} />
</Heading>
</div>
<Trans i18nKey={'common:goBack'} />
</Button>
<p className={'text-muted-foreground text-lg'}>
<Trans i18nKey={'common:genericErrorSubHeading'} />
</p>
</div>
<Button className={'w-full'} variant={'outline'} asChild>
<Link href={'/contact'}>
<MessageCircle className={'mr-2 h-4'} />
<div className={'flex space-x-4'}>
<Button
className={'w-full'}
variant={'default'}
onClick={reset}
>
<ArrowLeft className={'mr-2 h-4'} />
<Trans i18nKey={'common:contactUs'} />
</Link>
</Button>
<Trans i18nKey={'common:goBack'} />
</Button>
<Button className={'w-full'} variant={'outline'} asChild>
<Link href={'/contact'}>
<MessageCircle className={'mr-2 h-4'} />
<Trans i18nKey={'common:contactUs'} />
</Link>
</Button>
</div>
</div>
</div>
</div>
</div>
</div>
</RootProviders>
</body>
</html>
);

View File

@@ -42,7 +42,7 @@ export function RootProviders({
theme = appConfig.theme,
children,
}: React.PropsWithChildren<{
lang: string;
lang?: string;
theme?: string;
}>) {
const i18nSettings = useMemo(() => getI18nSettings(lang), [lang]);