Fix: resolved CJK non-commit issue, and autosuggestions disappearing

This commit is contained in:
Richard Wong 2025-05-19 14:08:50 +08:00
parent a279ff0cf3
commit ed95d6b388
3 changed files with 94 additions and 84 deletions

View File

@ -92,7 +92,7 @@
{ "value": "dep-6-part-b", "label": "왜 전도를 해야 하나?" },
{ "value": "dep-6-part-c", "label": "어떻게 전도하나?" },
{ "value": "dep-6-part-d", "label": "전도의 모범" },
{ "value": "dep-6-part-e", "label": "Bridge Illustration" }
{ "value": "dep-6-part-e", "label": "다리 예화" }
]
},
{

View File

@ -71,8 +71,7 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
}
// function to check correctness of reference input
const referenceChange = (e) => {
const value = e.target.value;
const validateReference = (value) => {
const string1 = String(value)
.replace(/\s+/g, "")
.toLowerCase()
@ -84,7 +83,6 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
const result = resultChecker(string1, string2);
setReference(value);
setReferenceBool(result);
};
@ -95,11 +93,8 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
}`;
{/* function to check correctness of title input */}
const titleChange = (e) => {
const value = e.target.value;
const validateTitle = (value) => {
let string1 = value;
let string2 = title;
string1 = String(string1)
@ -114,13 +109,12 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
.toLowerCase()
.normalize("NFC");
const result = resultChecker(string1, string2);
setTitle(value);
setTitleBool(result);
};
const titleClassName = `chapter-title-box${
titleBool=== STATE.CORRECT ? " correct" :
titleBool === STATE.PARTIAL ? " partial" :
@ -130,10 +124,8 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
{/* function to check correctness of chapter title input */}
const chapterTitleChange = (e) => {
const validateChapterTitle = (value) => {
const value = e.target.value;
let string1 = value;
let string2 = chapterTitle;
string1 = String(string1)
@ -150,9 +142,9 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
const result = resultChecker(string1, string2);
setChapterTitle(value);
setChapterTitleBool(result);
};
const chapterTitleClassName = `title-box${
chapterTitleBool=== STATE.CORRECT ? " correct" :
chapterTitleBool === STATE.PARTIAL ? " partial" :
@ -161,8 +153,7 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
// check verse input
const verseChange = (e) => {
const value = e.target.value;
const validateVerse = (value) => {
let string1 = value;
let string2 = verse;
string1 = String(string1)
@ -178,7 +169,6 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
const result = resultChecker(string1, string2);
setVerse(value);
setVerseBool(result);
};
@ -252,12 +242,20 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
id="referenceBox"
name="referenceBox"
value={inputReference}
onChange={(event) => {
onInput={(event) => {
const value = event.target.value;
setReference(value);
if (!isComposing) {
referenceChange(event);
validateReference(value);
}
}}
onCompositionStart={handleCompositionStart}
onCompositionEnd={(event) => {
const value = event.target.value;
setIsComposing(false);
setReference(value);
validateReference(value);
}}
/>
</div>
) : (
@ -278,15 +276,19 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
id="chapterTitleBox"
name="chapterTitleBox"
value={inputChapterTitle}
onChange={(event) => {
onInput={(event) => {
const value = event.target.value;
setChapterTitle(value);
if (!isComposing) {
chapterTitleChange(event);
validateChapterTitle(value);
}
}}
onCompositionStart={handleCompositionStart}
onCompositionEnd={(event) => {
const value = event.target.value;
setIsComposing(false);
chapterTitleChange(event);
setChapterTitle(value);
validateChapterTitle(value);
}}
/>
@ -303,15 +305,19 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
id="titleBox"
name="titleBox"
value={inputTitle}
onChange={(event) => {
onInput={(event) => {
const value = event.target.value;
setTitle(value);
if (!isComposing) {
titleChange(event);
validateTitle(value);
}
}}
onCompositionStart={handleCompositionStart}
onCompositionEnd={(event) => {
const value = event.target.value;
setIsComposing(false);
titleChange(event);
setTitle(value);
validateTitle(value);
}}
/>
@ -326,15 +332,19 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
id="verseBox"
name="verseBox"
value={inputVerse}
onChange={(event) => {
onInput={(event) => {
const value = event.target.value;
setVerse(value);
if (!isComposing) {
verseChange(event);
validateVerse(value);
}
}}
onCompositionStart={handleCompositionStart}
onCompositionEnd={(event) => {
const value = event.target.value;
setIsComposing(false);
verseChange(event);
setVerse(value);
validateVerse(value);
}}

View File

@ -3960,191 +3960,191 @@
"dep-6-part-e": [
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"chapterTitle": "다리 예화",
"title": "하나님의 형상으로 지음받음",
"reference": "창1:27",
"verse": "하나님이 자기 형상 곧 하나님의 형상대로 사람을 창조하시되 남자와 여자를 창조하시고"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"chapterTitle": "다리 예화",
"title": "죄로 인해 하나님과 분리됨",
"reference": "사59:1,2",
"verse": "여호와의 손이 짧아 구원치 못하심도 아니요 귀가 둔하여 듣지 못하심도 아니라 오직 너희 죄악이 너희와 너희 하나님 사이를 내었고 너희 죄가 그 얼굴을 가리워서 너희를 듣지 않으시게 함이니"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 상태 죄인",
"chapterTitle": "다리 예화",
"title": "인간의 상태 - 죄인",
"reference": "롬5:12",
"verse": "이러므로 한 사람으로 말미암아 죄가 세상에 들어오고 죄로 말미암아 사망이 왔나니 이와 같이 모든 사람이 죄를 지었으므로 사망이 모든 사람에게 이르렀느니라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 상태 죄인",
"chapterTitle": "다리 예화",
"title": "인간의 상태 - 죄인",
"reference": "롬3:23",
"verse": "모든 사람이 죄를 범하였으매 하나님의 영광에 이르지 못하더니"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 상태 심판",
"chapterTitle": "다리 예화",
"title": "인간의 상태 - 심판",
"reference": "히9:27",
"verse": "한 번 죽는 것은 사람에게 정하신 것이요 그 후에는 심판이 있으리니"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 상태 심판",
"chapterTitle": "다리 예화",
"title": "인간의 상태 - 심판",
"reference": "살후1:8,9",
"verse": "하나님을 모르는 자들과 우리 주 예수의 복음을 복종치 않는 자들에게 형벌을 주시리니 이런 자들이 주의 얼굴과 그의 힘의 영광을 떠나 영원한 멸망의 형벌을 받으리로다"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 상태 사망",
"chapterTitle": "다리 예화",
"title": "인간의 상태 - 사망",
"reference": "롬6:23",
"verse": "죄의 삯은 사망이요 하나님의 은사는 그리스도 예수 우리 주 안에 있는 영생이니라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 상태 사망",
"chapterTitle": "다리 예화",
"title": "인간의 상태 - 사망",
"reference": "계21:8",
"verse": "그러나 두려워하는 자들과 믿지 아니하는 자들과 흉악한 자들과 살인자들과 행음자들과 술객들과 우상 숭배자들과 모든 거짓말하는 자들은 불과 유황으로 타는 못에 참예하리니 이것이 둘째 사망이라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 힘으로 구원받지 못함 행위",
"chapterTitle": "다리 예화",
"title": "인간의 힘으로 구원받지 못함 - 행위",
"reference": "엡2:8,9",
"verse": "너희가 그 은혜를 인하여 믿음으로 말미암아 구원을 얻었나니 이것이 너희에게서 난 것이 아니요 하나님의 선물이라 행위에서 난 것이 아니니 이는 누구든지 자랑치 못하게 함이니라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 힘으로 구원받지 못함 행위",
"chapterTitle": "다리 예화",
"title": "인간의 힘으로 구원받지 못함 - 행위",
"reference": "갈2:21",
"verse": "내가 하나님의 은혜를 폐하지 아니하노니 만일 의롭게 되는 것이 율법으로 말미암으면 그리스도께서 헛되이 죽으셨느니라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 힘으로 구원받지 못함 종교",
"chapterTitle": "다리 예화",
"title": "인간의 힘으로 구원받지 못함 - 종교",
"reference": "행4:12",
"verse": "다른 이로서는 구원을 얻을 수 없나니 천하 인간에 구원을 얻을 만한 다른 이름을 우리에게 주신 일이 없음이니라 하였더라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 힘으로 구원받지 못함 돈",
"chapterTitle": "다리 예화",
"title": "인간의 힘으로 구원받지 못함 - 돈",
"reference": "벧전1:18",
"verse": "너희가 알거니와 너희 조상의 유전한 망령된 행실에서 구속된 것은 은이나 금같이 없어질 것으로 한 것이 아니요"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 힘으로 구원받지 못함 신비의 체험",
"chapterTitle": "다리 예화",
"title": "인간의 힘으로 구원받지 못함 - 신비의 체험",
"reference": "고전1:22,23",
"verse": "유대인은 표적을 구하고 헬라인은 지혜를 찾으나 우리는 십자가에 못 박힌 그리스도를 전하니 유대인에게는 거리끼는 것이요 이방인에게는 미련한 것이로되"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 힘으로 구원받지 못함 지혜",
"chapterTitle": "다리 예화",
"title": "인간의 힘으로 구원받지 못함 - 지혜",
"reference": "고전1:21",
"verse": "하나님의 지혜에 있어서는 이 세상이 자기 지혜로 하나님을 알지 못하는 고로 하나님께서 전도의 미련한 것으로 믿는 자들을 구원하시기를 기뻐하셨도다"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 힘으로 구원받지 못함 학문과 전통",
"chapterTitle": "다리 예화",
"title": "인간의 힘으로 구원받지 못함 - 학문과 전통",
"reference": "골2:8",
"verse": "누가 철학과 헛된 속임수로 너희를 노략할까 주의하라 이것이 사람의 유전과 세상의 초등 학문을 좇음이요 그리스도를 좇음이 아니니라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 힘으로 구원받지 못함 혈통",
"chapterTitle": "다리 예화",
"title": "인간의 힘으로 구원받지 못함 - 혈통",
"reference": "요1:13",
"verse": "이는 혈통으로나 육정으로나 사람의 뜻으로 나지 아니하고 오직 하나님께로서 난 자들이니라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 힘으로 구원받지 못함 육은 무익함",
"chapterTitle": "다리 예화",
"title": "인간의 힘으로 구원받지 못함 - 육은 무익함",
"reference": "요3:6,7",
"verse": "육으로 난 것은 육이요 성령으로 난 것은 영이니 내가 네게 거듭나야 하겠다 하는 말을 기이히 여기지 말라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 힘으로 구원받지 못함 육은 무익함",
"chapterTitle": "다리 예화",
"title": "인간의 힘으로 구원받지 못함 - 육은 무익함",
"reference": "요6:63",
"verse": "살리는 것은 영이니 육은 무익하니라 내가 너희에게 이른 말이 영이요 생명이라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "하나님의 해결 하나님께로 인도하는 다리",
"chapterTitle": "다리 예화",
"title": "하나님의 해결 - 하나님께로 인도하는 다리",
"reference": "벧전3:18",
"verse": "그리스도께서도 한 번 죄를 위하여 죽으사 의인으로서 불의한 자를 대신하셨으니 이는 우리를 하나님 앞으로 인도하려 하심이라 육체로는 죽임을 당하시고 영으로는 살리심을 받으셨으니"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "하나님의 해결 독생자를 주심",
"chapterTitle": "다리 예화",
"title": "하나님의 해결 - 독생자를 주심",
"reference": "요3:16",
"verse": "하나님이 세상을 이처럼 사랑하사 독생자를 주셨으니 이는 저를 믿는 자마다 멸망치 않고 영생을 얻게 하려 하심이니라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "하나님의 해결 죄를 위해 죽으심",
"chapterTitle": "다리 예화",
"title": "하나님의 해결 - 죄를 위해 죽으심",
"reference": "롬5:8",
"verse": "우리가 아직 죄인 되었을 때에 그리스도께서 우리를 위하여 죽으심으로 하나님께서 우리에게 대한 자기의 사랑을 확증하셨느니라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "하나님의 해결 부활하심",
"chapterTitle": "다리 예화",
"title": "하나님의 해결 - 부활하심",
"reference": "고전15:3,4",
"verse": "내가 받은 것을 먼저 너희에게 전하였노니 이는 성경대로 그리스도께서 우리 죄를 위하여 죽으시고 장사지낸 바 되었다가 성경대로 사흘 만에 다시 살아나사"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "하나님의 해결 모든 죄를 사하심",
"chapterTitle": "다리 예화",
"title": "하나님의 해결 - 모든 죄를 사하심",
"reference": "골2:13",
"verse": "또 너희의 범죄와 육체의 무할례로 죽었던 너희를 하나님이 그와 함께 살리시고 우리에게 모든 죄를 사하시고"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 책임 듣고 믿어야 함",
"chapterTitle": "다리 예화",
"title": "인간의 책임 - 듣고 믿어야 함",
"reference": "요5:24",
"verse": "내가 진실로 진실로 너희에게 이르노니 내 말을 듣고 또 나 보내신 이를 믿는 자는 영생을 얻었고 심판에 이르지 아니하나니 사망에서 생명으로 옮겼느니라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 책임 영접해야 함",
"chapterTitle": "다리 예화",
"title": "인간의 책임 - 영접해야 함",
"reference": "요1:12",
"verse": "영접하는 자 곧 그 이름을 믿는 자들에게는 하나님의 자녀가 되는 권세를 주셨으니"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 책임 영접해야 함",
"chapterTitle": "다리 예화",
"title": "인간의 책임 - 영접해야 함",
"reference": "계3:20",
"verse": "볼지어다 내가 문 밖에 서서 두드리노니 누구든지 내 음성을 듣고 문을 열면 내가 그에게로 들어가 그로 더불어 먹고 그는 나로 더불어 먹으리라"
},
{
"pack": "DEP6",
"chapterTitle": "Bridge Illustration",
"title": "인간의 책임 영접기도",
"reference": "롬10:9,10",
"chapterTitle": "다리 예화",
"title": "인간의 책임 - 영접 기도",
"reference": "롬10:9-10",
"verse": "네가 만일 네 입으로 예수를 주로 시인하며 또 하나님께서 그를 죽은 자 가운데서 살리신 것을 네 마음에 믿으면 구원을 얻으리니 사람이 마음으로 믿어 의에 이르고 입으로 시인하여 구원에 이르느니라"
}
],