import { OntimeView } from 'ontime-types'; import { useMemo } from 'react'; import EmptyPage from '../../common/components/state/EmptyPage'; import ViewLogo from '../../common/components/view-logo/ViewLogo'; import ViewParamsEditor from '../../common/components/view-params-editor/ViewParamsEditor'; import { useWindowTitle } from '../../common/hooks/useWindowTitle'; import { cx } from '../../common/utils/styleUtils'; import { getDefaultFormat } from '../../common/utils/time'; import Loader from '../common/loader/Loader'; import { getStudioOptions, useStudioOptions } from './studio.options'; import StudioClock from './StudioClock'; import StudioTimers from './StudioTimers'; import { StudioData, useStudioData } from './useStudioData'; import './Studio.scss'; export default function StudioLoader() { const { data, status } = useStudioData(); useWindowTitle('Studio Clock'); if (status === 'pending') { return ; } if (status === 'error') { return ; } return ; } function Studio({ customFields, projectData, isMirrored, settings, viewSettings }: StudioData) { const { hideCards } = useStudioOptions(); // gather option data const defaultFormat = getDefaultFormat(settings?.timeFormat); const studioOptions = useMemo(() => getStudioOptions(defaultFormat, customFields), [defaultFormat, customFields]); return (
{projectData?.logo && }
{projectData.title}
{!hideCards && }
); }