Skip to content

Commit 02fe61a

Browse files
style: switch to big arrows, turn arrows green after quest completion
1 parent b8a634d commit 02fe61a

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

src/app/dashboard/page.tsx

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Link from "next/link";
33
import { createClient as createServerClient } from "../../lib/supabase/server";
44
import { Cinzel } from "next/font/google";
55
import checkUserCompletedQuizzes from "@/lib/checkUserCompletedQuizzes";
6-
import { ArrowLeft, ArrowDown, ArrowRight } from "lucide-react";
6+
import { ArrowBigLeft, ArrowBigDown, ArrowBigRight } from "lucide-react";
77

88
const cinzel = Cinzel({
99
subsets: ["latin"],
@@ -51,8 +51,9 @@ export default async function DashboardPage() {
5151
const greenButtonClass =
5252
"btn border-2 border-emerald-400 text-emerald-400 bg-emerald-900/60 backdrop-blur-sm hover:bg-emerald-900/50 hover:border-emerald-200 hover:text-emerald-200 shadow-lg shadow-emerald-400/70 transition duration-300 ease-in-out";
5353

54-
// helper
54+
// helpers
5555
const getButtonClass = (complete: boolean) => (complete ? greenButtonClass : greyButtonClass);
56+
const getArrowColor = (complete: boolean) => (complete ? "text-emerald-400" : "text-gray-400");
5657

5758
return (
5859
<main
@@ -88,58 +89,63 @@ export default async function DashboardPage() {
8889
{/* Tutorials */}
8990
<div className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-black/70 backdrop-blur-md rounded-2xl p-8 border border-white/10">
9091
<div className="grid grid-cols-[1fr_auto_1fr] gap-4 items-center w-[500px]">
92+
{/* Row 1: Hello World → Variables */}
9193
<Link href="tutorial-hello-world" className={getButtonClass(isHelloWorldComplete)}>
9294
Hello World
9395
</Link>
94-
<ArrowRight className="text-gray-400" size={24} />
96+
<ArrowBigRight className={getArrowColor(isVariablesComplete)} size={28} />
9597
<Link href="tutorial-variables" className={getButtonClass(isVariablesComplete)}>
9698
Variables
9799
</Link>
98100

99101
<div className="col-span-3 flex justify-end pr-12">
100-
<ArrowDown className="text-gray-400" size={24} />
102+
<ArrowBigDown className={getArrowColor(isUserInputComplete)} size={28} />
101103
</div>
102104

105+
{/* Row 2: Conditionals ← User Input */}
103106
<Link href="tutorial-conditionals" className={getButtonClass(isConditionalsComplete)}>
104107
Conditionals
105108
</Link>
106-
<ArrowLeft className="text-gray-400" size={24} />
109+
<ArrowBigLeft className={getArrowColor(isConditionalsComplete)} size={28} />
107110
<Link href="tutorial-user-input" className={getButtonClass(isUserInputComplete)}>
108111
User Input
109112
</Link>
110113

111114
<div className="col-span-3 flex justify-start pl-12">
112-
<ArrowDown className="text-gray-400" size={24} />
115+
<ArrowBigDown className={getArrowColor(isLoopsComplete)} size={28} />
113116
</div>
114117

118+
{/* Row 3: Loops → Math */}
115119
<Link href="tutorial-loops" className={getButtonClass(isLoopsComplete)}>
116120
Loops
117121
</Link>
118-
<ArrowRight className="text-gray-400" size={24} />
122+
<ArrowBigRight className={getArrowColor(isMathComplete)} size={28} />
119123
<Link href="tutorial-math" className={getButtonClass(isMathComplete)}>
120124
Math
121125
</Link>
122126

123127
<div className="col-span-3 flex justify-end pr-12">
124-
<ArrowDown className="text-gray-400" size={24} />
128+
<ArrowBigDown className={getArrowColor(isFunctionsComplete)} size={28} />
125129
</div>
126130

131+
{/* Row 4: Lists & Arrays ← Functions */}
127132
<Link href="tutorial-lists-arrays" className={getButtonClass(isListsArraysComplete)}>
128133
Lists & Arrays
129134
</Link>
130-
<ArrowLeft className="text-gray-400" size={24} />
135+
<ArrowBigLeft className={getArrowColor(isListsArraysComplete)} size={28} />
131136
<Link href="tutorial-functions" className={getButtonClass(isFunctionsComplete)}>
132137
Functions
133138
</Link>
134139

135140
<div className="col-span-3 flex justify-start pl-12">
136-
<ArrowDown className="text-gray-400" size={24} />
141+
<ArrowBigDown className={getArrowColor(isDictionaryComplete)} size={28} />
137142
</div>
138143

144+
{/* Row 5: Dictionary → Recursion */}
139145
<Link href="tutorial-dictionary" className={getButtonClass(isDictionaryComplete)}>
140146
Dictionary
141147
</Link>
142-
<ArrowRight className="text-gray-400" size={24} />
148+
<ArrowBigRight className={getArrowColor(isRecursionComplete)} size={28} />
143149
<Link href="tutorial-recursion" className={getButtonClass(isRecursionComplete)}>
144150
Recursion
145151
</Link>

0 commit comments

Comments
 (0)