mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-11 02:13:48 +00:00
1849b4d39f
* chore: migrate eslint to oxlint * chore: migrate prettier to oxfmt * chore: migrate typescript * chore: toThrow should have a expected value * chore: cast test value as Day * chore: small title fix * chore: mocks should be hoisted * chore: incorrect async useage * chore: test should be inside description * chore: test sohuld include an expeced * chore: oxfmt --------- Co-authored-by: alex-Arc <omnivox@LAPTOP-RC5SNBVV.localdomain>
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 { 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 } = useRundown();
|
|
const { entries } = rundown;
|
|
|
|
return {
|
|
data: {
|
|
customFields,
|
|
projectData,
|
|
isMirrored,
|
|
settings,
|
|
viewSettings,
|
|
entries,
|
|
},
|
|
status: aggregateQueryStatus([
|
|
projectDataStatus,
|
|
viewSettingsStatus,
|
|
settingsStatus,
|
|
customFieldsStatus,
|
|
rundownStatus,
|
|
]),
|
|
};
|
|
}
|