mirror of
https://github.com/cpvalente/ontime.git
synced 2026-09-17 03:53:06 +00:00
48c76947c5
Editable panels now share a rundown scope for data, selection, and mutations; runtime-only views resolve the loaded rundown explicitly. This also prevents stale data while switching scopes and provides the Operator editor with its mutation scope.
50 lines
1.6 KiB
TypeScript
50 lines
1.6 KiB
TypeScript
import { CustomFields, ProjectData, RundownEntries, Settings, ViewSettings } from 'ontime-types';
|
|
|
|
import useCustomFields from '../../common/hooks-query/useCustomFields';
|
|
import { useLoadedRundown } from '../../common/hooks-query/useLoadedRundown';
|
|
import useProjectData from '../../common/hooks-query/useProjectData';
|
|
import useSettings from '../../common/hooks-query/useSettings';
|
|
import useViewSettings from '../../common/hooks-query/useViewSettings';
|
|
import { useViewOptionsStore } from '../../common/stores/viewOptions';
|
|
import { ViewData, aggregateQueryStatus } from '../utils/viewLoader.utils';
|
|
|
|
export interface TimerData {
|
|
customFields: CustomFields;
|
|
projectData: ProjectData;
|
|
isMirrored: boolean;
|
|
settings: Settings;
|
|
viewSettings: ViewSettings;
|
|
entries: RundownEntries;
|
|
}
|
|
|
|
export function useTimerData(): ViewData<TimerData> {
|
|
// persisted app state
|
|
const isMirrored = useViewOptionsStore((state) => state.mirror);
|
|
|
|
// HTTP API data
|
|
const { data: projectData, status: projectDataStatus } = useProjectData();
|
|
const { data: viewSettings, status: viewSettingsStatus } = useViewSettings();
|
|
const { data: settings, status: settingsStatus } = useSettings();
|
|
const { data: customFields, status: customFieldsStatus } = useCustomFields();
|
|
const { data: rundown, status: rundownStatus } = useLoadedRundown();
|
|
const { entries } = rundown;
|
|
|
|
return {
|
|
data: {
|
|
customFields,
|
|
projectData,
|
|
isMirrored,
|
|
settings,
|
|
viewSettings,
|
|
entries,
|
|
},
|
|
status: aggregateQueryStatus([
|
|
projectDataStatus,
|
|
viewSettingsStatus,
|
|
settingsStatus,
|
|
customFieldsStatus,
|
|
rundownStatus,
|
|
]),
|
|
};
|
|
}
|