22
33import BackToDashBoardLink from "@/components/back-to-dashboard-link" ;
44import YouTube from "react-youtube" ;
5- import { Cinzel } from 'next/font/google' ;
5+ import Quiz from "@/components/tutorial-quiz" ;
6+
7+ import { Cinzel } from "next/font/google" ;
8+ import { helloWorldQuiz } from "@/data/quizzes/01-hello-world" ;
69
710const cinzel = Cinzel ( {
811 subsets : [ "latin" ] ,
912 weight : [ "400" , "700" ] ,
1013} ) ;
1114
1215// body text (Times New Roman= more readable)
13- const bodyFontClass = "font-serif text-amber-950" ;
16+ const bodyFontClass = "font-serif text-amber-950" ;
1417// titles (Cinzel font)
15- const cinzelTitleClass = cinzel . className ;
18+ const cinzelTitleClass = cinzel . className ;
1619
1720export default function TutorialHelloWorld ( ) {
1821 return (
19- // Background of scroll
22+ // Background of scroll
2023 < div
2124 className = "min-h-screen p-4 md:p-12"
2225 style = { {
23- backgroundImage : "url('/geminiblurred.png')" ,
24- backgroundSize : ' cover' ,
25- backgroundPosition : ' center' ,
26- backgroundColor : ' #fef3c7' ,
26+ backgroundImage : "url('/geminiblurred.png')" ,
27+ backgroundSize : " cover" ,
28+ backgroundPosition : " center" ,
29+ backgroundColor : " #fef3c7" ,
2730 } }
2831 >
29- < div
30- className = "inline-block p-4"
31- style = { { zIndex : 10 } }
32- >
32+ < div className = "inline-block p-4" style = { { zIndex : 10 } } >
3333 < BackToDashBoardLink />
3434 </ div >
3535
3636 { /* "scroll"*/ }
37- < article className = { `max-w-4xl mx-auto bg-amber-100 p-8 md:p-12 shadow-2xl shadow-amber-950/70 space-y-8
37+ < article
38+ className = { `max-w-4xl mx-auto bg-amber-100 p-8 md:p-12 shadow-2xl shadow-amber-950/70 space-y-8
3839 ${ bodyFontClass } border border-amber-800 transform rotate-[-0.5deg]
39- rounded-t-[4rem] rounded-b-lg` } >
40-
40+ rounded-t-[4rem] rounded-b-lg` }
41+ >
4142 { /* title*/ }
42- < h1 className = { `text-4xl md:text-5xl font-bold ${ cinzelTitleClass }
43- border-b-4 border-amber-900 pb-4 mb-8 text-center uppercase` } >
43+ < h1
44+ className = { `text-4xl md:text-5xl font-bold ${ cinzelTitleClass }
45+ border-b-4 border-amber-900 pb-4 mb-8 text-center uppercase` }
46+ >
4447 Quest: The Oracle's First Greeting
4548 </ h1 >
46-
49+
4750 < p className = "text-xl italic text-amber-900" >
4851 Welcome, brave coder! Your journey into the mystical lands of programming begins now.
4952 Before you can conjure complex spells or build mighty digital fortresses, every adventurer
@@ -56,7 +59,7 @@ export default function TutorialHelloWorld() {
5659 </ p >
5760
5861 < hr className = "my-8 border-amber-900/50" />
59-
62+
6063 { /* section*/ }
6164 < section className = "space-y-4" >
6265 < h2 className = { `text-3xl font-semibold ${ cinzelTitleClass } ` } >
@@ -79,7 +82,7 @@ export default function TutorialHelloWorld() {
7982 </ section >
8083
8184 < hr className = "my-8 border-amber-900/50" />
82-
85+
8386 { /* section */ }
8487 < section className = "space-y-4" >
8588 < h2 className = { `text-3xl font-semibold ${ cinzelTitleClass } ` } >
@@ -88,27 +91,27 @@ export default function TutorialHelloWorld() {
8891 < p className = "text-lg" > Why start with something so simple?</ p >
8992 < ul className = "list-disc list-inside space-y-3 text-lg pl-4" >
9093 < li >
91- < strong className = "font-semibold text-amber-950" > It's Tradition:</ strong > Like a knight
92- receiving their first sword, programmers worldwide start here. It connects you to
93- generations of coders before you!
94+ < strong className = "font-semibold text-amber-950" > It's Tradition:</ strong > Like a
95+ knight receiving their first sword, programmers worldwide start here. It connects you
96+ to generations of coders before you!
9497 </ li >
9598 < li >
96- < strong className = "font-semibold text-amber-950" > It's a Test:</ strong > Successfully making the
97- machine say "Hello World" proves your basic setup is working. Your coding
98- environment, the language you're using - they're all aligned and ready for
99- more complex commands. It's like checking if your magic wand sparks before trying
100- to levitate a mountain.
99+ < strong className = "font-semibold text-amber-950" > It's a Test:</ strong > { " " }
100+ Successfully making the machine say "Hello World" proves your basic setup is
101+ working. Your coding environment, the language you're using - they're all
102+ aligned and ready for more complex commands. It's like checking if your magic
103+ wand sparks before trying to levitate a mountain.
101104 </ li >
102105 < li >
103- < strong className = "font-semibold text-amber-950" > It's Confidence:</ strong > Seeing your very
104- first command come to life, even a simple one, is a powerful boost! It's the
105- first step on your epic journey.
106+ < strong className = "font-semibold text-amber-950" > It's Confidence:</ strong > Seeing
107+ your very first command come to life, even a simple one, is a powerful boost!
108+ It's the first step on your epic journey.
106109 </ li >
107110 </ ul >
108111 </ section >
109-
112+
110113 < hr className = "my-8 border-amber-900/50" />
111-
114+
112115 { /* section*/ }
113116 < section className = "space-y-4" >
114117 < h2 className = { `text-3xl font-semibold ${ cinzelTitleClass } ` } >
@@ -124,17 +127,27 @@ export default function TutorialHelloWorld() {
124127 < p className = "text-lg" >
125128 Different programming languages (spellbooks) have slightly different words for the
126129 'Display' command (like{ " " }
127- < code className = "bg-amber-200 px-1 rounded text-amber-950 font-mono border border-amber-800" > print</ code > ,{ " " }
128- < code className = "bg-amber-200 px-1 rounded text-amber-950 font-mono border border-amber-800" > console.log</ code > ,{ " " }
129- < code className = "bg-amber-200 px-1 rounded text-amber-950 font-mono border border-amber-800" > echo</ code > ), but the core
130- idea is the same: tell the machine to show those exact words.
130+ < code className = "bg-amber-200 px-1 rounded text-amber-950 font-mono border border-amber-800" >
131+ print
132+ </ code >
133+ ,{ " " }
134+ < code className = "bg-amber-200 px-1 rounded text-amber-950 font-mono border border-amber-800" >
135+ console.log
136+ </ code >
137+ ,{ " " }
138+ < code className = "bg-amber-200 px-1 rounded text-amber-950 font-mono border border-amber-800" >
139+ echo
140+ </ code >
141+ ), but the core idea is the same: tell the machine to show those exact words.
131142 </ p >
132143 </ section >
133-
144+
134145 < hr className = "my-8 border-amber-900/50" />
135146
136147 < YouTube videoId = "hp4pYFASTrc" > </ YouTube >
148+
149+ < Quiz quizData = { helloWorldQuiz } > </ Quiz >
137150 </ article >
138151 </ div >
139152 ) ;
140- }
153+ }
0 commit comments