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)' }}
/>
) : (
))}
)
}