feat: added not-found and error pages
parent
4e417266c4
commit
478d986a7d
@ -0,0 +1,32 @@
|
||||
import { Header } from '../components/Header'
|
||||
|
||||
function splitFirst(s: string, sep: string): string[] {
|
||||
const i = s.indexOf(sep)
|
||||
|
||||
if (i === -1) {
|
||||
return [s, '']
|
||||
} else {
|
||||
return [s.substring(0, i), s.substring(i + sep.length)]
|
||||
}
|
||||
}
|
||||
|
||||
const defaultErrorMessage = <>Purtroppo c'è stato un errore inaspettato</>
|
||||
|
||||
export const ErrorPage = ({ url }: { url: string }) => {
|
||||
const query = Object.fromEntries(
|
||||
splitFirst(url, '?')[1]
|
||||
.split('&')
|
||||
.map(kv => splitFirst(kv, '='))
|
||||
.map(([k, v]) => [k, decodeURIComponent(v)])
|
||||
)
|
||||
|
||||
return (
|
||||
<>
|
||||
<Header />
|
||||
<main class="page-error">
|
||||
<div class="title">Errore</div>
|
||||
<p>{query.message.trim().length > 0 ? query.message : defaultErrorMessage}</p>
|
||||
</main>
|
||||
</>
|
||||
)
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
import { Header } from '../components/Header'
|
||||
|
||||
export const NotFoundPage = ({}) => {
|
||||
return (
|
||||
<>
|
||||
<Header />
|
||||
<main class="page-not-found">
|
||||
<div class="title">Pagina non trovata!</div>
|
||||
</main>
|
||||
</>
|
||||
)
|
||||
}
|
Loading…
Reference in New Issue