import React, { useState } from 'react' import { connect } from 'react-redux'; import { editGDPR, saveGDPR } from 'Duck/site'; import copy from 'copy-to-clipboard'; import { Checkbox } from 'UI'; import GDPR from 'Types/site/gdpr'; import cn from 'classnames' import styles from './projectCodeSnippet.module.css' import Highlight from 'react-highlight' import Select from 'Shared/Select' import CodeSnippet from '../../CodeSnippet'; const inputModeOptions = [ { label: 'Record all inputs', value: 'plain' }, { label: 'Ignore all inputs', value: 'obscured' }, { label: 'Obscure all inputs', value: 'hidden' }, ]; const inputModeOptionsMap = {} inputModeOptions.forEach((o, i) => inputModeOptionsMap[o.value] = i) const ProjectCodeSnippet = props => { const { gdpr, site } = props; const [changed, setChanged] = useState(false) const [copied, setCopied] = useState(false) const codeSnippet = ` `; const saveGDPR = (value) => { setChanged(true) props.saveGDPR(site.id, GDPR({...value})); } const onChangeSelect = ({ name, value }) => { const { gdpr } = site; props.editGDPR({ [ name ]: value }); saveGDPR({ ...gdpr, [ name ]: value }); }; const onChangeOption = ({ target: { name, checked }}) => { const { gdpr } = props.site; const _gdpr = { ...gdpr.toData() }; _gdpr[name] = checked; props.editGDPR({ [ name ]: checked }); saveGDPR(_gdpr) } const getOptionValues = () => { const { gdpr } = props.site; return (!!gdpr.maskEmails)|(!!gdpr.maskNumbers << 1)|(['plain' , 'obscured', 'hidden'].indexOf(gdpr.defaultInputMode) << 5)|28 } const getCodeSnippet = site => { let snippet = codeSnippet; if (site && site.id) { snippet = snippet.replace('PROJECT_KEY', site.projectKey); } return snippet //.replace('XXX', getOptionValues()) //.replace('HOST', site && site.host); } const copyHandler = (code) => { setCopied(true); copy(code); setTimeout(() => { setCopied(false); }, 1000); }; const _snippet = getCodeSnippet(site); return (
1. Choose data recording options