Feat: add partial testing

This commit is contained in:
Richard Wong 2024-08-27 14:44:18 +09:00
parent 965d985251
commit a5acd09642
Signed by: richard
GPG Key ID: 72948FBB6D359A6D
5 changed files with 583 additions and 56 deletions

View File

@ -84,7 +84,7 @@
"value":"dep-6",
"label":"DEP 6",
"children": [
{ "value": "dep-6-part-a", "label": "Who is respondible for witnessing?" },
{ "value": "dep-6-part-a", "label": "Who is responsible for witnessing?" },
{ "value": "dep-6-part-b", "label": "Why should we witness?" },
{ "value": "dep-6-part-c", "label": "How do we witness?" }
]

View File

@ -23,6 +23,17 @@
{
"value": "loa",
"label": "Lessons on Assurance"
},
{
"value": "tms60",
"label": "TMS60",
"children": [
{ "value": "tms-60-pack-a", "label": "Living the New Life" },
{ "value": "tms-60-pack-b", "label": "Proclaiming Christ" },
{ "value": "tms-60-pack-c", "label": "Reliance on God's Resources" },
{ "value": "tms-60-pack-d", "label": "Being Christ's Disciple" },
{ "value": "tms-60-pack-e", "label": "Growth in Christlikeness" }
]
}
]
}

View File

@ -76,8 +76,34 @@
}
}
@media (prefers-color-scheme: light) {
.partial {
background-color: #dafcff; /* Change the background color as needed */
}
}
@media (prefers-color-scheme: light) {
.incorrect {
background-color: transparent; /* Change the background color as needed */
}
}
@media (prefers-color-scheme: dark) {
.correct {
background-color: #495749; /* Change the background color as needed */
background-color: #2e5e2e; /* Change the background color as needed */
}
}
@media (prefers-color-scheme: dark) {
.partial {
background-color: #004d5c; /* Change the background color as needed */
}
}
@media (prefers-color-scheme: dark) {
.incorrect {
background-color: transparent; /* Change the background color as needed */
}
}

View File

