From 5a5450d7efe40c3ed6a3531d6c1c3af18bc8e30a Mon Sep 17 00:00:00 2001 From: Carlos Valente Date: Sun, 8 Mar 2026 00:56:32 +0100 Subject: [PATCH] refactor: use Day type in client --- .../src/features/operator/operator-event/OperatorEvent.tsx | 7 ++++--- .../src/features/rundown/rundown-event/RundownEvent.tsx | 4 ++-- .../features/rundown/rundown-event/RundownEventInner.tsx | 4 ++-- .../rundown/rundown-event/composite/RundownEventChip.tsx | 5 +++-- apps/client/src/views/editor/title-list/TitleListItem.tsx | 4 ++-- apps/client/src/views/timeline/TimelineEntry.tsx | 5 +++-- 6 files changed, 16 insertions(+), 13 deletions(-) diff --git a/apps/client/src/features/operator/operator-event/OperatorEvent.tsx b/apps/client/src/features/operator/operator-event/OperatorEvent.tsx index 30bf6cc2a..69eb2e3fb 100644 --- a/apps/client/src/features/operator/operator-event/OperatorEvent.tsx +++ b/apps/client/src/features/operator/operator-event/OperatorEvent.tsx @@ -1,4 +1,5 @@ import { CSSProperties, memo, RefObject, SyntheticEvent } from 'react'; +import { Day } from 'ontime-types'; import { MILLIS_PER_MINUTE, MILLIS_PER_SECOND } from 'ontime-utils'; import DelayIndicator from '../../../common/components/delay-indicator/DelayIndicator'; @@ -20,7 +21,7 @@ interface OperatorEventProps { timeStart: number; duration: number; delay: number; - dayOffset: number; + dayOffset: Day; isLinkedToLoaded: boolean; isSelected: boolean; isPast: boolean; @@ -138,7 +139,7 @@ interface OperatorEventScheduleProps { isPast: boolean; isSelected: boolean; delay: number; - dayOffset: number; + dayOffset: Day; totalGap: number; isLinkedToLoaded: boolean; } @@ -173,7 +174,7 @@ function OperatorEventSchedule({ interface TimeUntilProps { timeStart: number; delay: number; - dayOffset: number; + dayOffset: Day; totalGap: number; isLinkedToLoaded: boolean; } diff --git a/apps/client/src/features/rundown/rundown-event/RundownEvent.tsx b/apps/client/src/features/rundown/rundown-event/RundownEvent.tsx index 5f30da54f..6c498c0e1 100644 --- a/apps/client/src/features/rundown/rundown-event/RundownEvent.tsx +++ b/apps/client/src/features/rundown/rundown-event/RundownEvent.tsx @@ -12,7 +12,7 @@ import { import { TbFlagFilled } from 'react-icons/tb'; import { useSortable } from '@dnd-kit/sortable'; import { CSS } from '@dnd-kit/utilities'; -import { EndAction, EntryId, Playback, TimerType, TimeStrategy } from 'ontime-types'; +import { Day, EndAction, EntryId, Playback, TimerType, TimeStrategy } from 'ontime-types'; import { isPlaybackActive } from 'ontime-utils'; import { useEntryActionsContext } from '../../../common/context/EntryActionsContext'; @@ -55,7 +55,7 @@ interface RundownEventProps { isRolling: boolean; gap: number; isNextDay: boolean; - dayOffset: number; + dayOffset: Day; totalGap: number; isLinkedToLoaded: boolean; hasTriggers: boolean; diff --git a/apps/client/src/features/rundown/rundown-event/RundownEventInner.tsx b/apps/client/src/features/rundown/rundown-event/RundownEventInner.tsx index 3552f5395..efd7bfcd5 100644 --- a/apps/client/src/features/rundown/rundown-event/RundownEventInner.tsx +++ b/apps/client/src/features/rundown/rundown-event/RundownEventInner.tsx @@ -10,7 +10,7 @@ import { IoTime, } from 'react-icons/io5'; import { LuArrowDownToLine } from 'react-icons/lu'; -import { EndAction, Playback, TimerType, TimeStrategy } from 'ontime-types'; +import { Day, EndAction, Playback, TimerType, TimeStrategy } from 'ontime-types'; import Tooltip from '../../../common/components/tooltip/Tooltip'; import { cx } from '../../../common/utils/styleUtils'; @@ -44,7 +44,7 @@ interface RundownEventInnerProps { loaded: boolean; playback?: Playback; isRolling: boolean; - dayOffset: number; + dayOffset: Day; isPast: boolean; totalGap: number; isLinkedToLoaded: boolean; diff --git a/apps/client/src/features/rundown/rundown-event/composite/RundownEventChip.tsx b/apps/client/src/features/rundown/rundown-event/composite/RundownEventChip.tsx index 944a25473..c4edc86c5 100644 --- a/apps/client/src/features/rundown/rundown-event/composite/RundownEventChip.tsx +++ b/apps/client/src/features/rundown/rundown-event/composite/RundownEventChip.tsx @@ -1,5 +1,6 @@ import { useMemo } from 'react'; import { IoCheckmarkCircle } from 'react-icons/io5'; +import { Day } from 'ontime-types'; import { isPlaybackActive, MILLIS_PER_MINUTE, MILLIS_PER_SECOND, millisToString } from 'ontime-utils'; import Tooltip from '../../../../common/components/tooltip/Tooltip'; @@ -14,7 +15,7 @@ interface RundownEventChipProps { id: string; timeStart: number; delay: number; - dayOffset: number; + dayOffset: Day; isPast: boolean; isLoaded: boolean; className: string; @@ -68,7 +69,7 @@ export default function RundownEventChip({ interface EventUntilProps { timeStart: number; delay: number; - dayOffset: number; + dayOffset: Day; totalGap: number; isLinkedToLoaded: boolean; } diff --git a/apps/client/src/views/editor/title-list/TitleListItem.tsx b/apps/client/src/views/editor/title-list/TitleListItem.tsx index 8d10d8ed6..199f413d0 100644 --- a/apps/client/src/views/editor/title-list/TitleListItem.tsx +++ b/apps/client/src/views/editor/title-list/TitleListItem.tsx @@ -1,5 +1,5 @@ import { memo, useCallback } from 'react'; -import { OntimeEvent } from 'ontime-types'; +import { Day, OntimeEvent } from 'ontime-types'; import { MILLIS_PER_MINUTE, MILLIS_PER_SECOND } from 'ontime-utils'; import Tooltip from '../../../common/components/tooltip/Tooltip'; @@ -78,7 +78,7 @@ function TitleListItem({ interface TitleListTimeUntilChipProps { timeStart: number; delay: number; - dayOffset: number; + dayOffset: Day; totalGap: number; isLinkedToLoaded: boolean; isLoaded: boolean; diff --git a/apps/client/src/views/timeline/TimelineEntry.tsx b/apps/client/src/views/timeline/TimelineEntry.tsx index 3efdfe9e2..2b9e2dd4b 100644 --- a/apps/client/src/views/timeline/TimelineEntry.tsx +++ b/apps/client/src/views/timeline/TimelineEntry.tsx @@ -1,4 +1,5 @@ import { RefObject } from 'react'; +import { Day } from 'ontime-types'; import { useExpectedStartData, useTimer } from '../../common/hooks/useSocket'; import { getProgress } from '../../common/utils/getProgress'; @@ -20,7 +21,7 @@ interface TimelineEntryProps { left: number; status: ProgressStatus; start: number; - dayOffset: number; + dayOffset: Day; totalGap: number; isLinkedToLoaded: boolean; title: string; @@ -119,7 +120,7 @@ export function TimelineEntry({ interface TimelineEntryStatusProps { delay: number; start: number; - dayOffset: number; + dayOffset: Day; totalGap: number; isLinkedToLoaded: boolean; status: ProgressStatus;