diff --git a/frontend/src/components/layout/Sidebar.tsx b/frontend/src/components/layout/Sidebar.tsx index 21c5fe0..84138bf 100644 --- a/frontend/src/components/layout/Sidebar.tsx +++ b/frontend/src/components/layout/Sidebar.tsx @@ -1,7 +1,11 @@ +import { useState } from 'react' import { NavLink } from 'react-router-dom' import { useAuth } from '@/context/AuthContext' import { cn } from '@/lib/utils' import { Separator } from '@/components/ui/separator' +import { + Dialog, DialogContent, DialogHeader, DialogTitle, +} from '@/components/ui/dialog' import dakLogo from '@/assets/DAK_Best-Practice-768x768.png' import { LayoutDashboard, @@ -16,6 +20,8 @@ import { History, UserCog, ShieldCheck, + Scale, + ShieldAlert, } from 'lucide-react' interface NavItem { @@ -68,8 +74,14 @@ function NavItemLink({ item }: { item: NavItem }) { ) } +const legalLinks = [ + { label: 'Impressum', icon: Scale, url: 'https://complexcaresolutions.de/impressum/' }, + { label: 'Datenschutz', icon: ShieldAlert, url: 'https://www.complexcaresolutions.de/datenschutzerklaerung/' }, +] + export function Sidebar({ className }: { className?: string }) { const { user, isAdmin } = useAuth() + const [legalDialog, setLegalDialog] = useState<{ title: string; url: string } | null>(null) const filterItems = (items: NavItem[]) => items.filter((item) => { @@ -82,39 +94,72 @@ export function Sidebar({ className }: { className?: string }) { const visibleAccountItems = filterItems(accountNavItems) return ( - + + {/* Legal content dialog */} + { if (!open) setLegalDialog(null) }}> + + + {legalDialog?.title} + +