Implement basic structure

This commit is contained in:
Wouter van Veelen
2025-11-24 00:37:55 +01:00
parent 66dd292e00
commit 18bea1e786
5 changed files with 72 additions and 14 deletions

29
src/layout/TopBar.tsx Normal file
View File

@@ -0,0 +1,29 @@
import React, { type ReactElement } from 'react';
import { Box, Tab, Tabs } from '@mui/material';
import { useLocation, useNavigate } from 'react-router';
const ValidTabs = ['home', 'about', 'contact'] as const satisfies string[];
export function TopBar(): ReactElement {
const { pathname } = useLocation();
const navigate = useNavigate();
const selectedTab =
ValidTabs.find((tabName) => pathname.toLowerCase().startsWith('/' + tabName)) ??
ValidTabs[0];
return (
<Box sx={{ width: '100%', marginBottom: '10px', boxShadow: '0 3px 5px -5px white' }}>
<Tabs
variant='fullWidth'
centered
sx={{ fontSize: 32 }}
value={selectedTab}
onChange={(_, value) => navigate('/' + value)}
>
{ValidTabs.map((tab) => (
<Tab key={tab} label={tab} value={tab} />
))}
</Tabs>
</Box>
);
}