diff --git a/client/src/App.js b/client/src/App.js index 5bcdfe9..edfb32d 100644 --- a/client/src/App.js +++ b/client/src/App.js @@ -14,6 +14,7 @@ import Interview from './components/Interview/Interview'; import InstrucPage from './components/InstrucPage/InstrucPage'; import UserDetails from './components/UserDetails/UserDetails'; import DemoInterview from './components/Interview/DemoInterview'; +import PageNotFound from './components/PageNotFound'; function App() { @@ -38,6 +39,7 @@ function App() { } /> } /> } /> + } /> diff --git a/client/src/components/PageNotFound.js b/client/src/components/PageNotFound.js new file mode 100644 index 0000000..16c18d6 --- /dev/null +++ b/client/src/components/PageNotFound.js @@ -0,0 +1,71 @@ +import React from 'react'; +import { useNavigate } from 'react-router-dom'; + +const PageNotFound = () => { + const styles = { + container: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + minHeight: '100vh', + backgroundColor: '#f3f4f6', + padding: '0 16px', + }, + content: { + textAlign: 'center', + maxWidth: '28rem', + }, + title: { + fontSize: '4rem', + fontWeight: 700, + color: '#1f2937', + marginBottom: '0.5rem', + }, + subtitle: { + fontSize: '1.5rem', + fontWeight: 600, + color: '#4b5563', + marginBottom: '1rem', + }, + message: { + color: '#6b7280', + marginBottom: '2rem', + }, + button: { + display: 'inline-block', + padding: '0.5rem 1rem', + backgroundColor: '#2563eb', + color: 'white', + textDecoration: 'none', + borderRadius: '0.25rem', + fontWeight: 500, + cursor: 'pointer', + border: 'none', + }, + }; + + const navigate = useNavigate(); + + const handleClick = () => { + navigate('/'); + }; + + return ( +
+
+

404

+

Page Not Found

+

+ The page you are looking for might have been removed, had its name + changed, or is temporarily unavailable. +

+ +
+
+ ); +}; + +export default PageNotFound;