import { X, Check, CheckCheck, Luggage, Package, FolderPlus, Upload, } from 'lucide-react' import type { PackingState } from './usePackingListPanel' export function PackingHeader(S: PackingState) { const { inlineHeader, t, items, abgehakt, fortschritt, canEdit, isAdmin, showSaveTemplate, saveTemplateName, setSaveTemplateName, handleSaveAsTemplate, setShowSaveTemplate, setShowImportModal, handleClearChecked, availableTemplates, templateDropdownRef, showTemplateDropdown, setShowTemplateDropdown, applyingTemplate, handleApplyTemplate, bagTrackingEnabled, showBagModal, setShowBagModal, addingCategory, newCatName, setNewCatName, handleAddNewCategory, setAddingCategory, } = S return (
{inlineHeader ? (

{t('packing.title')}

{items.length > 0 && (

{t('packing.progress', { packed: abgehakt, total: items.length, percent: fortschritt })}

)}
) : }
{canEdit && isAdmin && items.length > 0 && showSaveTemplate && (
setSaveTemplateName(e.target.value)} onKeyDown={e => { if (e.key === 'Enter') handleSaveAsTemplate(); if (e.key === 'Escape') { setShowSaveTemplate(false); setSaveTemplateName('') } }} placeholder={t('packing.templateName')} style={{ fontSize: 12, padding: '5px 10px', borderRadius: 99, border: '1px solid var(--border-primary)', outline: 'none', fontFamily: 'inherit', width: 140, background: 'var(--bg-card)', color: 'var(--text-primary)' }} />
)} {inlineHeader && canEdit && ( )} {inlineHeader && canEdit && abgehakt > 0 && ( )} {inlineHeader && canEdit && availableTemplates.length > 0 && (
{showTemplateDropdown && (
{availableTemplates.map(tmpl => ( ))}
)}
)} {inlineHeader && canEdit && isAdmin && items.length > 0 && !showSaveTemplate && ( )} {bagTrackingEnabled && ( )}
{items.length > 0 && (
{fortschritt === 100 ? (
{t('packing.allPacked')}
) : (
{abgehakt} /{items.length}
{fortschritt}%
)}
)} {canEdit && (addingCategory ? (
setNewCatName(e.target.value)} onKeyDown={e => { if (e.key === 'Enter') handleAddNewCategory(); if (e.key === 'Escape') { setAddingCategory(false); setNewCatName('') } }} placeholder={t('packing.newCategoryPlaceholder')} style={{ flex: 1, padding: '8px 12px', borderRadius: 10, border: '1px solid var(--border-primary)', fontSize: 13.5, fontFamily: 'inherit', outline: 'none', color: 'var(--text-primary)' }} />
) : ( ))}
) }