From 474cb8a749e57ab085df8f5e27190960717e42c0 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Fri, 16 Jun 2023 12:44:57 +0200 Subject: [PATCH] Poll Modal: Fix explanation field centering (#3323) --- src/components/middle/composer/PollModal.tsx | 27 ++++++++------------ 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/src/components/middle/composer/PollModal.tsx b/src/components/middle/composer/PollModal.tsx index a013f8cf5..75b59c5c3 100644 --- a/src/components/middle/composer/PollModal.tsx +++ b/src/components/middle/composer/PollModal.tsx @@ -1,7 +1,7 @@ import type { ChangeEvent, RefObject } from 'react'; import type { FC } from '../../../lib/teact/teact'; import React, { - memo, useEffect, useLayoutEffect, useRef, useState, + memo, useEffect, useRef, useState, } from '../../../lib/teact/teact'; import { requestNextMutation } from '../../../lib/fasterdom/fasterdom'; @@ -18,6 +18,7 @@ import Modal from '../../ui/Modal'; import InputText from '../../ui/InputText'; import Checkbox from '../../ui/Checkbox'; import RadioGroup from '../../ui/RadioGroup'; +import TextArea from '../../ui/TextArea'; import './PollModal.scss'; @@ -42,8 +43,6 @@ const PollModal: FC = ({ const questionInputRef = useRef(null); // eslint-disable-next-line no-null/no-null const optionsListRef = useRef(null); - // eslint-disable-next-line no-null/no-null - const solutionRef = useRef(null); const [question, setQuestion] = useState(''); const [options, setOptions] = useState(['']); @@ -56,6 +55,10 @@ const PollModal: FC = ({ const lang = useLang(); + const handleSolutionChange = useLastCallback((e: ChangeEvent) => { + setSolution(e.target.value); + }); + const focusInput = useLastCallback((ref: RefObject) => { if (isOpen && ref.current) { ref.current.focus(); @@ -78,14 +81,6 @@ const PollModal: FC = ({ useEffect(() => focusInput(questionInputRef), [focusInput, isOpen]); - useLayoutEffect(() => { - const solutionEl = solutionRef.current; - - if (solutionEl && solution !== solutionEl.innerHTML) { - solutionEl.innerHTML = solution; - } - }, [solution]); - const addNewOption = useLastCallback((newOptions: string[] = []) => { setOptions([...newOptions, '']); @@ -349,12 +344,10 @@ const PollModal: FC = ({ {isQuizMode && ( <>

{lang('lng_polls_solution_title')}

-
setSolution(e.currentTarget.innerHTML)} +