~3,470 new keys (5,770 total, EN=ES), ~115 more files wired. - nav + chromeUi: header, More menu, burger menu, footer, map toolbar widgets (sort/trust/weather), spot-type label helper. - placesUi: events, shops, tours, food. socialUi: crews, DMs, notifications, collectives, crew chat/coordinator. settingsUi: settings, auth/signup, onboarding, profile edit, legal. walletUi: wallet/Cashu, stash, mints, app shop, newsletter, community stats, leaderboards, profile. - Fixed 738 usages where an agent dropped the socialUi. prefix (caught by check:i18n).
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import { useSeoMeta } from "@unhead/react";
|
|
import { useLocation } from "react-router-dom";
|
|
import { useEffect } from "react";
|
|
import { useTranslation } from '@/contexts/language';
|
|
|
|
const NotFound = () => {
|
|
const location = useLocation();
|
|
const { t } = useTranslation();
|
|
|
|
useSeoMeta({
|
|
title: t('settingsUi.notFound.seoTitle'),
|
|
description: t('settingsUi.notFound.seoDescription'),
|
|
});
|
|
|
|
useEffect(() => {
|
|
console.error(
|
|
"404 Error: User attempted to access non-existent route:",
|
|
location.pathname
|
|
);
|
|
}, [location.pathname]);
|
|
|
|
return (
|
|
<div className="min-h-screen flex items-center justify-center bg-gray-100 dark:bg-gray-900">
|
|
<div className="text-center">
|
|
<h1 className="text-4xl font-bold mb-4 text-gray-900 dark:text-gray-100">404</h1>
|
|
<p className="text-xl text-gray-600 dark:text-gray-400 mb-4">{t('settingsUi.notFound.message')}</p>
|
|
<a href="/" className="text-blue-500 hover:text-blue-700 dark:text-blue-400 dark:hover:text-blue-300 underline">
|
|
{t('settingsUi.notFound.returnHome')}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default NotFound;
|