import React from 'react'; import { observer } from 'mobx-react-lite'; import { useStore } from 'App/mstore'; import { Form, Input, Icon } from 'UI'; import { Button } from 'antd'; import { validateNumber } from 'App/validate'; import Select from 'Shared/Select'; import styles from './siteForm.module.css'; import { TFunction } from 'i18next'; import { useTranslation } from 'react-i18next'; const inputModeOptions = (t: TFunction) => [ { label: t('Record all inputs'), value: 'plain' }, { label: t('Ignore all inputs'), value: 'obscured' }, { label: t('Obscure all inputs'), value: 'hidden' }, ]; function GDPRForm(props) { const { t } = useTranslation(); const { projectsStore } = useStore(); const site = projectsStore.instance; const { gdpr } = site; const saving = false; // projectsStore.; const { editGDPR } = projectsStore; const { saveGDPR } = projectsStore; const onChange = ({ target: { name, value } }) => { if (name === 'sampleRate') { if (!validateNumber(value, { min: 0, max: 100 })) return; if (value.length > 1 && value[0] === '0') { value = value.slice(1); } } editGDPR({ [name]: value }); }; const onSampleRateBlur = ({ target: { name, value } }) => { // TODO: editState hoc if (value === '') { editGDPR({ sampleRate: 100 }); } }; const onChangeSelect = ({ name, value }) => { props.editGDPR({ [name]: value }); }; const onChangeOption = ({ target: { checked, name } }) => { editGDPR({ [name]: checked }); }; const onSubmit = (e) => { e.preventDefault(); void saveGDPR(site.id); }; return (
{site.host}
{t('Do not record any numeric text')}
{t( 'If enabled, OpenReplay will not record or store any numeric text for all sessions.', )}
{t('Block IP')}
); } export default observer(GDPRForm);