import { Button, Chip, Tooltip, Dropdown, DropdownTrigger, DropdownPopover, DropdownMenu, DropdownItem } from '@heroui/react'; import { Moon, Sun, ChevronDown, LogOut, Settings } from 'lucide-react'; import { useTheme } from '../../hooks/useTheme'; import { useApp } from '../../context/AppContext'; import { AppAvatar } from '../shared/AppAvatar'; const navLabels: Record = { overview: 'Übersicht', tickets: 'Ticketsystem', supportlogin: 'Support Login', automod: 'Automod', welcome: 'Willkommen', dynamicvoice: 'Dynamic Voice', birthday: 'Birthday', reactionroles: 'Reaction Roles', statuspage: 'Statuspage', serverstats: 'Server Stats', register: 'Registrierung', music: 'Musik', settings: 'Einstellungen', modules: 'Module', events: 'Events', admin: 'Admin', }; export function Header() { const { dark, toggle } = useTheme(); const { guildName, statusMessage } = useHeaderData(); const { user, handleLogout, setSection, section } = useApp(); return (
{section !== 'overview' && ( <> / {navLabels[section] || section} )}
{statusMessage && ( {statusMessage} )} {dark ? 'Helles Design' : 'Dunkles Design'} {user?.username} setSection('settings')}> Einstellungen Abmelden
); } function useHeaderData() { const { guildInfo, guilds, currentGuildId, statusMessage } = useApp(); const selectedGuild = guilds.find((g) => g.id === currentGuildId); return { guildName: guildInfo?.name || selectedGuild?.name || 'Dashboard', statusMessage, }; }