import { SortableContext, horizontalListSortingStrategy } from '@dnd-kit/sortable'; import { FlexRender } from '@tanstack/react-table'; import { CSSProperties } from 'react'; import { getAccessibleColour } from '../../../../common/utils/styleUtils'; import { AppMode } from '../../../../ontimeConfig'; import type { CuesheetHeaderGroup } from '../cuesheetTable.features'; import { Draggable, SortableCell, TableCell } from './SortableCell'; import style from '../CuesheetTable.module.scss'; interface CuesheetHeaderProps { headerGroup: CuesheetHeaderGroup; cuesheetMode: AppMode; hideIndexColumn: boolean; } export function SortableCuesheetHeader({ headerGroup, cuesheetMode, hideIndexColumn }: CuesheetHeaderProps) { return ( {cuesheetMode === AppMode.Edit && } {!hideIndexColumn && ( # )} {headerGroup.headers.map((header) => { const customBackground = header.column.columnDef.meta?.colour; const canWrite = header.column.columnDef.meta?.canWrite; const customStyles: CSSProperties = { opacity: canWrite ? 1 : 0.6, }; if (customBackground) { const customColour = getAccessibleColour(customBackground); customStyles.backgroundColor = customColour.backgroundColor; customStyles.color = customColour.color; } return ( } > {header.isPlaceholder ? null : } ); })} ); } export function CuesheetHeader({ headerGroup, cuesheetMode, hideIndexColumn }: CuesheetHeaderProps) { return ( {cuesheetMode === AppMode.Edit && } {!hideIndexColumn && ( # )} {headerGroup.headers.map((header) => { const customBackground = header.column.columnDef.meta?.colour; const canWrite = header.column.columnDef.meta?.canWrite; const customStyles: CSSProperties = { opacity: canWrite ? 1 : 0.6, }; if (customBackground) { const customColour = getAccessibleColour(customBackground); customStyles.backgroundColor = customColour.backgroundColor; customStyles.color = customColour.color; } return ( } > {header.isPlaceholder ? null : } ); })} ); }