Skip to content

Commit 58ce525

Browse files
committed
add back error decoder
1 parent 552ce46 commit 58ce525

2 files changed

Lines changed: 24 additions & 14 deletions

File tree

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,25 @@ async function getErrorCodes() {
2323
export async function generateStaticParams() {
2424
const errorCodes = await getErrorCodes();
2525

26-
return Object.keys(errorCodes!).map((code) => ({
27-
errorCode: code,
28-
}));
26+
const staticParams = Object.keys(errorCodes!).map((code) => ({
27+
errorCode: [code],
28+
})) as Array<{errorCode: string[] | undefined}>;
29+
30+
staticParams.push({errorCode: undefined});
31+
32+
return staticParams;
2933
}
3034

31-
async function getErrorPageContent(params: {errorCode?: string}) {
32-
const errorCodes = await getErrorCodes();
35+
async function getErrorPageContent(params: {errorCode: string[]}) {
36+
if (params.errorCode?.length > 1) {
37+
notFound();
38+
}
39+
40+
const code = params.errorCode?.[0];
3341

34-
const code = params?.errorCode;
42+
const errorCodes = await getErrorCodes();
3543

36-
if (!code || !errorCodes?.[code]) {
44+
if (code && !errorCodes?.[code]) {
3745
notFound();
3846
}
3947

@@ -57,14 +65,14 @@ async function getErrorPageContent(params: {errorCode?: string}) {
5765
toc,
5866
meta,
5967
errorCode: code,
60-
errorMessage: errorCodes[code],
68+
errorMessage: code ? errorCodes![code] : null,
6169
};
6270
}
6371

6472
export default async function ErrorDecoderPage({
6573
params,
6674
}: {
67-
params: Promise<{errorCode?: string}>;
75+
params: Promise<{errorCode: string[]}>;
6876
}) {
6977
const {content, errorMessage, errorCode} = await getErrorPageContent(
7078
await params
@@ -73,7 +81,7 @@ export default async function ErrorDecoderPage({
7381
return (
7482
<ErrorDecoderProvider errorMessage={errorMessage} errorCode={errorCode}>
7583
<Page
76-
pathname={`/${errorCode}`}
84+
pathname={`/errors/${errorCode}`}
7785
toc={[]}
7886
meta={{
7987
title: errorCode
@@ -98,11 +106,13 @@ export async function generateMetadata({
98106
}) {
99107
const {errorCode} = await params;
100108

101-
const title = `Minified React error #${errorCode}`;
109+
const title = errorCode
110+
? `Minified React error #${errorCode}`
111+
: 'Minified Error Decoder';
102112

103113
return generateSeoMetadata({
104114
title,
105-
path: `/${errorCode}`,
115+
path: `errors/${errorCode}`,
106116
isHomePage: false,
107117
});
108118
}

src/components/ErrorDecoderProvider.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ export function ErrorDecoderProvider({
88
errorCode,
99
}: {
1010
children: React.ReactNode;
11-
errorMessage: string;
12-
errorCode: string;
11+
errorMessage: string | null;
12+
errorCode: string | null;
1313
}) {
1414
return (
1515
<ErrorDecoderContext.Provider value={{errorMessage, errorCode}}>

0 commit comments

Comments
 (0)