From 9b673cb8bc0fb83c95678bbe617705ae514eb79f Mon Sep 17 00:00:00 2001 From: Tim McCarthy Date: Fri, 4 Sep 2026 19:40:10 -0700 Subject: [PATCH] Keep crew roster order stable across role changes --- TODO.md | 2 +- frontend/src/components/CrewSidebar.svelte | 3 +-- frontend/src/components/scene/CrewColumn.svelte | 4 +--- frontend/src/lib/changelog.js | 3 ++- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/TODO.md b/TODO.md index e907d9c..ea7027c 100644 --- a/TODO.md +++ b/TODO.md @@ -28,7 +28,7 @@ ## Unknown - need to clarify what these mean - [ ] Temporary names -- [ ] Consistent player list order +- [x] Consistent player list order - [ ] Crew objectives reveal area should be connected to button ## Fixes diff --git a/frontend/src/components/CrewSidebar.svelte b/frontend/src/components/CrewSidebar.svelte index 0494f32..4bbc105 100644 --- a/frontend/src/components/CrewSidebar.svelte +++ b/frontend/src/components/CrewSidebar.svelte @@ -8,7 +8,6 @@ let openTargetId = null; $: captainId = state.game.captain_player_id; - $: crew = [...state.players].sort((a, b) => (a.role === 'deep' ? 1 : 0) - (b.role === 'deep' ? 1 : 0)); $: openTarget = openTargetId ? state.players.find(p => p.id === openTargetId) : null; function iconFor(p) { @@ -64,7 +63,7 @@