diff --git a/messages/en.json b/messages/en.json index ac88cc83..96925c48 100644 --- a/messages/en.json +++ b/messages/en.json @@ -112,6 +112,11 @@ "wallet": "Wallet" }, "Public": { + "404": { + "desc": "It looks like the page you were looking for retired early. Let’s get you back on track!", + "home": "Go Home", + "not-found": "Page Not Found" + }, "Footer": { "contact": "Contact", "copyright": "Copyright", diff --git a/messages/es.json b/messages/es.json index 98a1ed30..4cd5c534 100644 --- a/messages/es.json +++ b/messages/es.json @@ -112,6 +112,11 @@ "wallet": "Billetera" }, "Public": { + "404": { + "desc": "Parece que la página que estabas buscando se retiró antes de tiempo. ¡Vamos a ponerte de nuevo en marcha!", + "home": "Ir al Inicio", + "not-found": "Página No Encontrada" + }, "Footer": { "contact": "Contacto", "copyright": "Derechos de Autor", diff --git a/public/icons/error.svg b/public/icons/error.svg new file mode 100644 index 00000000..44dc2eff --- /dev/null +++ b/public/icons/error.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx new file mode 100644 index 00000000..2b6b1020 --- /dev/null +++ b/src/app/not-found.tsx @@ -0,0 +1,25 @@ +import Image from 'next/image'; +import Link from 'next/link'; +import { useTranslations } from 'next-intl'; + +import error from '/public/icons/error.svg'; +import { Button } from '@/components/ui/button-v2'; +import { ROUTES } from '@/utils/routes'; + +export default function NotFound() { + const t = useTranslations('Public.404'); + + return ( +
+ error + +

{t('not-found')}

+ +

{t('desc')}

+ + +
+ ); +}