@@ -23,17 +23,25 @@ async function getErrorCodes() {
2323export 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
6472export 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}
0 commit comments