Feat: use composition event to stabilize korean input
This commit is contained in:
		
							parent
							
								
									ab75ebbef7
								
							
						
					
					
						commit
						faf83b4827
					
				| 
						 | 
					@ -21,6 +21,12 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
 | 
				
			||||||
  const [verseBool, setVerseBool] = useState(STATE.INCORRECT)
 | 
					  const [verseBool, setVerseBool] = useState(STATE.INCORRECT)
 | 
				
			||||||
  const[hintBool, setHintBool] = useState(false)
 | 
					  const[hintBool, setHintBool] = useState(false)
 | 
				
			||||||
  const[diffBool, setDiffBool] = useState(false)
 | 
					  const[diffBool, setDiffBool] = useState(false)
 | 
				
			||||||
 | 
					 const [isComposing, setIsComposing] = useState(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Handle the start of composition
 | 
				
			||||||
 | 
					  const handleCompositionStart = () => {
 | 
				
			||||||
 | 
					    setIsComposing(true);
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // function to check correctness of reference input
 | 
					  // function to check correctness of reference input
 | 
				
			||||||
| 
						 | 
					@ -208,7 +214,16 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
 | 
				
			||||||
            type="text"
 | 
					            type="text"
 | 
				
			||||||
            id="referenceBox"
 | 
					            id="referenceBox"
 | 
				
			||||||
            name="referenceBox"
 | 
					            name="referenceBox"
 | 
				
			||||||
            onChange={referenceChange}
 | 
					            onChange={(event) => {
 | 
				
			||||||
 | 
					              if (!isComposing) {
 | 
				
			||||||
 | 
					                referenceChange(event);
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            }}
 | 
				
			||||||
 | 
					            onCompositionStart={handleCompositionStart}
 | 
				
			||||||
 | 
					            onCompositionEnd={(event) => {
 | 
				
			||||||
 | 
					              setIsComposing(false);
 | 
				
			||||||
 | 
					              referenceChange(event);
 | 
				
			||||||
 | 
					            }}
 | 
				
			||||||
          />
 | 
					          />
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      ) : (
 | 
					      ) : (
 | 
				
			||||||
| 
						 | 
					@ -228,7 +243,17 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
 | 
				
			||||||
            type="text"
 | 
					            type="text"
 | 
				
			||||||
            id="chapterTitleBox"
 | 
					            id="chapterTitleBox"
 | 
				
			||||||
            name="chapterTitleBox"
 | 
					            name="chapterTitleBox"
 | 
				
			||||||
            onChange={chapterTitleChange}
 | 
					            onChange={(event) => {
 | 
				
			||||||
 | 
					              if (!isComposing) {
 | 
				
			||||||
 | 
					                chapterTitleChange(event);
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            }}
 | 
				
			||||||
 | 
					            onCompositionStart={handleCompositionStart}
 | 
				
			||||||
 | 
					            onCompositionEnd={(event) => {
 | 
				
			||||||
 | 
					              setIsComposing(false);
 | 
				
			||||||
 | 
					              chapterTitleChange(event);
 | 
				
			||||||
 | 
					            }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          />
 | 
					          />
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      )}
 | 
					      )}
 | 
				
			||||||
| 
						 | 
					@ -242,7 +267,17 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
 | 
				
			||||||
        type="text"
 | 
					        type="text"
 | 
				
			||||||
        id="titleBox"
 | 
					        id="titleBox"
 | 
				
			||||||
        name="titleBox"
 | 
					        name="titleBox"
 | 
				
			||||||
        onChange={titleChange}
 | 
					        onChange={(event) => {
 | 
				
			||||||
 | 
					          if (!isComposing) {
 | 
				
			||||||
 | 
					            titleChange(event);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }}
 | 
				
			||||||
 | 
					        onCompositionStart={handleCompositionStart}
 | 
				
			||||||
 | 
					        onCompositionEnd={(event) => {
 | 
				
			||||||
 | 
					          setIsComposing(false);
 | 
				
			||||||
 | 
					          titleChange(event);
 | 
				
			||||||
 | 
					        }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      />
 | 
					      />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      {/* input box for verse */}
 | 
					      {/* input box for verse */}
 | 
				
			||||||
| 
						 | 
					@ -254,7 +289,18 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
 | 
				
			||||||
        type="text"
 | 
					        type="text"
 | 
				
			||||||
        id="verseBox"
 | 
					        id="verseBox"
 | 
				
			||||||
        name="verseBox"
 | 
					        name="verseBox"
 | 
				
			||||||
        onChange={verseChange}
 | 
					        onChange={(event) => {
 | 
				
			||||||
 | 
					          if (!isComposing) {
 | 
				
			||||||
 | 
					            verseChange(event);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }}
 | 
				
			||||||
 | 
					        onCompositionStart={handleCompositionStart}
 | 
				
			||||||
 | 
					        onCompositionEnd={(event) => {
 | 
				
			||||||
 | 
					          setIsComposing(false);
 | 
				
			||||||
 | 
					          verseChange(event);
 | 
				
			||||||
 | 
					        }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      />
 | 
					      />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      {/* button to toggle show answer*/}
 | 
					      {/* button to toggle show answer*/}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue