51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
import { useNavigate } from 'react-router-dom';
|
|
import { Container, Box, Typography, Button, Paper } from '@mui/material';
|
|
import { Home } from '@mui/icons-material';
|
|
|
|
function NotFound() {
|
|
const navigate = useNavigate();
|
|
|
|
return (
|
|
<Container component="main" maxWidth="sm">
|
|
<Box
|
|
sx={{
|
|
marginTop: 8,
|
|
display: 'flex',
|
|
flexDirection: 'column',
|
|
alignItems: 'center',
|
|
}}
|
|
>
|
|
<Paper
|
|
elevation={3}
|
|
sx={{
|
|
padding: 4,
|
|
display: 'flex',
|
|
flexDirection: 'column',
|
|
alignItems: 'center',
|
|
width: '100%',
|
|
}}
|
|
>
|
|
<Typography variant="h1" component="h1" color="error" gutterBottom>
|
|
404
|
|
</Typography>
|
|
<Typography variant="h5" component="h2" gutterBottom>
|
|
Seite nicht gefunden
|
|
</Typography>
|
|
<Typography variant="body1" color="text.secondary" sx={{ mb: 3 }}>
|
|
Die angeforderte Seite existiert nicht.
|
|
</Typography>
|
|
<Button
|
|
variant="contained"
|
|
startIcon={<Home />}
|
|
onClick={() => navigate('/dashboard')}
|
|
>
|
|
Zurück zum Dashboard
|
|
</Button>
|
|
</Paper>
|
|
</Box>
|
|
</Container>
|
|
);
|
|
}
|
|
|
|
export default NotFound;
|