Wrote page for Review with one type of review and questions for 1 language.
This commit is contained in:
@@ -1,14 +1,87 @@
|
|||||||
|
import { useNavigate } from "react-router-dom"
|
||||||
import NavBar from "../components/NavBar"
|
import NavBar from "../components/NavBar"
|
||||||
|
import { getLanguage, getUsername } from "../logic/sdk";
|
||||||
|
|
||||||
export default function Review() {
|
export default function Review() {
|
||||||
|
const navigate = useNavigate();
|
||||||
|
|
||||||
|
const writtenReview = ["Questions", "Vocabulary"];
|
||||||
|
const verbalReview = ["Questions", "Pronunciation"];
|
||||||
|
const language = getLanguage(getUsername());
|
||||||
|
|
||||||
|
const handleReviewLessonClick = (reviewType: string, lesson: string) => {
|
||||||
|
type Question = { question: string, wordBank: string[], expected: string, type: string, exercise: string };
|
||||||
|
let reviewQuestions: Question[] = [];
|
||||||
|
if (language === "Japanese") {
|
||||||
|
reviewQuestions = [
|
||||||
|
{
|
||||||
|
question: 'Translate this sentence: 新幹線で東京に行きます。',
|
||||||
|
wordBank: ['Explore', 'Train', 'Will', 'City', 'I', 'Go', 'Bullet', 'To', 'Tokyo', 'By', 'Mountain'],
|
||||||
|
expected: 'I will go to Tokyo by bullet train.',
|
||||||
|
type: reviewType,
|
||||||
|
exercise: lesson
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question: 'Translate this sentence: 空港で荷物を受け取ります。',
|
||||||
|
wordBank: ['Sunset', 'Will', 'Ocean', 'At', 'Adventure', 'Airport', 'The', 'I', 'Receive', 'Luggage'],
|
||||||
|
expected: 'I will receive luggage at the airport.',
|
||||||
|
type: reviewType,
|
||||||
|
exercise: lesson
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question: 'Translate this sentence: ホテルでチェックインします。',
|
||||||
|
wordBank: ['Culture', 'At', 'Jungle', 'Will', 'The', 'Check-In', 'Hotel', 'I', 'Historic'],
|
||||||
|
expected: 'I will check in at the hotel.',
|
||||||
|
type: reviewType,
|
||||||
|
exercise: lesson
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question: 'Translate this sentence: 観光名所を訪れます。',
|
||||||
|
wordBank: ['Desert', 'Mountain', 'Beach', 'Visit', 'Attractions', 'Tourist', 'I', 'Will'],
|
||||||
|
expected: 'I will visit tourist attractions.',
|
||||||
|
type: reviewType,
|
||||||
|
exercise: lesson
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question: 'Translate this sentence: 美味しい地元の食べ物を試します。',
|
||||||
|
wordBank: ['Try', 'Market', 'Delicious', 'I', 'Food', 'Will', 'River', 'Local', 'Park'],
|
||||||
|
expected: 'I will try delicious local food.',
|
||||||
|
type: reviewType,
|
||||||
|
exercise: lesson
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
navigate('/lesson', { state: { questions: reviewQuestions } });
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="layout-v p-10">
|
<div className="layout-v p-10">
|
||||||
|
<h1 className="text-center p-10">Review Page</h1>
|
||||||
|
<h2 className="text-center">Written</h2>
|
||||||
|
<div className="flex flex-col flex-1 mb-8">
|
||||||
|
{writtenReview.map(lesson => (
|
||||||
|
<button
|
||||||
|
className="white"
|
||||||
|
key={"written-" + lesson}
|
||||||
|
onClick={() => handleReviewLessonClick("written", lesson.toLowerCase())}
|
||||||
|
>
|
||||||
|
{lesson}
|
||||||
|
</button>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
<h2 className="text-center">Verbal/Listening</h2>
|
||||||
<div className="flex flex-col flex-1">
|
<div className="flex flex-col flex-1">
|
||||||
<h1>Review Page</h1>
|
{verbalReview.map(lesson => (
|
||||||
|
<button
|
||||||
|
className="white"
|
||||||
|
key={"verbal-listening-" + lesson}
|
||||||
|
onClick={() => handleReviewLessonClick("verbal-listening", lesson.toLowerCase())}
|
||||||
|
>
|
||||||
|
{lesson}
|
||||||
|
</button>
|
||||||
|
))}
|
||||||
</div>
|
</div>
|
||||||
<NavBar />
|
<NavBar />
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user