diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-07-29 15:03:25 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-07-29 15:03:25 +0200 |
| commit | 627f748e4bf2ec5b36fe9641018f55b6d54a67e1 (patch) | |
| tree | f233c91d4096129e5d3621ef3a239e51654b9ab7 | |
| parent | 63e003a718782e2ca3ffcb2d11b0be97560a7259 (diff) | |
fix: use category order when grouping items in list and catalog
| -rw-r--r-- | src/routes/+page.svelte | 9 | ||||
| -rw-r--r-- | src/routes/catalog/+page.svelte | 8 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index a151a9b..a395658 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -20,7 +20,14 @@ const key = item.categoryName ?? 'Non catégorisé'; (groups[key] ??= []).push(item); } - return Object.entries(groups); + const result: [string, typeof localItems][] = data.categories.map((cat) => [ + cat.name, + groups[cat.name] ?? [], + ]); + if (groups['Non catégorisé']?.length > 0) { + result.push(['Non catégorisé', groups['Non catégorisé']]); + } + return result; } async function handleAdd(redirectToEdit: boolean) { diff --git a/src/routes/catalog/+page.svelte b/src/routes/catalog/+page.svelte index 2079d12..3271fad 100644 --- a/src/routes/catalog/+page.svelte +++ b/src/routes/catalog/+page.svelte @@ -18,7 +18,13 @@ const key = item.categoryName ?? 'Non catégorisé'; (groups[key] ??= []).push(item); } - return Object.entries(groups); + const result: [string, typeof catalogItems][] = data.categories.map( + (cat) => [cat.name, groups[cat.name] ?? []], + ); + if (groups['Non catégorisé']?.length > 0) { + result.push(['Non catégorisé', groups['Non catégorisé']]); + } + return result; } </script> |
