fix: prevent duplicate packing category names from merging — auto-append number — closes #100

This commit is contained in:
Maurice
2026-03-29 22:31:06 +02:00
parent 615c6bae58
commit e05e021f41

View File

@@ -651,9 +651,13 @@ export default function PackingListPanel({ tripId, items }: PackingListPanelProp
const handleAddNewCategory = async () => {
if (!newCatName.trim()) return
// Create a first item in the new category to make it appear
let catName = newCatName.trim()
// Allow duplicate display names — append invisible zero-width spaces to make unique internally
while (allCategories.includes(catName)) {
catName += '\u200B'
}
try {
await addPackingItem(tripId, { name: '...', category: newCatName.trim() })
await addPackingItem(tripId, { name: '...', category: catName })
setNewCatName('')
setAddingCategory(false)
} catch { toast.error(t('packing.toast.addError')) }