From c966009ab5b7748b154129270503f1678138eef9 Mon Sep 17 00:00:00 2001 From: Felix Zett Date: Sun, 31 Aug 2025 19:48:52 +0200 Subject: [PATCH] feat: add normalization and sorting of items by name in ItemsPage --- frontend/src/pages/ItemsPage.tsx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/ItemsPage.tsx b/frontend/src/pages/ItemsPage.tsx index 9692574..eaacb9c 100644 --- a/frontend/src/pages/ItemsPage.tsx +++ b/frontend/src/pages/ItemsPage.tsx @@ -12,6 +12,13 @@ import { import ItemList from "../components/ItemList"; import TagFilter from "../components/TagFilter"; +function normalizeName(name: string): string { + return name + .replace(/\{.*?\}/g, "") // {...} entfernen + .replace(/[^\p{L}\p{N}]/gu, "") // alles außer Unicode-Buchstaben/Zahlen entfernen + .toLowerCase(); +} + export default function ItemsPage() { const [items, setItems] = useState([]); const [tags, setTags] = useState([]); @@ -73,7 +80,12 @@ export default function ItemsPage() { return matchesText && matchesTags; }); - return ( + // Sortieren nach bereinigtem Namen + const sortedItems = [...filteredItems].sort((a, b) => + normalizeName(a.name).localeCompare(normalizeName(b.name)) + ); + + return (

Items

@@ -97,7 +109,7 @@ export default function ItemsPage() {

Lade...

) : (