Sort project items alphabetically with rejected last

This commit is contained in:
Jurgis Sakalauskas
2025-10-18 10:59:19 +03:00
parent 16b65c3ff2
commit 95e50c718d
@@ -45,10 +45,21 @@ export function ProjectItemsSection({
const [showActiveOnly, setShowActiveOnly] = useState(false); const [showActiveOnly, setShowActiveOnly] = useState(false);
const displayItems = useMemo(() => { const displayItems = useMemo(() => {
if (!showActiveOnly) { const filtered = showActiveOnly
return items; ? items.filter((item) => item.status === 'active')
: items;
const createDisplayName = (item: Item) =>
item.manufacturer ? `${item.manufacturer} ${item.model}` : item.model;
return [...filtered].sort((first, second) => {
if (first.status !== second.status) {
return first.status === 'active' ? -1 : 1;
} }
return items.filter((item) => item.status === 'active'); return createDisplayName(first).localeCompare(createDisplayName(second), undefined, {
sensitivity: 'base'
});
});
}, [items, showActiveOnly]); }, [items, showActiveOnly]);
const mismatchedAttributes = useMemo(() => { const mismatchedAttributes = useMemo(() => {