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 } from 'shared/utils.mjs'
import Image from 'next/image'
export const ns = ['sets']
const Title = ({ set, language }) => (
{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 {inner}
}
export const SetCandidate = ({
set,
design,
requiredMeasies = [],
href,
clickHandler,
language,
}) => {
const { t } = useTranslation(['sets', design])
let hasMeasies = true
const setMeasies = set.measies && Object.keys(set.measies)
// Quick check for required measurements
if (!set.measies || setMeasies.length < requiredMeasies.length) hasMeasies = false
// Proper check for required measurements
if (hasMeasies) {
for (const m of requiredMeasies) {
if (!setMeasies.includes(m)) {
hasMeasies = false
break
}
}
}
const setProps = { set, design, t, href, clickHandler, hasMeasies, language }
return
}