mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-08 00:43:54 +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>
39 lines
1.4 KiB
TypeScript
39 lines
1.4 KiB
TypeScript
import { CustomFields, ProjectData, Settings, ViewSettings } from 'ontime-types';
|
|
|
|
import useCustomFields from '../../common/hooks-query/useCustomFields';
|
|
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 StudioData {
|
|
customFields: CustomFields;
|
|
projectData: ProjectData;
|
|
isMirrored: boolean;
|
|
settings: Settings;
|
|
viewSettings: ViewSettings;
|
|
}
|
|
|
|
export function useStudioData(): ViewData<StudioData> {
|
|
// 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();
|
|
|
|
return {
|
|
data: {
|
|
customFields,
|
|
projectData,
|
|
isMirrored,
|
|
settings,
|
|
viewSettings,
|
|
},
|
|
status: aggregateQueryStatus([projectDataStatus, viewSettingsStatus, settingsStatus, customFieldsStatus]),
|
|
};
|
|
}
|