import React from 'react'; import { Check, X } from 'lucide-react'; import { useMobileActions } from '../context/MobileActionContext'; import { triggerHaptic } from '../lib/api'; interface MobileHeaderMenuProps { activeTabLabel: string; } export const MobileHeaderMenu: React.FC = ({ activeTabLabel }) => { const { groups, isMenuOpen, closeMenu } = useMobileActions(); if (!isMenuOpen) return null; return (
{/* Backdrop */}
{ triggerHaptic(8); closeMenu(); }} /> {/* Menu Sheet below Header */}
{/* Menu Header */}
{activeTabLabel} — Optionen & Aktionen
{groups.length === 0 ? (
Keine spezifischen Optionen für diese Ansicht verfügbar.
) : (
{groups.map((group) => (
{group.title && (
{group.title}
)}
{group.items.map((item) => { const isAccent = item.variant === 'accent'; const isDanger = item.variant === 'danger'; const isActive = item.active; let btnClass = 'bg-canvas/70 hover:bg-canvas text-main border border-border/60'; if (isAccent) { btnClass = 'bg-accent text-on-accent border border-accent font-semibold shadow-sm'; } else if (isDanger) { btnClass = 'bg-status-err/10 text-status-err border border-status-err/30 font-medium'; } else if (isActive) { btnClass = 'bg-accent/15 text-accent border border-accent/40 font-semibold'; } return ( ); })}
))}
)}
); };