diff --git a/portal/setup-wizard.html b/portal/setup-wizard.html index 955bd55..d69c739 100644 --- a/portal/setup-wizard.html +++ b/portal/setup-wizard.html @@ -2647,10 +2647,29 @@ // Group items by category let itemsByCategory = {}; + let assignedItemIds = new Set(); + categories.forEach(cat => { - itemsByCategory[cat.name] = items.filter(item => item.category === cat.name); + const catItems = items.filter(item => item.category === cat.name); + if (catItems.length > 0) { + itemsByCategory[cat.name] = catItems; + catItems.forEach(item => assignedItemIds.add(item.id)); + } }); + // Collect any items not assigned to a known category + const unassignedItems = items.filter(item => !assignedItemIds.has(item.id)); + if (unassignedItems.length > 0) { + // Group by their category name, or "Menu" if none + unassignedItems.forEach(item => { + const catName = item.category || 'Menu'; + if (!itemsByCategory[catName]) { + itemsByCategory[catName] = []; + } + itemsByCategory[catName].push(item); + }); + } + let itemsHtml = ''; for (const [catName, catItems] of Object.entries(itemsByCategory)) { if (catItems.length === 0) continue;