import { Helmet } from 'react-helmet-async' import nikumaru from '@/assets/fonts/nikumaru.otf' import errorImg from '@/assets/images/not-found.gif' import MainArea from '@/components/layout/MainArea' import { SITE_TITLE } from '@/config' import type { FC } from 'react' type Props = { status: number } export default (({ status }: Props) => { const [message, rightMsg, leftMsg]: [string, string, string] = (() => { switch (status) { case 403: return ['権限ないよ(笑)', '帰れ!', '帰れ!'] case 404: return ['ページないよ(笑)', '帰れ!', '帰れ!'] case 500: return ['鯖でエラー出たって(嘲笑)', '管理人に', '聯絡を!'] case 503: return ['鯖死んでるよ(泣)', '管理人に', '聯絡を!'] default: throw new Error } }) () const title = message.replaceAll ('(', ' (').replaceAll (')', ')') const style = document.createElement ('style') style.innerHTML = ` @font-face { font-family: 'Nikumaru'; src: url(${ nikumaru }) format('opentype'); }` document.head.appendChild (style) return ( {title} | {SITE_TITLE}

{status}

{leftMsg}

逃げたギター

{rightMsg}

{message}

) }) satisfies FC