use deterministic returns

This commit is contained in:
skidoodle 2024-01-24 10:37:19 +01:00
parent 3991265add
commit 36a8fd8780

View file

@ -1,12 +1,33 @@
import { Footer } from '@/components/Footer' import { Footer } from '@/components/Footer'
import { Button } from '@nextui-org/button' import { Button } from '@nextui-org/button'
import Link from 'next/link'
import type { GetServerSideProps, GetServerSidePropsContext } from 'next' import type { GetServerSideProps, GetServerSidePropsContext } from 'next'
interface ErrorProps { interface ErrorProps {
statusCode: number statusCode: number
} }
const NotFound: React.FC = () => (
<>
<p className='mt-2'>Az keresett oldal nem található.</p>
<p className='mt-8 text-center'>
<Button color='primary' onPress={() => (window.location.href = '/')}>
Vissza
</Button>
</p>
</>
)
const Unexpected: React.FC = () => (
<>
<p className='mt-2'>Váratlan hiba történt.</p>
<p className='mt-8 text-center'>
<Button color='primary' onPress={() => (window.location.href = '/')}>
Vissza
</Button>
</p>
</>
)
const ErrorPage: React.FC<ErrorProps> = ({ statusCode }) => { const ErrorPage: React.FC<ErrorProps> = ({ statusCode }) => {
return ( return (
<> <>
@ -19,25 +40,14 @@ const ErrorPage: React.FC<ErrorProps> = ({ statusCode }) => {
<div className='flex flex-col items-center justify-center'> <div className='flex flex-col items-center justify-center'>
<div className='mt-5 mb-3'> <div className='mt-5 mb-3'>
<div className='text-2xl font-semibold text-gray-600'> <div className='text-2xl font-semibold text-gray-600'>
{statusCode == 404 ? ( {(() => {
<> switch (statusCode) {
<p className='mt-2'>Az keresett oldal nem található.</p> case 404:
<p className='mt-8 text-center'> return <NotFound />
<Button color='primary'> default:
<Link href='/'>{'Vissza'}</Link> return <Unexpected />
</Button> }
</p> })()}
</>
) : (
<>
<p className='mt-2'>Váratlan hiba történt.</p>
<p className='mt-8 text-center'>
<Button color='primary'>
<Link href='/'>{'Vissza'}</Link>
</Button>
</p>
</>
)}
</div> </div>
</div> </div>
</div> </div>