'use client'; import { useCallback } from 'react'; import { Grammeme } from '@/models/language'; import { prefixes } from '@/utils/constants'; import { DefaultWordForms, IGrammemeOption, SelectorGrammemes } from '@/utils/selectors'; import WordformButton from './WordformButton'; interface SelectWordFormProps { selected: IGrammemeOption[]; setSelected: React.Dispatch>; } function SelectWordForm({ selected, setSelected }: 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;