mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-16 21:03:29 +00:00
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { memo, use, useMemo } from 'react';
|
|
|
|
import EmptyPage from '../../common/components/state/EmptyPage';
|
|
import { PresetContext } from '../../common/context/PresetContext';
|
|
import { useRundownSelectionContext } from '../../common/context/RundownSelectionContext';
|
|
import useCustomFields from '../../common/hooks-query/useCustomFields';
|
|
import CuesheetDnd from './cuesheet-dnd/CuesheetDnd';
|
|
import { makeCuesheetColumns } from './cuesheet-table/cuesheet-table-elements/cuesheetColsFactory';
|
|
import CuesheetTable from './cuesheet-table/CuesheetTable';
|
|
import { useApplyCuesheetPolicy } from './useApplyCuesheetPolicy';
|
|
|
|
export default memo(CuesheetTableWrapper);
|
|
function CuesheetTableWrapper() {
|
|
const preset = use(PresetContext);
|
|
const { isLoadedRundown } = useRundownSelectionContext();
|
|
|
|
const { cuesheetMode, setCuesheetMode } = useApplyCuesheetPolicy(preset, { canRunMode: isLoadedRundown });
|
|
const { data: customFields, status: customFieldStatus } = useCustomFields();
|
|
|
|
const columns = useMemo(
|
|
() => makeCuesheetColumns(customFields, cuesheetMode, preset),
|
|
[customFields, cuesheetMode, preset],
|
|
);
|
|
|
|
const isLoading = !customFields || customFieldStatus === 'pending';
|
|
|
|
return (
|
|
<CuesheetDnd columns={columns}>
|
|
{isLoading ? (
|
|
<EmptyPage text='Loading...' />
|
|
) : (
|
|
<CuesheetTable
|
|
columns={columns}
|
|
cuesheetMode={cuesheetMode}
|
|
tableRoot='cuesheet'
|
|
setCuesheetMode={setCuesheetMode}
|
|
isCurrentRundown={isLoadedRundown}
|
|
/>
|
|
)}
|
|
</CuesheetDnd>
|
|
);
|
|
}
|