import React, { useEffect, useState } from 'react'; import { Icon, Toggler, Button, Input, Loader, Tooltip } from 'UI'; import { useStore } from 'App/mstore'; import { observer } from 'mobx-react-lite'; import { connect } from 'react-redux'; import cn from 'classnames'; function CaptureRate({ isAdmin = false }) { const { settingsStore } = useStore(); const [changed, setChanged] = useState(false); const [sessionSettings] = useState(settingsStore.sessionSettings); const [loading] = useState(settingsStore.loadingCaptureRate); const captureRate = sessionSettings.captureRate; const setCaptureRate = sessionSettings.changeCaptureRate; const captureAll = sessionSettings.captureAll; const setCaptureAll = sessionSettings.changeCaptureAll; useEffect(() => { settingsStore.fetchCaptureRate(); }, []); const changeCaptureRate = (input: string) => { setChanged(true); setCaptureRate(input); }; const toggleRate = () => { const newValue = !captureAll; setChanged(true); if (newValue === true) { const updateObj = { rate: '100', captureAll: true, }; settingsStore.saveCaptureRate(updateObj); } else { setCaptureAll(newValue); } }; return (

Capture Rate

The percentage of session you want to capture
100%
{!captureAll && (
) => changeCaptureRate(e.target.value)} value={captureRate.toString()} style={{ height: '38px', width: '100px' }} disabled={captureAll} min={0} max={100} />
of the sessions
)}
); } export default connect((state: any) => ({ isAdmin: state.getIn(['user', 'account', 'admin']) || state.getIn(['user', 'account', 'superAdmin']), }))(observer(CaptureRate));