diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index 35d47f8f..035bc1c5 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -1,4 +1,4 @@
-import { Routes, Route, Navigate } from 'react-router-dom';
+import { Routes, Route } from 'react-router-dom';
import { useEffect } from 'react';
import Home from './pages/Home';
import Debugger from './pages/Debugger';
@@ -22,6 +22,7 @@ import TaxComplianceWizard from './pages/TaxComplianceWizard';
import EmployeePortal from './pages/EmployeePortal';
import Login from './pages/Login';
import AuthCallback from './pages/AuthCallback';
+import NotFound from './pages/NotFound';
import { useTranslation } from 'react-i18next';
import { contractService } from './services/contracts';
@@ -219,7 +220,7 @@ function App() {
} />
} />
- } />
+ } />
);
}
diff --git a/frontend/src/locales/en/translation.json b/frontend/src/locales/en/translation.json
index b4f486f0..1218595b 100644
--- a/frontend/src/locales/en/translation.json
+++ b/frontend/src/locales/en/translation.json
@@ -124,6 +124,12 @@
"debuggerTitle": "Debugger view crashed",
"debuggerDescription": "Reset the debugger or navigate back to the main dashboard."
},
+ "notFound": {
+ "title": "Page Not Found",
+ "description": "The page you're looking for doesn't exist or has been moved.",
+ "goHome": "Go Home",
+ "helpCenter": "Help Center"
+ },
"connectAccount": {
"authenticated": "Authenticated",
"connect": "Connect",
diff --git a/frontend/src/locales/es/translation.json b/frontend/src/locales/es/translation.json
index b1083af9..458a2bbd 100644
--- a/frontend/src/locales/es/translation.json
+++ b/frontend/src/locales/es/translation.json
@@ -124,6 +124,12 @@
"debuggerTitle": "El depurador se bloqueó",
"debuggerDescription": "Reinicia el depurador o vuelve al panel principal."
},
+ "notFound": {
+ "title": "Página no encontrada",
+ "description": "La página que buscas no existe o ha sido movida.",
+ "goHome": "Ir al inicio",
+ "helpCenter": "Centro de ayuda"
+ },
"connectAccount": {
"authenticated": "Autenticado",
"connect": "Conectar",
diff --git a/frontend/src/pages/NotFound.tsx b/frontend/src/pages/NotFound.tsx
new file mode 100644
index 00000000..f8a5109d
--- /dev/null
+++ b/frontend/src/pages/NotFound.tsx
@@ -0,0 +1,44 @@
+import { Link } from 'react-router-dom';
+import { useTranslation } from 'react-i18next';
+
+export default function NotFound() {
+ const { t } = useTranslation();
+
+ return (
+
+
+
+ 404
+
+
{t('notFound.title')}
+
{t('notFound.description')}
+
+
+ {t('notFound.goHome')}
+
+
+ {t('nav.payroll')}
+
+
+ {t('employees.titleHighlight')}
+
+
+ {t('notFound.helpCenter')}
+
+
+
+
+ );
+}
\ No newline at end of file