import React from 'react'; import { Trans } from 'react-i18next'; import { useSelector } from 'react-redux'; import { Field, reduxForm } from 'redux-form'; import i18next from 'i18next'; import cn from 'classnames'; import { getPathWithQueryString } from '../../../helpers/helpers'; import { CLIENT_ID_LINK, FORM_NAME, MOBILE_CONFIG_LINKS, STANDARD_HTTPS_PORT } from '../../../helpers/constants'; import { renderInputField, renderSelectField, toNumber } from '../../../helpers/form'; import { validateConfigClientId, validateServerName, validatePort, validateIsSafePort, } from '../../../helpers/validators'; import { RootState } from '../../../initialState'; const getDownloadLink = (host: any, clientId: any, protocol: any, invalid: any) => { if (!host || invalid) { return ( ); } const linkParams: { host: string, client_id?: string } = { host }; if (clientId) { linkParams.client_id = clientId; } return ( download_mobileconfig ); }; interface MobileConfigFormProps { invalid: boolean; } const MobileConfigForm = ({ invalid }: MobileConfigFormProps) => { const formValues = useSelector((state: RootState) => state.form[FORM_NAME.MOBILE_CONFIG]?.values); if (!formValues) { return null; } const { host, clientId, protocol, port } = formValues; const githubLink = ( text ); const getHostName = () => { if (port && port !== STANDARD_HTTPS_PORT && protocol === MOBILE_CONFIG_LINKS.DOH) { return `${host}:${port}`; } return host; }; return (
e.preventDefault()}>
{protocol === MOBILE_CONFIG_LINKS.DOH && (
)}
client_id_desc
{getDownloadLink(getHostName(), clientId, protocol, invalid)}
); }; export default reduxForm({ form: FORM_NAME.MOBILE_CONFIG })(MobileConfigForm);