"use client" import type { ReactNode } from "react" import { useAuth } from "@/lib/auth-context" import { Button } from "@/components/ui/button" import { Avatar, AvatarFallback } from "@/components/ui/avatar" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, DropdownMenuCheckboxItem, } from "@/components/ui/dropdown-menu" import { LogOut, User, Building2, Cpu } from "lucide-react" interface AppShellProps { children: ReactNode } export function AppShell({ children }: AppShellProps) { const { user, logout, rooms, updateRooms } = useAuth() const initials = user?.name ?.split(" ") .map((n) => n[0]) .join("") .toUpperCase() .slice(0, 2) || "" return (
Elektronikschule IT-Support-Portal
{user?.role === "LEHRKRAFT" ? ( ) : ( )} {user?.role === "LEHRKRAFT" ? "Lehrkraft" : "Raumbetreuer"}

{user?.name}

{user?.email}

{user?.role === "LEHRKRAFT" ? "Lehrkraft" : "Raumbetreuer"} {user?.role === "RAUMBETREUER" && user.supervisedRooms && ( {user.supervisedRooms.length} Betreute Räume Räume verwalten {rooms.map((room) => { const isChecked = user.supervisedRooms.some((r) => r.id === room.id) return ( { const currentIds = user.supervisedRooms.map((r) => r.id) let newIds if (checked) { newIds = [...currentIds, room.id] } else { newIds = currentIds.filter((id) => id !== room.id) } updateRooms(newIds) }} onSelect={(e) => e.preventDefault()} > {room.name} ) })} )} Abmelden
{children}
) }