@ -2,24 +2,28 @@ import { useState } from "react";
import "./VerseValidator.css";
import { StringDiff } from "react-string-diff";
const STATE = {
INCORRECT: 0,
PARTIAL: 1,
CORRECT: 2,
};
// function to render and handle logic of each of the cells
const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse } , toHideReference, t}) => { // useful use of destructuring here
const [inputReference, setReference] = useState('')
const [referenceBool, setReferenceBool] = useState(false)
const [referenceBool, setReferenceBool] = useState(STATE.INCORRECT)
const [inputChapterTitle, setChapterTitle] = useState('')
const [chapterTitleBool, setChapterTitleBool] = useState(false)
const [chapterTitleBool, setChapterTitleBool] = useState(STATE.INCORRECT)
const [inputTitle, setTitle] = useState('')
const [titleBool, setTitleBool] = useState(false)
const [titleBool, setTitleBool] = useState(STATE.INCORRECT)
const [inputVerse, setVerse] = useState('')
const [verseBool, setVerseBool] = useState(false)
const [verseBool, setVerseBool] = useState(STATE.INCORRECT)
const[hintBool, setHintBool] = useState(false)
const[diffBool, setDiffBool] = useState(false)
// function to check correctness of verse input
// so far only perform checking on full spelling of reference names
// function to check correctness of reference input
const referenceChange = (e) => {
const value = e.target.value;
const string1 = String(value)
@ -30,33 +34,27 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
.replace(/\s+/g, "")
.toLowerCase()
.normalize("NFC");
const bool = (string1 === string2);
var result = STATE.INCORRECT; // init
if (string1 === string2) {
result = STATE.CORRECT;
} else if (string2.startsWith(string1) & string1 !== "") {
result = STATE.PARTIAL
} else {
result = STATE.INCORRECT
}
setReference(value);
setReferenceBool(bool);
setReferenceBool(result);
};
{/* function to check correctness of verse input */}
const verseChange = (e) => {
const value = e.target.value;
let string1 = value;
let string2 = verse;
string1 = String(string1)
.replace(/[\p{P}\p{S}]/gu, "")
.replace(/\s+/g, "")
.toLowerCase()
.normalize("NFC");
string2 = String(string2)
.replace(/[\p{P}\p{S}]/gu, "")
.replace(/\s+/g, "")
.toLowerCase()
.normalize("NFC");
const referenceClassName = `reference-box${
referenceBool === STATE.CORRECT ? " correct" :
referenceBool === STATE.PARTIAL ? " partial" :
" incorrect"
}`;
const bool = string1 === string2;
setVerse(value);
setVerseBool(bool);
};
{/* function to check correctness of title input */}
const titleChange = (e) => {
@ -75,11 +73,24 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
.toLowerCase()
.normalize("NFC");
const bool = string1 === string2;
var result = STATE.INCORRECT; // init
if (string1 === string2) {
result = STATE.CORRECT;
} else if (string2.startsWith(string1) & string1 !== "") {
result = STATE.PARTIAL
} else {
result = STATE.INCORRECT
}
setTitle(value);
setTitleBool(bool);
setTitleBool(result);
};
const titleClassName = `chapter-title-box${
titleBool=== STATE.CORRECT ? " correct" :
titleBool === STATE.PARTIAL ? " partial" :
" incorrect"
}`;
{/* function to check correctness of chapter title input */}
@ -101,26 +112,75 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
.toLowerCase()
.normalize("NFC");
const bool = string1 === string2;
var result = STATE.INCORRECT; // init
if (string1 === string2) {
result = STATE.CORRECT;
} else if (string2.startsWith(string1) & string1 !== "") {
result = STATE.PARTIAL
} else {
result = STATE.INCORRECT
}
setChapterTitle(value);
setChapterTitleBool(bool);
setChapterTitleBool(result);
};
const chapterTitleClassName = `title-box${
chapterTitleBool=== STATE.CORRECT ? " correct" :
chapterTitleBool === STATE.PARTIAL ? " partial" :
" incorrect"
}`;
// check verse input
const verseChange = (e) => {
const value = e.target.value;
let string1 = value;
let string2 = verse;
string1 = String(string1)
.replace(/[\p{P}\p{S}]/gu, "")
.replace(/\s+/g, "")
.toLowerCase()
.normalize("NFC");
string2 = String(string2)
.replace(/[\p{P}\p{S}]/gu, "")
.replace(/\s+/g, "")
.toLowerCase()
.normalize("NFC");
var result = STATE.INCORRECT; // init
if (string1 === string2) {
result = STATE.CORRECT;
} else if (string2.startsWith(string1) & string1 !== "") {
result = STATE.PARTIAL
} else {
result = STATE.INCORRECT
}
setVerse(value);
setVerseBool(result);
};
const DiffViewer = ({oldValue, newValue}) => {
const string1 = String(oldValue)
.replace(/[\p{P}\p{S}]/gu, "")
.toLowerCase()
.normalize("NFC");
const verseClassName = `verse-box${
verseBool === STATE.CORRECT ? " correct" :
verseBool === STATE.PARTIAL ? " partial" :
" incorrect"
}`;
const string2 = String(newValue)
.replace(/[\p{P}\p{S}]/gu, "")
.toLowerCase()
.normalize("NFC");
// const DiffViewer = ({oldValue, newValue}) => {
// const string1 = String(oldValue)
// .replace(/[\p{P}\p{S}]/gu, "")
// .toLowerCase()
// .normalize("NFC");
return (<StringDiff oldValue={string1} newValue={string2} diffMethod="diffWords" />)
}
// const string2 = String(newValue)
// .replace(/[\p{P}\p{S}]/gu, "")
// .toLowerCase()
// .normalize("NFC");
// return (<StringDiff oldValue={string1} newValue={string2} diffMethod="diffWords" />)
// }
const DiffViewerStrict = ({oldValue, newValue}) => {
const string1 = String(oldValue)
@ -144,7 +204,7 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
{t('verse_validator.input_reference')}
</label>
<textarea
className={`reference-box${referenceBool ? " correct" : ""}`}
className={referenceClassName}
type="text"
id="referenceBox"
name="referenceBox"
@ -164,7 +224,7 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
{t('verse_validator.input_chapter_title')}
</label>
<textarea
className={`chapter-title-box${chapterTitleBool ? " correct" : ""}`}
className={chapterTitleClassName}
type="text"
id="chapterTitleBox"
name="chapterTitleBox"
@ -178,7 +238,7 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
{t('verse_validator.input_title')}
</label>
<textarea
className={`title-box${titleBool ? " correct" : ""}`}
className={titleClassName}
type="text"
id="titleBox"
name="titleBox"
@ -190,7 +250,7 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
{t('verse_validator.input_verse')}
</label>
<textarea
className={`verse-box${verseBool ? " correct" : ""}`}
className={verseClassName}
type="text"
id="verseBox"
name="verseBox"
@ -221,7 +281,7 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
{chapterTitle && (
<div>
ChapterTitle:
<DiffViewer
<DiffViewerStrict
oldValue={chapterTitle}
newValue={inputChapterTitle}
/>
@ -231,7 +291,7 @@ const VerseValidator = ({ element: { pack, title, chapterTitle, reference, verse
<p></p>
<div>
Title:
<DiffViewer
<DiffViewerStrict
oldValue={title}
newValue={inputTitle}
/>

View File

@ -1393,14 +1393,14 @@
"pack": "DEP 5",
"title": "Spurring one another",
"chapterTitle": "Essentials of fellowship",
"reference": "Hebrews 10:24,25",
"reference": "Hebrews 10:24-25",
"verse": "And let us consider how we may spur one another on toward love and good deeds. Let us not give up meeting together, as some are in the habit of doing, but let us encourage one another--and all the more as you see the Day approaching."
},
{
"pack": "DEP 5",
"title": "Meeting the needs",
"chapterTitle": "Essentials of fellowship",
"reference": "2 Corinthians 8:3,4",
"reference": "2 Corinthians 8:3-4",
"verse": "For I testify that they gave as much as they were able, and even beyond their ability. Entirely on their own, they urgently pleaded with us for the privilege of sharing in this service to the saints."
},
{
@ -1509,14 +1509,14 @@
"dep-6-part-a": [
{
"pack": "DEP 6",
"chapterTitle": "Who is reponsible for witnessing?",
"chapterTitle": "Who is responsible for witnessing?",
"title": "Every Christian",
"reference": "Acts 1:8",
"verse": "But you will receive power when the Holy Spirit comes on you; and you will be my witnesses in Jerusalem, and in all Judea and Samaria, and to the ends of the earth."
},
{
"pack": "DEP 6",
"chapterTitle": "Who is reponsible for witnessing?",
"chapterTitle": "Who is responsible for witnessing?",
"title": "Every Christian",
"reference": "2 Corinthians 5:18-19",
"verse": "All this is from God, who reconciled us to himself through Christ and gave us the ministry of reconciliation: that God was reconciling the world to himself in Christ, not counting men's sins against them. And he has committed to us the message of reconciliation."
@ -1726,6 +1726,436 @@
"reference": "잠언 3:5-6",
"verse": "너는 마음을 다하여 여호와를 의뢰하고 네 명철을 의지하지 말라. 너는 범사에 그를 인정하라. 그리하면 네 길을 지도하시리라"
}
],
"tms-60-pack-a": [
{
"pack": "TMS 60 Pack A",
"title": "Christ the Center",
"chapterTitle": "",
"reference": "2 Corinthians 5:17",
"verse": "Therefore, if anyone is in Christ, he is a new creation; the old has gone, the new has come!"
},
{
"pack": "TMS 60 Pack A",
"title": "Christ the Center",
"chapterTitle": "",
"reference": "Galatians 2:20",
"verse": "I have been crucified with Christ and I no longer live, but Christ lives in me. The life I live in the body, I live by faith in the Son of God, who loved me and gave himself for me."
},
{
"pack": "TMS 60 Pack A",
"title": "Obedience to Christ",
"chapterTitle": "",
"reference": "Romans 12:1",
"verse": "Therefore, I urge you, brothers, in view of God's mercy, to offer your bodies as living sacrifices, holy and pleasing to God--this is your spiritual act of worship."
},
{
"pack": "TMS 60 Pack A",
"title": "Obedience to Christ",
"chapterTitle": "",
"reference": "John 14:21",
"verse": "Whoever has my commands and obeys them, he is the one who loves me. He who loves me will be loved by my Father, and I too will love him and show myself to him"
},
{
"pack": "TMS 60 Pack A",
"title": "The Word",
"chapterTitle": "",
"reference": "2 Timothy 3:16",
"verse": "All Scripture is God-breathed and is useful for teaching, rebuking, correcting and training in righteousness"
},
{
"pack": "TMS 60 Pack A",
"title": "The Word",
"chapterTitle": "",
"reference": "Joshua 1:8",
"verse": "Do not let this Book of the Law depart from your mouth; meditate on it day and night, so that you may be careful to do everything written in it. Then you will be prosperous and successful."
},
{
"pack": "TMS 60 Pack A",
"title": "Prayer",
"chapterTitle": "",
"reference": "John 15:7",
"verse": "If you remain in me and my words remain in you, ask whatever you wish, and it will be given you."
},
{
"pack": "TMS 60 Pack A",
"title": "Prayer",
"chapterTitle": "",
"reference": "Philippians 4:6-7",
"verse": "Do not be anxious about anything, but in everything, by prayer and petition, with thanksgiving, present your requests to God. And the peace of God, which transcends all understanding, will guard your hearts and your minds in Christ Jesus."
},
{
"pack": "TMS 60 Pack A",
"title": "Fellowship",
"chapterTitle": "",
"reference": "Matthew 18:20",
"verse": "For where two or three come together in my name, there am I with them."
},
{
"pack": "TMS 60 Pack A",
"title": "Fellowship",
"chapterTitle": "",
"reference": "Hebrews 10:24-25",
"verse": "And let us consider how we may spur one another on toward love and good deeds. Let us not give up meeting together, as some are in the habit of doing, but let us encourage one another--and all the more as you see the Day approaching."
},
{
"pack": "TMS 60 Pack A",
"title": "Witnessing",
"chapterTitle": "",
"reference": "Matthew 4:19",
"verse": "Come, follow me, Jesus said, and I will make you fishers of men."
},
{
"pack": "TMS 60 Pack A",
"title": "Witnessing",
"chapterTitle": "",
"reference": "Romans 1:16",
"verse": "I am not ashamed of the gospel, because it is the power of God for the salvation of everyone who believes: first for the Jew, then for the Gentile."
}
],
"tms-60-pack-b": [
{
"pack": "TMS 60 Pack B",
"title": "All Have Sinned",
"chapterTitle": "",
"reference": "Romans 3:23",
"verse": "for all have sinned and fall short of the glory of God"
},
{
"pack": "TMS 60 Pack B",
"title": "All Have Sinned",
"chapterTitle": "",
"reference": "Isaiah 53:6",
"verse": "We all, like sheep, have gone astray, each of us has turned to his own way; and the LORD has laid on him the iniquity of us all."
},
{
"pack": "TMS 60 Pack B",
"title": "Sin's Penalty",
"chapterTitle": "",
"reference": "Romans 6:23",
"verse": "For the wages of sin is death, but the gift of God is eternal life in Christ Jesus our Lord."
},
{
"pack": "TMS 60 Pack B",
"title": "Sin's Penalty",
"chapterTitle": "",
"reference": "Hebrews 9:27",
"verse": "Just as man is destined to die once, and after that to face judgment,"
},
{
"pack": "TMS 60 Pack B",
"title": "Christ Paid the Penalty",
"chapterTitle": "",
"reference": "Romans 5:8",
"verse": "But God demonstrates his own love for us in this: While we were still sinners, Christ died for us."
},
{
"pack": "TMS 60 Pack B",
"title": "Christ Paid the Penalty",
"chapterTitle": "",
"reference": "1 Peter 3:18",
"verse": "For Christ died for sins once for all, the righteous for the unrighteous, to bring you to God. He was put to death in the body but made alive by the Spirit,"
},
{
"pack": "TMS 60 Pack B",
"title": "Salvation Not by Works",
"chapterTitle": "",
"reference": "Ephesians 2:8-9",
"verse": "For it is by grace you have been saved, through faith--and this not from yourselves, it is the gift of God-- not by works, so that no one can boast."
},
{
"pack": "TMS 60 Pack B",
"title": "Salvation Not by Works",
"chapterTitle": "",
"reference": "Titus 3:5",
"verse": "he saved us, not because of righteous things we had done, but because of his mercy. He saved us through the washing of rebirth and renewal by the Holy Spirit,"
},
{
"pack": "TMS 60 Pack B",
"title": "Must Receive Christ",
"chapterTitle": "",
"reference": "John 1:12",
"verse": "Yet to all who received him, to those who believed in his name, he gave the right to become children of God--"
},
{
"pack": "TMS 60 Pack B",
"title": "Must Receive Christ",
"chapterTitle": "",
"reference": "Revelation 3:20",
"verse": "Here I am! I stand at the door and knock. If anyone hears my voice and opens the door, I will come in and eat with him, and he with me."
},
{
"pack": "TMS 60 Pack B",
"title": "Assurance of Salvation",
"chapterTitle": "",
"reference": "1 John 5:13",
"verse": "I write these things to you who believe in the name of the Son of God so that you may know that you have eternal life."
},
{
"pack": "TMS 60 Pack B",
"title": "Assurance of Salvation",
"chapterTitle": "",
"reference": "John 5:24",
"verse": "I tell you the truth, whoever hears my word and believes him who sent me has eternal life and will not be condemned; he has crossed over from death to life."
}
],
"tms-60-pack-c": [
{
"pack": "TMS 60 Pack C",
"title": "His Spirit",
"chapterTitle": "",
"reference": "1 Corinthians 3:16",
"verse": "Don't you know that you yourselves are God's temple and that God's Spirit lives in you?"
},
{
"pack": "TMS 60 Pack C",
"title": "His Spirit",
"chapterTitle": "",
"reference": "1 Corinthians 2:12",
"verse": "We have not received the spirit of the world but the Spirit who is from God, that we may understand what God has freely given us."
},
{
"pack": "TMS 60 Pack C",
"title": "His Strength",
"chapterTitle": "",
"reference": "Isaiah 41:10",
"verse": "So do not fear, for I am with you; do not be dismayed, for I am your God. I will strengthen you and help you; I will uphold you with my righteous right hand."
},
{
"pack": "TMS 60 Pack C",
"title": "His Strength",
"chapterTitle": "",
"reference": "Philippians 4:13",
"verse": "I can do everything through him who gives me strength."
},
{
"pack": "TMS 60 Pack C",
"title": "His Faithfulness",
"chapterTitle": "",
"reference": "Lamentations 3:22-23",
"verse": "Because of the LORD's great love we are not consumed, for his compassions never fail. They are new every morning; great is your faithfulness."
},
{
"pack": "TMS 60 Pack C",
"title": "His Faithfulness",
"chapterTitle": "",
"reference": "Numbers 23:19",
"verse": "God is not a man, that he should lie, nor a son of man, that he should change his mind. Does he speak and then not act? Does he promise and not fulfill?"
},
{
"pack": "TMS 60 Pack C",
"title": "His Peace",
"chapterTitle": "",
"reference": "Isaiah 26:3",
"verse": "You will keep in perfect peace him whose mind is steadfast, because he trusts in you."
},
{
"pack": "TMS 60 Pack C",
"title": "His Peace",
"chapterTitle": "",
"reference": "1 Peter 5:7",
"verse": "Cast all your anxiety on him because he cares for you."
},
{
"pack": "TMS 60 Pack C",
"title": "His Provision",
"chapterTitle": "",
"reference": "Romans 8:32",
"verse": "He who did not spare his own Son, but gave him up for us all--how will he not also, along with him, graciously give us all things?"
},
{
"pack": "TMS 60 Pack C",
"title": "His Provision",
"chapterTitle": "",
"reference": "Philippians 4:19",
"verse": "And my God will meet all your needs according to his glorious riches in Christ Jesus."
},
{
"pack": "TMS 60 Pack C",
"title": "His Help in Temptation",
"chapterTitle": "",
"reference": "Hebrews 2:18",
"verse": "Because he himself suffered when he was tempted, he is able to help those who are being tempted."
},
{
"pack": "TMS 60 Pack C",
"title": "His Help in Temptation",
"chapterTitle": "",
"reference": "Psalms 119:9,11",
"verse": "How can a young man keep his way pure? By living according to your word. I have hidden your word in my heart that I might not sin against you."
}
],
"tms-60-pack-d": [
{
"pack": "TMS 60 Pack D",
"title": "Put Christ First",
"chapterTitle": "",
"reference": "Matthew 6:33",
"verse": "But seek first his kingdom and his righteousness, and all these things will be given to you as well."
},
{
"pack": "TMS 60 Pack D",
"title": "Put Christ First",
"chapterTitle": "",
"reference": "Luke 9:23",
"verse": "Then he said to them all: If anyone would come after me, he must deny himself and take up his cross daily and follow me."
},
{
"pack": "TMS 60 Pack D",
"title": "Separate from the World",
"chapterTitle": "",
"reference": "1 John 2:15,16",
"verse": "Do not love the world or anything in the world. If anyone loves the world, the love of the Father is not in him. For everything in the world--the cravings of sinful man, the lust of his eyes and the boasting of what he has and does--comes not from the Father but from the world."
},
{
"pack": "TMS 60 Pack D",
"title": "Separate from the World",
"chapterTitle": "",
"reference": "Romans 12:2",
"verse": "Do not conform any longer to the pattern of this world, but be transformed by the renewing of your mind. Then you will be able to test and approve what God's will is--his good, pleasing and perfect will."
},
{
"pack": "TMS 60 Pack D",
"title": "Be Steadfast",
"chapterTitle": "",
"reference": "1 Corinthians 15:58",
"verse": "Therefore, my dear brothers, stand firm. Let nothing move you. Always give yourselves fully to the work of the Lord, because you know that your labor in the Lord is not in vain."
},
{
"pack": "TMS 60 Pack D",
"title": "Be Steadfast",
"chapterTitle": "",
"reference": "Hebrews 12:3",
"verse": "Consider him who endured such opposition from sinful men, so that you will not grow weary and lose heart."
},
{
"pack": "TMS 60 Pack D",
"title": "Serve Others",
"chapterTitle": "",
"reference": "Mark 10:45",
"verse": "For even the Son of Man did not come to be served, but to serve, and to give his life as a ransom for many."
},
{
"pack": "TMS 60 Pack D",
"title": "Serve Others",
"chapterTitle": "",
"reference": "2 Corinthians 4:5",
"verse": "For we do not preach ourselves, but Jesus Christ as Lord, and ourselves as your servants for Jesus' sake."
},
{
"pack": "TMS 60 Pack D",
"title": "Give Generously",
"chapterTitle": "",
"reference": "Proverbs 3:9,10",
"verse": "Honor the LORD with your wealth, with the firstfruits of all your crops; then your barns will be filled to overflowing, and your vats will brim over with new wine."
},
{
"pack": "TMS 60 Pack D",
"title": "Give Generously",
"chapterTitle": "",
"reference": "2 Corinthians 9:6,7",
"verse": "Remember this: Whoever sows sparingly will also reap sparingly, and whoever sows generously will also reap generously. Each man should give what he has decided in his heart to give, not reluctantly or under compulsion, for God loves a cheerful giver."
},
{
"pack": "TMS 60 Pack D",
"title": "Develop World Vision",
"chapterTitle": "",
"reference": "Acts 1:8",
"verse": "But you will receive power when the Holy Spirit comes on you; and you will be my witnesses in Jerusalem, and in all Judea and Samaria, and to the ends of the earth."
},
{
"pack": "TMS 60 Pack D",
"title": "Develop World Vision",
"chapterTitle": "",
"reference": "Matthew 28:19-20",
"verse": "Therefore go and make disciples of all nations, baptizing them in the name of the Father and of the Son and of the Holy Spirit, and teaching them to obey everything I have commanded you. And surely I am with you always, to the very end of the age."
}
],
"tms-60-pack-e": [
{
"pack": "TMS 60 Pack E",
"title": "Love",
"chapterTitle": "",
"reference": "John 13:34-35",
"verse": "A new command I give you: Love one another. As I have loved you, so you must love one another. By this all men will know that you are my disciples, if you love one another."
},
{
"pack": "TMS 60 Pack E",
"title": "Love",
"chapterTitle": "",
"reference": "1 John 3:18",
"verse": "Dear children, let us not love with words or tongue but with actions and in truth."
},
{
"pack": "TMS 60 Pack E",
"title": "Humility",
"chapterTitle": "",
"reference": "Philippians 2:3-4",
"verse": "Do nothing out of selfish ambition or vain conceit, but in humility consider others better than yourselves. Each of you should look not only to your own interests, but also to the interests of others."
},
{
"pack": "TMS 60 Pack E",
"title": "Humility",
"chapterTitle": "",
"reference": "1 Peter 5:5-6",
"verse": "Young men, in the same way be submissive to those who are older. All of you, clothe yourselves with humility toward one another, because, God opposes the proud but gives grace to the humble. Humble yourselves, therefore, under God's mighty hand, that he may lift you up in due time."
},
{
"pack": "TMS 60 Pack E",
"title": "Purity",
"chapterTitle": "",
"reference": "Ephesians 5:3",
"verse": "But among you there must not be even a hint of sexual immorality, or of any kind of impurity, or of greed, because these are improper for God's holy people."
},
{
"pack": "TMS 60 Pack E",
"title": "Purity",
"chapterTitle": "",
"reference": "1 Peter 2:11",
"verse": "Dear friends, I urge you, as aliens and strangers in the world, to abstain from sinful desires, which war against your soul."
},
{
"pack": "TMS 60 Pack E",
"title": "Honesty",
"chapterTitle": "",
"reference": "Leviticus 19:11",
"verse": "Do not steal. Do not lie. Do not deceive one another."
},
{
"pack": "TMS 60 Pack E",
"title": "Honesty",
"chapterTitle": "",
"reference": "Acts 24:16",
"verse": "So I strive always to keep my conscience clear before God and man."
},
{
"pack": "TMS 60 Pack E",
"title": "Faith",
"chapterTitle": "",
"reference": "Hebrews 11:6",
"verse": "And without faith it is impossible to please God, because anyone who comes to him must believe that he exists and that he rewards those who earnestly seek him."
},
{
"pack": "TMS 60 Pack E",
"title": "Faith",
"chapterTitle": "",
"reference": "Romans 4:20,21",
"verse": "Yet he did not waver through unbelief regarding the promise of God, but was strengthened in his faith and gave glory to God, being fully persuaded that God had power to do what he had promised."
},
{
"pack": "TMS 60 Pack E",
"title": "Good Works",
"chapterTitle": "",
"reference": "Galatians 6:9,10",
"verse": "Let us not become weary in doing good, for at the proper time we will reap a harvest if we do not give up. Therefore, as we have opportunity, let us do good to all people, especially to those who belong to the family of believers."
},
{
"pack": "TMS 60 Pack E",
"title": "Good Works",
"chapterTitle": "",
"reference": "Matthew 5:16",
"verse": "In the same way, let your light shine before men, that they may see your good deeds and praise your Father in heaven."
}
]
}
}