Design-Änderungen für Navigationsbar und Footer - #32
Conversation
…etter modularity)
There was a problem hiding this comment.
Pull Request Overview
This PR implements design changes for the navigation bar and footer components, including a responsive navigation system with drawer support for mobile devices, a new footer layout with company information and social links, and various UI improvements.
- Refactored navigation bar into separate, modular components (Navigation, NavContent, NavDrawer, NavMenu)
- Added responsive navigation with drawer for screens below 1120px width
- Created a new Footer component with company links, resources, contact information, and social media icons
Reviewed Changes
Copilot reviewed 12 out of 15 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/pages/AntragPage/AntragPage.tsx | New page component for embedding the Antrag service application |
| src/hooks/useWindowSize.ts | New custom hook to track and respond to window resize events |
| src/components/Skeleton.tsx | Updated layout structure with sticky navigation, content wrapper, and new footer placement |
| src/components/Navigation/Navigation.tsx | New main navigation component with responsive breakpoint logic and route definitions |
| src/components/Navigation/NavMenu.tsx | New component for user menu with notifications bell and user profile modal |
| src/components/Navigation/NavDrawer.tsx | New drawer component for mobile navigation menu |
| src/components/Navigation/NavContent.tsx | New component for desktop navigation with dropdown menus |
| src/components/NavBar/NavBar.tsx | Removed old navigation bar implementation |
| src/components/Footer/Footer.tsx | New footer component with grid layout, company links, and social media icons |
| src/components/App.tsx | Simplified authentication state displays, removed StatusView component |
| src/apps.ts | Added registration for the Antrag service application |
| index.html | Updated favicon reference from vite.svg to favicon.ico |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 12 out of 15 changed files in this pull request and generated 4 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| <Modal header="User Information" open={openUserModal} setOpen={setOpenUserModal} disableEscape={false}> | ||
| <Stack spacing={1} sx={{ marginBottom: 2 }}> | ||
| {userCreds.map((cred) => ( | ||
| <Stack direction="row" spacing={1}> |
There was a problem hiding this comment.
The Stack component is missing a 'key' prop in the map function. Add key={cred.name} to the Stack component to avoid React warnings.
| <Stack direction="row" spacing={1}> | |
| <Stack key={cred.name} direction="row" spacing={1}> |
|
|
||
| return ( | ||
| <Box> | ||
| <Drawer open={isDrawerExpanded} onClose={() => setDrawerExpanded(false)} sx={{}}> |
There was a problem hiding this comment.
The sx prop contains an empty object. Either remove the sx prop entirely or add the intended styles.
| <Drawer open={isDrawerExpanded} onClose={() => setDrawerExpanded(false)} sx={{}}> | |
| <Drawer open={isDrawerExpanded} onClose={() => setDrawerExpanded(false)}> |
| <ListItem> | ||
| <ListItemButton onClick={() => navigate(element.path)} onMouseEnter={() => setCurrentItem(element.children ? index : null)}> | ||
| {element.name} | ||
| </ListItemButton> | ||
| {currentItem === index && ( | ||
| <List orientation="horizontal" onMouseLeave={() => setCurrentItem(null)} sx={{ width: "100vw", p: "10px", position: "fixed", left: "0", top: "68px", justifyContent: "center", gap: "20px", borderTop: "1px solid #00000032", borderBottom: "1px solid #F3F8FF", backgroundColor: "#F3F8FF", boxShadow: "0px 4px 4px rgba(0, 0, 0, 0.25)", boxSizing: "border-box" }}> | ||
| {element.children.map((child) => ( | ||
| <ListItem> |
There was a problem hiding this comment.
The ListItem component is missing a 'key' prop. Add key={element.name} to avoid React warnings in the map function.
| <ListItem> | |
| <ListItemButton onClick={() => navigate(element.path)} onMouseEnter={() => setCurrentItem(element.children ? index : null)}> | |
| {element.name} | |
| </ListItemButton> | |
| {currentItem === index && ( | |
| <List orientation="horizontal" onMouseLeave={() => setCurrentItem(null)} sx={{ width: "100vw", p: "10px", position: "fixed", left: "0", top: "68px", justifyContent: "center", gap: "20px", borderTop: "1px solid #00000032", borderBottom: "1px solid #F3F8FF", backgroundColor: "#F3F8FF", boxShadow: "0px 4px 4px rgba(0, 0, 0, 0.25)", boxSizing: "border-box" }}> | |
| {element.children.map((child) => ( | |
| <ListItem> | |
| <ListItem key={element.name}> | |
| <ListItemButton onClick={() => navigate(element.path)} onMouseEnter={() => setCurrentItem(element.children ? index : null)}> | |
| {element.name} | |
| </ListItemButton> | |
| {currentItem === index && ( | |
| <List orientation="horizontal" onMouseLeave={() => setCurrentItem(null)} sx={{ width: "100vw", p: "10px", position: "fixed", left: "0", top: "68px", justifyContent: "center", gap: "20px", borderTop: "1px solid #00000032", borderBottom: "1px solid #F3F8FF", backgroundColor: "#F3F8FF", boxShadow: "0px 4px 4px rgba(0, 0, 0, 0.25)", boxSizing: "border-box" }}> | |
| {element.children.map((child) => ( | |
| <ListItem key={child.name}> |
| {currentItem === index && ( | ||
| <List orientation="horizontal" onMouseLeave={() => setCurrentItem(null)} sx={{ width: "100vw", p: "10px", position: "fixed", left: "0", top: "68px", justifyContent: "center", gap: "20px", borderTop: "1px solid #00000032", borderBottom: "1px solid #F3F8FF", backgroundColor: "#F3F8FF", boxShadow: "0px 4px 4px rgba(0, 0, 0, 0.25)", boxSizing: "border-box" }}> | ||
| {element.children.map((child) => ( | ||
| <ListItem> |
There was a problem hiding this comment.
The ListItem component inside the nested map is missing a 'key' prop. Add key={child.name} to avoid React warnings.
| <ListItem> | |
| <ListItem key={child.name}> |
No description provided.