import React, {useState, useRef, useEffect} from "react"; import styles from'./AnswerOption.module.css'; const single_selected_response = '../../../public/radio_button_checked.svg'; const multiple_selected_response = '../../../public/check_box.svg'; const single_response = '../../../public/radio_button_unchecked.svg'; const multiple_response ='../../../public/emptyCheckbox.svg'; interface AnswerOptionProps{ index: number; value: string; onChange: (value: string) => void; onDelete:(index: number) => void; selectedType: 'single' | 'multiply'; isSelected: boolean; toggleSelect: () => void; } const AnswerOption: React.FC = ({index, value, onChange, onDelete, selectedType, isSelected, toggleSelect}) => { const [currentValue, setCurrentValue] = useState(value); const [isEditing, setIsEditing] = useState(false); const textAreaRef = useRef(null); useEffect(() => { setCurrentValue(value); }, [value]); const handleSpanClick = () => { setIsEditing(true); } const handleTextareaChange = (event: React.ChangeEvent) => { setCurrentValue(event.target.value); }; const handleSave = () => { setIsEditing(false); onChange(currentValue); }; const handleKeyDown = (event: React.KeyboardEvent) => { if (event.key === "Enter") { event.preventDefault(); handleSave(); } }; const handleBlur = () => { handleSave(); }; useEffect(() => { if (isEditing && textAreaRef.current) { textAreaRef.current.focus(); } }, [isEditing]); const getImage = () => { if (selectedType === 'multiply') { return isSelected ? multiple_selected_response : multiple_response; } else { return isSelected ? single_selected_response : single_response; } }; return (
{isEditing ? (