import AirlineStops from '@mui/icons-material/AirlineStops'
import SwapHoriz from '@mui/icons-material/SwapHoriz'
import { useTranslation } from 'react-i18next'
import { useNavigate } from 'react-router-dom'
import { CardButton } from '../../components/Card/CardButton.js'
import { useSettingMonitor } from '../../hooks/useSettingMonitor.js'
import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'
import { useSettingsStore } from '../../stores/settings/SettingsStore.js'
import { HiddenUI } from '../../types/widget.js'
import { navigationRoutes } from '../../utils/navigationRoutes.js'
import { BadgedValue } from './SettingsCard/BadgedValue.js'
const supportedIcons = {
Bridges: AirlineStops,
Exchanges: SwapHoriz,
}
export const BridgeAndExchangeSettings: React.FC<{
type: 'Bridges' | 'Exchanges'
}> = ({ type }) => {
const { isBridgesChanged, isExchangesChanged } = useSettingMonitor()
const { t } = useTranslation()
const navigate = useNavigate()
const [enabledTools, tools] = useSettingsStore((state) => {
const enabledTools = Object.values(state[`_enabled${type}`])
return [enabledTools.filter(Boolean).length, enabledTools.length]
})
const { hiddenUI } = useWidgetConfig()
if (type === 'Bridges' && hiddenUI?.includes(HiddenUI.BridgesSettings)) {
return null
}
const customisationLookUp = {
Bridges: isBridgesChanged,
Exchanges: isExchangesChanged,
}
const handleClick = () => {
navigate(navigationRoutes[type.toLowerCase() as 'bridges' | 'exchanges'])
}
const Icon = supportedIcons[type]
return (
}
title={t(`settings.enabled${type}`)}
>
{`${enabledTools}/${tools}`}
)
}