'use client'; import clsx from 'clsx'; import { useCallback } from 'react'; import { CProps } from '@/components/props'; import WordformButton from '@/dialogs/DlgEditReference/WordformButton'; import { Grammeme } from '@/models/language'; import { prefixes } from '@/utils/constants'; import { DefaultWordForms, IGrammemeOption, SelectorGrammemes } from '@/utils/selectors'; interface SelectWordFormProps extends CProps.Styling { selected: IGrammemeOption[]; setSelected: React.Dispatch>; } function SelectWordForm({ selected, setSelected, className, ...restProps }: SelectWordFormProps) { const handleSelect = useCallback( (grams: Grammeme[]) => { setSelected(SelectorGrammemes.filter(({ value }) => grams.includes(value as Grammeme))); }, [setSelected] ); return (
{DefaultWordForms.slice(0, 12).map((data, index) => ( selected.find(item => (item.value as Grammeme) === gram))} onSelectGrams={handleSelect} /> ))}
); } export default SelectWordForm;