fix: keep Holo-work rows stable until sorting is reapplied
Publish GitHub Pages output / publish (push) Successful in 31s

This commit is contained in:
2026-09-14 11:26:02 +09:00
parent dd37f59565
commit 238b9a9913
4 changed files with 56 additions and 5 deletions
+11
View File
@@ -0,0 +1,11 @@
export type HoloWorkSort = 'member' | 'asc' | 'desc';
/** A fresh ordering snapshot; subsequent count edits do not move its rows. */
export function sortHoloWorkMembers<T extends { id: string; order: number }>(
members: readonly T[], counts: Readonly<Record<string, number>>, sort: HoloWorkSort
): T[] {
return [...members].sort((a, b) => {
const difference = (counts[a.id] ?? 0) - (counts[b.id] ?? 0);
return (sort === 'asc' ? difference : sort === 'desc' ? -difference : 0) || a.order - b.order;
});
}