/* eslint-disable react/forbid-component-props */ import titles from '../config/elements-titles'; import { useStore } from '@/stores/hooks'; import { observer } from 'mobx-react-lite'; import { pick } from 'radash'; import styled from 'styled-components'; import { Tag } from 'ui/elements'; const Container = styled.div` display: flex; flex-direction: row; gap: 5px; `; const TagWrapper = styled.div<{ disabled: boolean }>` > span { pointer-events: ${(props) => (props.disabled ? 'none' : 'auto')}; opacity: ${(props) => (props.disabled ? '50%' : '')}; } `; const tagsData = pick(titles, ['cbxPartialVAT', 'cbxFloatingRate']); const { CheckableTag } = Tag; export const ProductAddon = observer(() => { const { $calculation } = useStore(); function handleChange(elementName: keyof typeof tagsData, checked: boolean) { $calculation.element(elementName).setValue(checked); } return ( {(Object.keys(tagsData) as Array).map((elementName) => { const visible = $calculation.$status.getStatus(elementName); return ( handleChange(elementName, checked)} key={elementName} style={{ marginInlineEnd: 0 }} > {tagsData[elementName]} ); })} ); });