From 477fbbe6662f62f20a420986a50bd3c4576cba2e Mon Sep 17 00:00:00 2001 From: arc-alex Date: Sat, 4 Nov 2023 20:36:19 +0100 Subject: [PATCH] make subscription part of modal generic --- apps/client/src/common/api/ontimeApi.ts | 2 +- .../integration-modal/OscIntegration.tsx | 28 +++++++++++-------- ...ubscriptionRow.tsx => SubscriptionRow.tsx} | 15 +++++----- 3 files changed, 26 insertions(+), 19 deletions(-) rename apps/client/src/features/modals/integration-modal/{OscSubscriptionRow.tsx => SubscriptionRow.tsx} (88%) diff --git a/apps/client/src/common/api/ontimeApi.ts b/apps/client/src/common/api/ontimeApi.ts index 593f7d35d..11bef96a8 100644 --- a/apps/client/src/common/api/ontimeApi.ts +++ b/apps/client/src/common/api/ontimeApi.ts @@ -1,5 +1,5 @@ import axios from 'axios'; -import { Alias, OSCSettings, OscSubscription, ProjectData, Settings, UserFields, ViewSettings } from 'ontime-types'; +import { Alias, OSCSettings, Subscription, ProjectData, Settings, UserFields, ViewSettings, HTTPSettings } from 'ontime-types'; import { apiRepoLatest } from '../../externals'; import { InfoType } from '../models/Info'; diff --git a/apps/client/src/features/modals/integration-modal/OscIntegration.tsx b/apps/client/src/features/modals/integration-modal/OscIntegration.tsx index 2875e9aab..ab0e85f57 100644 --- a/apps/client/src/features/modals/integration-modal/OscIntegration.tsx +++ b/apps/client/src/features/modals/integration-modal/OscIntegration.tsx @@ -1,6 +1,6 @@ import { useEffect, useState } from 'react'; import { useForm } from 'react-hook-form'; -import type { OscSubscription } from 'ontime-types'; +import type { Subscription } from 'ontime-types'; import { TimerLifeCycle } from 'ontime-types'; import useOscSettings, { usePostOscSubscriptions } from '../../../common/hooks-query/useOscSettings'; @@ -8,7 +8,7 @@ import { useEmitLog } from '../../../common/stores/logger'; import ModalLoader from '../modal-loader/ModalLoader'; import OntimeModalFooter from '../OntimeModalFooter'; -import OscSubscriptionRow from './OscSubscriptionRow'; +import SubscriptionRow from './SubscriptionRow'; import styles from '../Modal.module.scss'; @@ -51,7 +51,7 @@ export default function OscIntegration() { register, reset, formState: { isSubmitting, isDirty, isValid }, - } = useForm({ + } = useForm({ defaultValues: data.subscriptions, values: data.subscriptions, resetOptions: { @@ -71,7 +71,7 @@ export default function OscIntegration() { reset(data.subscriptions); }; - const onSubmit = async (values: OscSubscription) => { + const onSubmit = async (values: Subscription) => { try { const subscriptions = { onLoad: values.onLoad ?? [], @@ -91,10 +91,10 @@ export default function OscIntegration() { if (isFetching) { return ; } - +const placeholder = 'OSC message' return (
- - - - - - void; - register: UseFormRegister; - control: Control; + register: UseFormRegister; + control: Control; + placeholder: string } -export default function OscSubscriptionRow(props: OscSubscriptionRowProps) { - const { cycle, title, subtitle, visible, setShowSection, register, control } = props; +export default function SubscriptionRow(props: SubscriptionRowProps) { + const { cycle, title, subtitle, visible, setShowSection, register, control , placeholder} = props; const { emitError } = useEmitLog(); const { fields, append, remove } = useFieldArray({ name: cycle, @@ -64,7 +65,7 @@ export default function OscSubscriptionRow(props: OscSubscriptionRowProps) { colorScheme='red' />