From 8df419d83588096b13d2db404da1817e7fa1bd35 Mon Sep 17 00:00:00 2001 From: Carlos Valente <34649812+cpvalente@users.noreply.github.com> Date: Thu, 29 Feb 2024 18:19:58 +0100 Subject: [PATCH] refactor: deprecate presenter and subtitle (#795) * refactor: deprecate presenter and subtitle * style: reduce spacing between related sections * refactor: optional secondary field * refactor: remove secondary field * refactor: dynamic data source --- .../common/components/schedule/Schedule.scss | 7 +- .../components/schedule/ScheduleContext.tsx | 2 +- .../components/schedule/ScheduleItem.tsx | 4 +- .../components/title-card/TitleCard.scss | 54 +- .../components/title-card/TitleCard.tsx | 16 +- .../view-params-editor/ParamInput.tsx | 2 +- .../ViewParamsEditor.module.scss | 6 +- .../view-params-editor/constants.ts | 486 ++++++++++-------- .../utils/__tests__/eventsManager.test.ts | 4 - apps/client/src/common/utils/eventsManager.ts | 2 - apps/client/src/common/utils/viewUtils.ts | 6 - .../__test__/importMapUtils.test.ts | 2 - .../import-map/importMapUtils.ts | 4 - .../sources-panel/preview/PreviewRundown.tsx | 4 - .../__snapshots__/utils.test.js.snap | 4 - .../features/cuesheet/__tests__/utils.test.js | 5 +- .../src/features/cuesheet/cuesheetCols.tsx | 15 +- .../src/features/cuesheet/cuesheetUtils.ts | 4 - apps/client/src/features/cuesheet/defaults.ts | 2 - .../client/src/features/operator/Operator.tsx | 8 +- .../operator-event/OperatorEvent.module.scss | 2 +- .../rundown/event-editor/EventEditor.tsx | 4 +- .../composite/EventEditorTimes.tsx | 4 +- .../composite/EventEditorTitles.tsx | 10 +- .../src/features/viewers/ViewWrapper.tsx | 67 ++- .../features/viewers/backstage/Backstage.tsx | 41 +- .../src/features/viewers/common/viewUtils.ts | 56 ++ .../features/viewers/common/viewerUtils.ts | 25 - .../viewers/lower-thirds/LowerThird.scss | 2 +- .../viewers/lower-thirds/LowerThird.tsx | 70 ++- .../viewers/minimal-timer/MinimalTimer.tsx | 3 +- .../src/features/viewers/public/Public.tsx | 28 +- .../features/viewers/studio/StudioClock.tsx | 2 +- .../src/features/viewers/timer/Timer.tsx | 47 +- .../integrationController.config.ts | 2 - apps/server/src/models/eventsDefinition.ts | 2 - .../__tests__/rundownCache.test.ts | 24 - .../__tests__/sheetUtils.test.ts | 23 - .../server/src/utils/__tests__/parser.test.ts | 44 -- apps/server/src/utils/parser.ts | 16 - apps/server/test-db/db.json | 110 ++-- demo-db/db.json | 98 ++-- ...le.spec.ts => 000-upload-showfile.spec.ts} | 0 ...-tests.spec.ts => 001-smoke-tests.spec.ts} | 0 ...on.spec.ts => 002-view-navigation.spec.ts} | 0 e2e/tests/features/202-cuesheet.spec.ts | 2 - e2e/tests/fixtures/test-db.json | 98 ++-- .../src/definitions/core/OntimeEvent.type.ts | 2 - .../__tests__/spreadsheetImport.test.ts | 4 - .../spreadsheet-import/spreadsheetImport.ts | 2 - test-db/db.json | 41 ++ 51 files changed, 735 insertions(+), 731 deletions(-) delete mode 100644 apps/client/src/common/utils/viewUtils.ts create mode 100644 apps/client/src/features/viewers/common/viewUtils.ts delete mode 100644 apps/client/src/features/viewers/common/viewerUtils.ts rename e2e/tests/{002-upload-showfile.spec.ts => 000-upload-showfile.spec.ts} (100%) rename e2e/tests/{000-smoke-tests.spec.ts => 001-smoke-tests.spec.ts} (100%) rename e2e/tests/{001-view-navigation.spec.ts => 002-view-navigation.spec.ts} (100%) create mode 100644 test-db/db.json diff --git a/apps/client/src/common/components/schedule/Schedule.scss b/apps/client/src/common/components/schedule/Schedule.scss index aa2e8d2ca..c7239904c 100644 --- a/apps/client/src/common/components/schedule/Schedule.scss +++ b/apps/client/src/common/components/schedule/Schedule.scss @@ -31,6 +31,12 @@ text-overflow: ellipsis; } + .entry-secondary { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + &:not(:last-child) { padding-bottom: 8px; } @@ -68,4 +74,3 @@ } } } - diff --git a/apps/client/src/common/components/schedule/ScheduleContext.tsx b/apps/client/src/common/components/schedule/ScheduleContext.tsx index 40497ee43..34337ce4e 100644 --- a/apps/client/src/common/components/schedule/ScheduleContext.tsx +++ b/apps/client/src/common/components/schedule/ScheduleContext.tsx @@ -2,8 +2,8 @@ import { createContext, PropsWithChildren, useContext, useState } from 'react'; import { useSearchParams } from 'react-router-dom'; import { OntimeEvent } from 'ontime-types'; +import { isStringBoolean } from '../../../features/viewers/common/viewUtils'; import { useInterval } from '../../hooks/useInterval'; -import { isStringBoolean } from '../../utils/viewUtils'; interface ScheduleContextState { events: OntimeEvent[]; diff --git a/apps/client/src/common/components/schedule/ScheduleItem.tsx b/apps/client/src/common/components/schedule/ScheduleItem.tsx index 102ee7f4c..a1029b51f 100644 --- a/apps/client/src/common/components/schedule/ScheduleItem.tsx +++ b/apps/client/src/common/components/schedule/ScheduleItem.tsx @@ -13,14 +13,13 @@ interface ScheduleItemProps { timeStart: number; timeEnd: number; title: string; - presenter?: string; backstageEvent: boolean; colour: string; skip: boolean; } export default function ScheduleItem(props: ScheduleItemProps) { - const { selected, timeStart, timeEnd, title, presenter, backstageEvent, colour, skip } = props; + const { selected, timeStart, timeEnd, title, backstageEvent, colour, skip } = props; const start = formatTime(timeStart, formatOptions); const end = formatTime(timeEnd, formatOptions); @@ -39,7 +38,6 @@ export default function ScheduleItem(props: ScheduleItemProps) {
(Component: ComponentType
) => { const { data: project } = useProjectData(); const { data: viewSettings } = useViewSettings(); const { data: settings } = useSettings(); + const { data: customFields } = useCustomFields(); const publicEvents = useMemo(() => { if (Array.isArray(rundownData)) { @@ -83,25 +95,26 @@ const withData =
(Component: ComponentType
) => {
return (