feat: unify rundown features

This commit is contained in:
Carlos Valente
2026-01-13 21:47:55 +01:00
committed by Carlos Valente
parent c5045ad82e
commit d7af73d9ed
8 changed files with 829 additions and 508 deletions
@@ -114,21 +114,23 @@ export default function CuesheetTable({ columns, cuesheetMode, tableRoot = 'cues
setColumnSizing({});
}, [setColumnSizing]);
// in edit mode, we follow the cursor (e.g. from finder)
// Follow selection changes depending on mode
useEffect(() => {
if (virtuosoRef.current === null) {
return;
}
const targetId = cuesheetMode === AppMode.Edit ? cursor : selectedEventId;
const targetId = cuesheetMode === AppMode.Run ? selectedEventId : cursor ?? selectedEventId;
if (!targetId) {
return;
}
const eventIndex = data.findIndex((event) => event.id === targetId);
if (eventIndex !== -1) {
virtuosoRef.current.scrollToIndex({ index: eventIndex, behavior: 'smooth', align: 'center' });
if (eventIndex === -1) {
return;
}
virtuosoRef.current.scrollToIndex({ index: eventIndex, behavior: 'smooth', align: 'start', offset: -50 });
}, [cuesheetMode, data, selectedEventId, cursor]);
/**
@@ -45,7 +45,6 @@ export default function useFinder() {
const lastSearchString = useRef('');
const setSelectedEvents = useEventSelection((state) => state.setSelectedEvents);
const setScrollTargetId = useEventSelection((state) => state.setScrollTargetId);
const [collapsedGroups, setCollapsedGroups] = useSessionStorage<EntryId[]>({
// we ensure that this is unique to the rundown
@@ -235,9 +234,8 @@ export default function useFinder() {
// Then select the event
setSelectedEvents({ id: selectedEvent.id, index: selectedEvent.index, selectMode: 'click' });
setScrollTargetId(selectedEvent.id);
},
[collapsedGroups, setCollapsedGroups, setSelectedEvents, setScrollTargetId],
[collapsedGroups, setCollapsedGroups, setSelectedEvents],
);
/** clear results when source data changes */