diff --git a/client/src/components/Budget/BudgetPanel.test.tsx b/client/src/components/Budget/BudgetPanel.test.tsx index c912d651..244cbc96 100644 --- a/client/src/components/Budget/BudgetPanel.test.tsx +++ b/client/src/components/Budget/BudgetPanel.test.tsx @@ -416,8 +416,8 @@ describe('BudgetPanel', () => { render(); await screen.findByText('Flight'); await screen.findByText('Hotel'); - // Grand total card shows 300.00 - expect(screen.getByText('300.00')).toBeInTheDocument(); + // Grand total card shows 300.00 (integer and decimal are rendered in separate spans) + expect(document.body.textContent?.replace(/\s+/g, '')).toMatch(/300[,.]00/); }); it('FE-COMP-BUDGET-033: read-only mode hides add/delete/edit controls', async () => { diff --git a/client/src/components/Packing/PackingListPanel.tsx b/client/src/components/Packing/PackingListPanel.tsx index 10803f68..887d36c2 100644 --- a/client/src/components/Packing/PackingListPanel.tsx +++ b/client/src/components/Packing/PackingListPanel.tsx @@ -730,9 +730,10 @@ interface PackingListPanelProps { tripId: number items: PackingItem[] openImportSignal?: number + inlineHeader?: boolean } -export default function PackingListPanel({ tripId, items, openImportSignal = 0 }: PackingListPanelProps) { +export default function PackingListPanel({ tripId, items, openImportSignal = 0, inlineHeader = true }: PackingListPanelProps) { const [filter, setFilter] = useState('alle') // 'alle' | 'offen' | 'erledigt' const [addingCategory, setAddingCategory] = useState(false) const [newCatName, setNewCatName] = useState('') @@ -1008,14 +1009,34 @@ export default function PackingListPanel({ tripId, items, openImportSignal = 0 }
{/* ── Header ── */} -
-
- {items.length > 0 ? ( -

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

- ) : } +
+
+ {inlineHeader ? ( +
+

{t('packing.title')}

+ {items.length > 0 && ( +

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

+ )} +
+ ) : ( + items.length > 0 ? ( +

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

+ ) : + )}
+ {inlineHeader && canEdit && ( + + )} {canEdit && abgehakt > 0 && (
- {subTab === 'packing' && } + {subTab === 'packing' && } {subTab === 'todo' && }