Added fallback and avoid 404
This commit is contained in:
		
							parent
							
								
									4dd1782389
								
							
						
					
					
						commit
						935c364a71
					
				| @ -26,7 +26,7 @@ export default function FourOhFour(props: FourOhFourProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: FourOhFourProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: FourOhFourProps }> { | ||||
|   const props: FourOhFourProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|   }; | ||||
|  | ||||
							
								
								
									
										36
									
								
								src/pages/500.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								src/pages/500.tsx
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| import AppLayout from "components/AppLayout"; | ||||
| import ReturnButton, { | ||||
|   ReturnButtonType, | ||||
| } from "components/PanelComponents/ReturnButton"; | ||||
| import ContentPanel from "components/Panels/ContentPanel"; | ||||
| import { GetStaticPropsContext } from "next"; | ||||
| import { AppStaticProps, getAppStaticProps } from "queries/getAppStaticProps"; | ||||
| 
 | ||||
| interface FiveHundredProps extends AppStaticProps {} | ||||
| 
 | ||||
| export default function FiveHundred(props: FiveHundredProps): JSX.Element { | ||||
|   const { langui } = props; | ||||
|   const contentPanel = ( | ||||
|     <ContentPanel> | ||||
|       <h1>500 - Internal Server Error</h1> | ||||
|       <ReturnButton | ||||
|         href="/" | ||||
|         title="Home" | ||||
|         langui={langui} | ||||
|         displayOn={ReturnButtonType.both} | ||||
|       /> | ||||
|     </ContentPanel> | ||||
|   ); | ||||
|   return <AppLayout navTitle="500" contentPanel={contentPanel} {...props} />; | ||||
| } | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ notFound: boolean } | { props: FiveHundredProps }> { | ||||
|   const props: FiveHundredProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|   }; | ||||
|   return { | ||||
|     props: props, | ||||
|   }; | ||||
| } | ||||
| @ -80,7 +80,7 @@ export default function AccordsHandbook( | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: AccordsHandbookProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: AccordsHandbookProps }> { | ||||
|   const slug = "accords-handbook"; | ||||
|   const props: AccordsHandbookProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|  | ||||
| @ -224,7 +224,7 @@ export default function AboutUs(props: ContactProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: ContactProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: ContactProps }> { | ||||
|   const slug = "contact"; | ||||
|   const props: ContactProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|  | ||||
| @ -38,7 +38,7 @@ export default function AboutUs(props: AboutUsProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: AboutUsProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: AboutUsProps }> { | ||||
|   const props: AboutUsProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|   }; | ||||
|  | ||||
| @ -78,7 +78,7 @@ export default function SiteInformation(props: SiteInfoProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: SiteInfoProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: SiteInfoProps }> { | ||||
|   const slug = "legality"; | ||||
|   const props: SiteInfoProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|  | ||||
| @ -78,7 +78,7 @@ export default function SharingPolicy(props: SharingPolicyProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: SharingPolicyProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: SharingPolicyProps }> { | ||||
|   const slug = "sharing-policy"; | ||||
|   const props: SharingPolicyProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|  | ||||
| @ -24,7 +24,7 @@ export default function Archives(props: ArchivesProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: ArchivesProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: ArchivesProps }> { | ||||
|   const props: ArchivesProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|   }; | ||||
|  | ||||
| @ -22,9 +22,9 @@ export default function Chronicles(props: ChroniclesProps): JSX.Element { | ||||
|   ); | ||||
| } | ||||
| 
 | ||||
| export async function getStaticProps(context: GetStaticPropsContext): Promise<{ | ||||
|   props: ChroniclesProps; | ||||
| }> { | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ notFound: boolean } | { props: ChroniclesProps }> { | ||||
|   const props: ChroniclesProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|   }; | ||||
|  | ||||
| @ -134,17 +134,19 @@ export default function ContentIndex(props: ContentIndexProps): JSX.Element { | ||||
|   ); | ||||
| } | ||||
| 
 | ||||
| export async function getStaticProps(context: GetStaticPropsContext): Promise<{ | ||||
|   props: ContentIndexProps; | ||||
| }> { | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ notFound: boolean } | { props: ContentIndexProps }> { | ||||
|   const content = ( | ||||
|     await getContent({ | ||||
|       slug: context.params?.slug?.toString() ?? "", | ||||
|       language_code: context.locale ?? "en", | ||||
|     }) | ||||
|   ).contents.data[0].attributes; | ||||
|   if (!content) return { notFound: true }; | ||||
|   const props: ContentIndexProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|     content: ( | ||||
|       await getContent({ | ||||
|         slug: context.params?.slug?.toString() ?? "", | ||||
|         language_code: context.locale ?? "en", | ||||
|       }) | ||||
|     ).contents.data[0].attributes, | ||||
|     content: content, | ||||
|   }; | ||||
|   return { | ||||
|     props: props, | ||||
|  | ||||
| @ -246,7 +246,7 @@ export default function ContentRead(props: ContentReadProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: ContentReadProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: ContentReadProps }> { | ||||
|   const slug = context.params?.slug?.toString() ?? ""; | ||||
|   const content = ( | ||||
|     await getContentText({ | ||||
| @ -254,6 +254,7 @@ export async function getStaticProps( | ||||
|       language_code: context.locale ?? "en", | ||||
|     }) | ||||
|   ).contents.data[0]; | ||||
|   if (!content) return { notFound: true }; | ||||
|   const props: ContentReadProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|     content: content.attributes, | ||||
|  | ||||
| @ -101,7 +101,7 @@ export default function Contents(props: ContentsProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: ContentsProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: ContentsProps }> { | ||||
|   const contents = ( | ||||
|     await getContents({ | ||||
|       language_code: context.locale ?? "en", | ||||
|  | ||||
| @ -91,7 +91,7 @@ export default function Editor(props: EditorProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: EditorProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: EditorProps }> { | ||||
|   const props: EditorProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|   }; | ||||
|  | ||||
| @ -24,7 +24,7 @@ export default function Gallery(props: GalleryProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: GalleryProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: GalleryProps }> { | ||||
|   const props: GalleryProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|   }; | ||||
|  | ||||
| @ -54,7 +54,7 @@ export default function Home(props: HomeProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: HomeProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: HomeProps }> { | ||||
|   const slug = "home"; | ||||
|   const props: HomeProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|  | ||||
| @ -416,13 +416,14 @@ export default function LibrarySlug(props: LibrarySlugProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: LibrarySlugProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: LibrarySlugProps }> { | ||||
|   const item = ( | ||||
|     await getLibraryItem({ | ||||
|       slug: context.params?.slug?.toString() ?? "", | ||||
|       language_code: context.locale ?? "en", | ||||
|     }) | ||||
|   ).libraryItems.data[0]; | ||||
|   if (!item) return { notFound: true }; | ||||
|   const props: LibrarySlugProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|     item: item.attributes, | ||||
|  | ||||
| @ -146,13 +146,14 @@ export default function LibrarySlug(props: Props): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: Props }> { | ||||
| ): Promise<{ notFound: boolean } | { props: Props }> { | ||||
|   const item = ( | ||||
|     await getLibraryItemScans({ | ||||
|       slug: context.params?.slug?.toString() ?? "", | ||||
|       language_code: context.locale ?? "en", | ||||
|     }) | ||||
|   ).libraryItems.data[0]; | ||||
|   if (!item) return { notFound: true }; | ||||
|   const props: Props = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|     item: item.attributes, | ||||
|  | ||||
| @ -167,7 +167,7 @@ export default function Library(props: LibraryProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: LibraryProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: LibraryProps }> { | ||||
|   const props: LibraryProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|     items: ( | ||||
|  | ||||
| @ -22,7 +22,7 @@ export default function Merch(props: MerchProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: MerchProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: MerchProps }> { | ||||
|   const props: MerchProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|   }; | ||||
|  | ||||
| @ -146,7 +146,7 @@ export default function LibrarySlug(props: PostProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: PostProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: PostProps }> { | ||||
|   const slug = context.params?.slug?.toString() ?? ""; | ||||
|   const post = ( | ||||
|     await getPost({ | ||||
| @ -154,6 +154,7 @@ export async function getStaticProps( | ||||
|       language_code: context.locale ?? "en", | ||||
|     }) | ||||
|   ).posts.data[0]; | ||||
|   if (!post) return { notFound: true }; | ||||
|   const props: PostProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|     post: post.attributes, | ||||
|  | ||||
| @ -60,7 +60,7 @@ export default function News(props: NewsProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: NewsProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: NewsProps }> { | ||||
|   const props: NewsProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|     posts: await ( | ||||
|  | ||||
| @ -143,7 +143,7 @@ export default function Chronology(props: ChronologyProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: ChronologyProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: ChronologyProps }> { | ||||
|   const props: ChronologyProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|     chronologyItems: ( | ||||
|  | ||||
| @ -25,7 +25,7 @@ export default function Wiki(props: WikiProps): JSX.Element { | ||||
| 
 | ||||
| export async function getStaticProps( | ||||
|   context: GetStaticPropsContext | ||||
| ): Promise<{ props: WikiProps }> { | ||||
| ): Promise<{ notFound: boolean } | { props: WikiProps }> { | ||||
|   const props: WikiProps = { | ||||
|     ...(await getAppStaticProps(context)), | ||||
|   }; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 DrMint
						DrMint