import React from 'react' import { Col, FormCheck, FormGroup, FormSelect, Row } from 'react-bootstrap' import { setDataChannelSignaling, setEnabledDataChannel, setIgnoreDisconnectWebSocket, } from '@/app/actions' import { useAppDispatch, useAppSelector } from '@/app/hooks' import { DATA_CHANNEL_SIGNALING, IGNORE_DISCONNECT_WEBSOCKET } from '@/constants' import { checkFormValue, isFormDisabled } from '@/utils' import { TooltipFormLabel } from './TooltipFormLabel' const IgnoreDisconnectWebSocketForm: React.FC<{ disabled: boolean }> = (props) => { const ignoreDisconnectWebSocket = useAppSelector((state) => state.ignoreDisconnectWebSocket) const dispatch = useAppDispatch() const onChange = (event: React.ChangeEvent): void => { if (checkFormValue(event.target.value, IGNORE_DISCONNECT_WEBSOCKET)) { dispatch(setIgnoreDisconnectWebSocket(event.target.value)) } } return ( ignoreDisconnectWebSocket: {IGNORE_DISCONNECT_WEBSOCKET.map((value) => { return ( ) })} ) } const DataChannelSignalingForm: React.FC<{ disabled: boolean }> = (props) => { const dataChannelSignaling = useAppSelector((state) => state.dataChannelSignaling) const dispatch = useAppDispatch() const onChange = (event: React.ChangeEvent): void => { if (checkFormValue(event.target.value, DATA_CHANNEL_SIGNALING)) { dispatch(setDataChannelSignaling(event.target.value)) } } return ( dataChannelSignaling: {DATA_CHANNEL_SIGNALING.map((value) => { return ( ) })} ) } export const DataChannelForm: React.FC = () => { const enabledDataChannel = useAppSelector((state) => state.enabledDataChannel) const connectionStatus = useAppSelector((state) => state.soraContents.connectionStatus) const disabled = isFormDisabled(connectionStatus) const dispatch = useAppDispatch() const onChangeSwitch = (event: React.ChangeEvent): void => { dispatch(setEnabledDataChannel(event.target.checked)) } return ( <> {enabledDataChannel ? ( ) : null} ) }