more queue related convergence for the future.

This commit is contained in:
legop3
2026-09-27 17:19:56 -04:00
parent 7231809140
commit 34936ab05c
54 changed files with 219 additions and 368 deletions
@@ -122,7 +122,7 @@ export default function PtzSpectatorCard() {
<article className="flex min-h-64 flex-col rounded-sm bg-zinc-900 p-0 sm:min-h-72">
<PtzLiveOrSnapshot label={label} />
<div className="min-h-0 flex-1 space-y-0.5 overflow-hidden p-1 text-xs">
<InfoRow label="Operator" value={ptz?.turn?.userLabels?.[ptz?.turn?.currentId] || 'none'} />
<InfoRow label="Operator" value={ptz?.turn?.queue?.find((entry) => entry.socketId === ptz.turn.currentId)?.name || 'none'} />
<InfoRow label="Remaining" value={formatRemaining(ptz?.turn?.deadline)} />
<InfoRow label="Queue" value={queueCount ? `${queueCount} waiting` : 'empty'} />
<InfoRow label="Spotlight" value={isSpotlightOn(ptz?.light) ? 'On' : 'Off'} />
+4 -8
View File
@@ -2,12 +2,8 @@
// Purpose: Defines the utils module and the local helpers/components used in this file.
// Scope: Keeps behavior unchanged while isolating this concern into a clear, single-responsibility unit.
export function formatDriverLabel({ roverId, session }) {
const activeDriverId = session?.activeDrivers?.[roverId] || null;
const user = (session?.users || []).find((entry) => entry.socketId === activeDriverId);
const label = user?.nickname || (activeDriverId ? activeDriverId.slice(0, 6) : 'No driver');
const mode = session?.mode;
const turnInfo = session?.turnQueues?.[roverId];
const driverText = mode === 'turns' && turnInfo?.current ? `${label} (turns)` : label;
return driverText;
const turn = session?.roster?.find((rover) => String(rover.id) === String(roverId))?.turn;
const driver = turn?.queue?.find((entry) => entry.socketId === turn.currentId);
const label = driver?.name || 'No driver';
return session?.mode === 'turns' && turn?.currentId ? `${label} (turns)` : label;
}