import { makeStyles } from '@material-ui/core' import * as R from 'ramda' import React, { useContext } from 'react' import { Table, THead, TBody, Tr, Td, Th } from 'src/components/fake-table/Table' import { Switch } from 'src/components/inputs' import { fromNamespace, toNamespace } from 'src/utils/config' import { startCase } from 'src/utils/string' import NotificationsCtx from '../NotificationsContext' const channelSize = 129 const sizes = { balance: 152, transactions: 184, compliance: 178, errors: 142, active: 263 } const width = R.sum(R.values(sizes)) + channelSize const Row = ({ namespace, forceDisable }) => { const { data: rawData, save: rawSave } = useContext(NotificationsCtx) const save = R.compose(rawSave(null), toNamespace(namespace)) const data = fromNamespace(namespace)(rawData) const disabled = forceDisable || !data || !data.active const Cell = ({ name, disabled }) => { const value = !!(data && data[name]) return ( { save({ [name]: event.target.checked }) }} value={value} /> ) } return ( {startCase(namespace)} ) } const useStyles = makeStyles({ mainTable: { width }, wizardTable: { width: 930 } }) const Setup = ({ wizard, forceDisable }) => { const widthAdjust = wizard ? 20 : 0 const classes = useStyles() return ( {Object.keys(sizes).map(it => ( ))}
Channel {startCase(it)}
) } export default Setup