mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-13 11:23:50 +00:00
026e24bf84
* feat: main src in backstage view * feat: main src in timeline view * feat: main src in countdown view * feat: main src in studio view * feat: hide past events in countdown view * notes can not be set as main src * feat: show group title as secondary src * chore: spelling Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com> --------- Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com>
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 useProjectData from '../../common/hooks-query/useProjectData';
|
|
import useRundown from '../../common/hooks-query/useRundown';
|
|
import useSettings from '../../common/hooks-query/useSettings';
|
|
import useViewSettings from '../../common/hooks-query/useViewSettings';
|
|
import { useViewOptionsStore } from '../../common/stores/viewOptions';
|
|
import { aggregateQueryStatus, ViewData } 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 } = useRundown();
|
|
const { entries } = rundown;
|
|
|
|
return {
|
|
data: {
|
|
customFields,
|
|
projectData,
|
|
isMirrored,
|
|
settings,
|
|
viewSettings,
|
|
entries,
|
|
},
|
|
status: aggregateQueryStatus([
|
|
projectDataStatus,
|
|
viewSettingsStatus,
|
|
settingsStatus,
|
|
customFieldsStatus,
|
|
rundownStatus,
|
|
]),
|
|
};
|
|
}
|