import React from 'react'; import PropTypes from 'prop-types'; import { useSelector } from 'react-redux'; import { ALERT_TYPES } from '../../../../../shared/constants/alerts'; import Tooltip from '../../../components/ui/tooltip'; import ToggleButton from '../../../components/ui/toggle-button'; import { setAlertEnabledness } from '../../../store/actions'; import { getAlertEnabledness } from '../../../ducks/metamask/metamask'; import { useI18nContext } from '../../../hooks/useI18nContext'; const AlertSettingsEntry = ({ alertId, description, title }) => { const t = useI18nContext(); const isEnabled = useSelector((state) => getAlertEnabledness(state)[alertId]); return ( <> {title} setAlertEnabledness(alertId, !isEnabled)} value={isEnabled} /> > ); }; AlertSettingsEntry.propTypes = { alertId: PropTypes.string.isRequired, description: PropTypes.string.isRequired, title: PropTypes.string.isRequired, }; const AlertsTab = () => { const t = useI18nContext(); const alertConfig = { [ALERT_TYPES.unconnectedAccount]: { title: t('alertSettingsUnconnectedAccount'), description: t('alertSettingsUnconnectedAccountDescription'), }, [ALERT_TYPES.web3ShimUsage]: { title: t('alertSettingsWeb3ShimUsage'), description: t('alertSettingsWeb3ShimUsageDescription'), }, }; return ( {Object.entries(alertConfig).map(([alertId, { title, description }]) => ( ))} ); }; export default AlertsTab;