import { Field } from "formik"; import type { FormTypes, InitialValuesFormErrors } from "../../../types/types"; import type { UseQueryResult } from "@tanstack/react-query"; import { useEffect, useMemo } from "react"; type ChannelFieldsProps = { values: FormTypes; errors: InitialValuesFormErrors; touched: { connectTimeoutSeconds?: boolean | undefined; readTimeoutSeconds?: boolean | undefined; }; outputData?: UseQueryResult; onSetFieldValue: (field: string, value: string, shouldValidate?: boolean | undefined) => void; }; const ChannelFields = ({ errors, touched, values, outputData, onSetFieldValue }: ChannelFieldsProps) => { const channelFieldsObject = useMemo(() => { return { connectTimeoutSeconds: outputData?.propConnectTimeoutSeconds?.value || 5, readTimeoutSeconds: outputData?.propReadTimeoutSeconds?.value || 15, backOfficeURL: outputData?.propBackofficeURL?.value || "", username: outputData?.propUsername?.value || "", password: outputData?.propPassword?.value || "", }; }, [outputData]); useEffect(() => { for (const [key, value] of Object.entries(channelFieldsObject)) { onSetFieldValue(key, value); } }, [channelFieldsObject, onSetFieldValue, outputData]); return (
{values.format.toLowerCase() === "utmc" && ( <>

{values.format} Constants

)} {values.format?.toLowerCase() === "bof2" && ( <>

{values.format} Constants

{values.format} Lane ID Config

)}
); }; export default ChannelFields;