mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-08 17:03:53 +00:00
67e67d6a5d
* fix error with is linked to loaded metadata * pass down metadata * create expected schedule * expected start in sub info * for singel subscribtions * refactor * add color to single events * refactor: clean up subscribtion data * show schedule and secondray data for single events * improve subscribtion data display
40 lines
1.5 KiB
TypeScript
40 lines
1.5 KiB
TypeScript
import { CustomFields, OntimeEntry, ProjectData, Settings } from 'ontime-types';
|
|
|
|
import useCustomFields from '../../common/hooks-query/useCustomFields';
|
|
import useProjectData from '../../common/hooks-query/useProjectData';
|
|
import { useFlatRundownWithMetadata } from '../../common/hooks-query/useRundown';
|
|
import useSettings from '../../common/hooks-query/useSettings';
|
|
import { useViewOptionsStore } from '../../common/stores/viewOptions';
|
|
import { ExtendedEntry } from '../../common/utils/rundownMetadata';
|
|
import { aggregateQueryStatus, ViewData } from '../utils/viewLoader.utils';
|
|
|
|
export interface CountdownData {
|
|
customFields: CustomFields;
|
|
rundownData: ExtendedEntry<OntimeEntry>[];
|
|
projectData: ProjectData;
|
|
isMirrored: boolean;
|
|
settings: Settings;
|
|
}
|
|
|
|
export function useCountdownData(): ViewData<CountdownData> {
|
|
// persisted app state
|
|
const isMirrored = useViewOptionsStore((state) => state.mirror);
|
|
|
|
// HTTP API data
|
|
const { data: rundownData, status: rundownStatus } = useFlatRundownWithMetadata();
|
|
const { data: projectData, status: projectDataStatus } = useProjectData();
|
|
const { data: settings, status: settingsStatus } = useSettings();
|
|
const { data: customFields, status: customFieldsStatus } = useCustomFields();
|
|
|
|
return {
|
|
data: {
|
|
customFields,
|
|
rundownData,
|
|
projectData,
|
|
isMirrored,
|
|
settings,
|
|
},
|
|
status: aggregateQueryStatus([rundownStatus, projectDataStatus, settingsStatus, customFieldsStatus]),
|
|
};
|
|
}
|