import { ChoiceButton } from 'shared/components/choice-button.mjs' import { ChoiceLink } from 'shared/components/choice-link.mjs' import { OkIcon, NoIcon, WarningIcon } from 'shared/components/icons.mjs' import { useTranslation } from 'next-i18next' import { capitalize, hasRequiredMeasurements } from 'shared/utils.mjs' export const ns = ['sets'] const Title = ({ set, language }) => (
{set.img && ( {set.name} )} {set[`name${language ? capitalize(language) : ''}`]}
) export const SetSummary = ({ set, href, clickHandler, language, hasMeasies, t, design }) => { const inner = hasMeasies ? null : (
{t('setLacksMeasiesForDesign', { design: t(`designs:${design}.t`) })}
) const wrapProps = { icon: hasMeasies ? ( ) : ( ), title: , } if (clickHandler) wrapProps.onClick = () => clickHandler(set) else if (href) wrapProps.href = href const Component = clickHandler ? ChoiceButton : ChoiceLink return <Component {...wrapProps}>{inner}</Component> } export const SetCandidate = ({ set, design, requiredMeasies = [], href, clickHandler, language, }) => { const { t } = useTranslation(['sets', design]) const [hasMeasies, missingMeasies] = hasRequiredMeasurements(requiredMeasies, set.measies, true) const setProps = { set, design, t, href, clickHandler, hasMeasies, language } return <SetSummary {...setProps} /> }