rogasper commited on
Commit
b648004
·
1 Parent(s): dee29ff

feat: add new video resources for exam preparation and enhance LandingPage with GitHub link and demo section. Introduce interactive elements and improve button layouts for better user engagement.

Browse files
apps/web/public/attempt exam.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d4de92ea9cac91bc7731d97126fdbcb9b0c1764150e9e53155a1b0acf480de77
3
+ size 1113284
apps/web/public/generate soal.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:21dd9d8620058d16308ddca2c17061efe48da4c3327882f1ea89f8baeabb393b
3
+ size 6167807
apps/web/public/paket soal.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c6a3b8bfd988333e7244ea497f6eaf38103a1e7a74cd108e18917bf8b1dfa89b
3
+ size 2073297
apps/web/src/components/routes/LandingPage.tsx CHANGED
@@ -59,14 +59,21 @@ export function LandingPage() {
59
  <img src="/logo.png" alt="Labas Logo" className="h-10 w-auto object-contain" />
60
  <span className="font-headline font-semibold text-2xl tracking-[-0.64px] text-[var(--clay-black)] hidden sm:block">Labas</span>
61
  </div>
62
- <div className="flex items-center gap-4">
 
 
 
 
 
 
 
63
  <Link to="/login">
64
- <Button variant="ghost" className="text-[var(--clay-black)] font-semibold hover:bg-[var(--oat-light)] rounded-[12px] text-lg px-6 h-12">
65
  Masuk
66
  </Button>
67
  </Link>
68
  <Link to="/login">
69
- <Button className="bg-[var(--clay-black)] text-[var(--pure-white)] hover:bg-[var(--dark-charcoal)] rounded-[24px] h-12 px-8 font-semibold text-lg clay-hover clay-shadow">
70
  Mulai Gratis
71
  </Button>
72
  </Link>
@@ -90,12 +97,20 @@ export function LandingPage() {
90
  Persiapkan dirimu untuk ujian bahasa asing dengan latihan soal interaktif, mock test realistis, dan AI Generator super cepat.
91
  </p>
92
 
93
- <div className="flex flex-col sm:flex-row items-center gap-6 justify-center xl:justify-start pt-6">
94
  <Link to="/login" className="w-full sm:w-auto">
95
- <Button className="w-full sm:w-auto bg-[var(--pure-white)] text-[var(--clay-black)] rounded-[24px] h-[64px] px-10 text-xl font-semibold border-2 border-[var(--oat-border)] clay-shadow clay-hover">
96
  Mulai Latihan Sekarang
97
  </Button>
98
  </Link>
 
 
 
 
 
 
 
 
99
  </div>
100
  </div>
101
 
@@ -121,6 +136,185 @@ export function LandingPage() {
121
  </div>
122
  </section>
123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  {/* Feature Cards Section */}
125
  <section id="features" className="w-full bg-[var(--pure-white)] py-32 border-y-2 border-dashed border-[var(--oat-border)]">
126
  <div className="max-w-7xl mx-auto px-6 md:px-12 lg:px-16">
@@ -227,6 +421,8 @@ export function LandingPage() {
227
  </div>
228
  </section>
229
 
 
 
230
  {/* SWATCH ROOM 1: Ube FAQ Section */}
231
  <section className="w-full bg-[var(--ube-800)] py-32 rounded-t-[40px] mt-[-40px] z-10 relative shadow-[0_-10px_40px_rgba(0,0,0,0.1)] border-t-2 border-[var(--oat-border)]/20">
232
  <div className="max-w-4xl mx-auto px-6 md:px-12 lg:px-16">
@@ -286,6 +482,27 @@ export function LandingPage() {
286
 
287
  {/* Footer */}
288
  <footer className="w-full bg-[var(--pure-white)] py-12 border-t-2 border-[var(--oat-border)] text-center relative z-30">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
289
  <p className="text-[var(--warm-charcoal)] font-semibold text-lg">
290
  &copy; {new Date().getFullYear()} Labas. Didesain dengan penuh kehangatan.
291
  </p>
 
59
  <img src="/logo.png" alt="Labas Logo" className="h-10 w-auto object-contain" />
60
  <span className="font-headline font-semibold text-2xl tracking-[-0.64px] text-[var(--clay-black)] hidden sm:block">Labas</span>
61
  </div>
62
+ <div className="flex items-center gap-2 sm:gap-4">
63
+ <a href="https://github.com/rogasper/labas-bahasa" target="_blank" rel="noopener noreferrer" className="text-[var(--warm-charcoal)] hover:text-[var(--clay-black)] transition-colors p-2 hidden sm:flex items-center gap-2" aria-label="GitHub Repository">
64
+ <svg viewBox="0 0 24 24" className="w-6 h-6 fill-current" aria-hidden="true">
65
+ <path fillRule="evenodd" clipRule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" />
66
+ </svg>
67
+ <span className="font-semibold text-base">Star us</span>
68
+ </a>
69
+ <div className="w-px h-6 bg-[var(--oat-border)] hidden sm:block mx-2"></div>
70
  <Link to="/login">
71
+ <Button variant="ghost" className="text-[var(--clay-black)] font-semibold hover:bg-[var(--oat-light)] rounded-[12px] text-lg px-4 sm:px-6 h-12">
72
  Masuk
73
  </Button>
74
  </Link>
75
  <Link to="/login">
76
+ <Button className="bg-[var(--clay-black)] text-[var(--pure-white)] hover:bg-[var(--dark-charcoal)] rounded-[24px] h-12 px-6 sm:px-8 font-semibold text-lg clay-hover clay-shadow">
77
  Mulai Gratis
78
  </Button>
79
  </Link>
 
97
  Persiapkan dirimu untuk ujian bahasa asing dengan latihan soal interaktif, mock test realistis, dan AI Generator super cepat.
98
  </p>
99
 
100
+ <div className="flex flex-col sm:flex-row items-center gap-4 justify-center xl:justify-start pt-6">
101
  <Link to="/login" className="w-full sm:w-auto">
102
+ <Button className="w-full sm:w-auto bg-[var(--pure-white)] text-[var(--clay-black)] rounded-[24px] h-[64px] px-8 text-xl font-semibold border-2 border-[var(--oat-border)] clay-shadow clay-hover">
103
  Mulai Latihan Sekarang
104
  </Button>
105
  </Link>
106
+ <a href="https://github.com/rogasper/labas-bahasa" target="_blank" rel="noopener noreferrer" className="w-full sm:w-auto">
107
+ <Button variant="ghost" className="w-full sm:w-auto text-[var(--clay-black)] rounded-[24px] h-[64px] px-8 text-xl font-semibold hover:bg-[var(--oat-light)] border-2 border-transparent flex items-center gap-3">
108
+ <svg viewBox="0 0 24 24" className="w-6 h-6 fill-current" aria-hidden="true">
109
+ <path fillRule="evenodd" clipRule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" />
110
+ </svg>
111
+ Lihat di GitHub
112
+ </Button>
113
+ </a>
114
  </div>
115
  </div>
116
 
 
136
  </div>
137
  </section>
138
 
139
+ {/* VIDEO DEMO SECTION - DYNAMIC ZIGZAG */}
140
+ <section id="demo" className="w-full bg-[var(--warm-cream)] py-20 pb-32 relative overflow-hidden">
141
+ {/* Decorative background elements */}
142
+ <div className="absolute top-40 -left-64 w-[500px] h-[500px] bg-[var(--matcha-300)]/30 rounded-full blur-3xl pointer-events-none"></div>
143
+ <div className="absolute bottom-40 -right-64 w-[600px] h-[600px] bg-[var(--slushie-500)]/20 rounded-full blur-3xl pointer-events-none"></div>
144
+
145
+ <div className="max-w-7xl mx-auto px-6 md:px-12 lg:px-16 relative z-10">
146
+ <div className="text-center max-w-3xl mx-auto mb-24 space-y-6">
147
+ <div className="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-[var(--ube-300)]/30 border-2 border-[var(--ube-300)] text-[var(--ube-800)] uppercase-label shadow-sm">
148
+ <MaterialIcon name="play_circle" className="text-sm" />
149
+ <span>Lihat Aksinya</span>
150
+ </div>
151
+ <h2 className="text-[50px] md:text-[60px] font-headline font-semibold text-[var(--clay-black)] tracking-[-2.4px] leading-tight drop-shadow-sm">
152
+ Pengalaman Belajar Generasi Baru
153
+ </h2>
154
+ </div>
155
+
156
+ <div className="space-y-32">
157
+ {/* Feature 1: Hero Showcase - Generate AI */}
158
+ <div className="flex flex-col items-center text-center pb-8 pt-4">
159
+ <div className="max-w-3xl space-y-5 mb-10">
160
+ <div className="inline-block px-4 py-1.5 rounded-full bg-[var(--ube-300)]/20 border-2 border-[var(--ube-300)]/50 text-[var(--ube-800)] text-sm font-bold tracking-wide uppercase-label mb-2">✨ Fitur Unggulan</div>
161
+ <h3 className="text-[36px] md:text-[45px] lg:text-[55px] font-headline font-semibold text-[var(--clay-black)] leading-[1.1] tracking-[-1.5px]">
162
+ Generate Soal <br className="hidden sm:block md:hidden" /> <span className="text-[var(--ube-800)]">Agentic AI</span>
163
+ </h3>
164
+ <p className="text-lg md:text-xl text-[var(--warm-charcoal)] leading-relaxed max-w-2xl mx-auto">
165
+ Masukkan teks bacaan bahasa asing, dan biarkan sistem <i>Multi-step Agentic Pipeline</i> kami (Validasi → Generasi → Self-check) menyusun paket soal bermutu secara otomatis.
166
+ </p>
167
+ </div>
168
+
169
+ <div className="w-full relative group max-w-5xl mx-auto">
170
+ <div className="absolute inset-0 bg-gradient-to-tr from-[var(--ube-400)] via-[var(--matcha-300)] to-[var(--lemon-400)] rounded-[48px] transform rotate-1 group-hover:rotate-2 transition-transform duration-700 opacity-60 blur-xl"></div>
171
+ <div className="absolute inset-0 bg-gradient-to-tr from-[var(--ube-400)] via-[var(--matcha-300)] to-[var(--lemon-400)] rounded-[48px] transform rotate-1 group-hover:rotate-2 transition-transform duration-700"></div>
172
+ <div className="relative rounded-[48px] overflow-hidden border-[6px] border-[var(--pure-white)] shadow-[0_30px_80px_rgba(0,0,0,0.2)] bg-[var(--oat-light)] transform transition-transform duration-700 group-hover:-translate-y-2">
173
+ <video
174
+ className="w-full aspect-video object-cover"
175
+ autoPlay
176
+ muted
177
+ loop
178
+ playsInline
179
+ >
180
+ <source src="/generate%20soal.mp4" type="video/mp4" />
181
+ Browser Anda tidak mendukung tag video.
182
+ </video>
183
+ </div>
184
+
185
+ {/* Floating badge 1 */}
186
+ <div className="absolute -bottom-8 right-4 md:-right-8 bg-[var(--pure-white)] border-2 border-[var(--oat-border)] p-4 md:p-5 rounded-[24px] md:rounded-[28px] shadow-2xl clay-hover transform -rotate-3 z-20 flex items-center gap-3 md:gap-4">
187
+ <div className="w-12 h-12 md:w-14 md:h-14 rounded-full bg-[var(--ube-300)] flex items-center justify-center">
188
+ <MaterialIcon name="smart_toy" className="text-2xl md:text-3xl text-[var(--ube-800)]" />
189
+ </div>
190
+ <div className="text-left">
191
+ <p className="text-base md:text-lg font-bold text-[var(--clay-black)] leading-tight">Agentic Pipeline</p>
192
+ <p className="text-xs md:text-sm text-[var(--warm-charcoal)]">Generasi & Self-Check</p>
193
+ </div>
194
+ </div>
195
+
196
+ {/* Floating badge 2 */}
197
+ <div className="absolute -top-8 left-4 md:-left-8 bg-[var(--pure-white)] border-2 border-[var(--oat-border)] p-4 rounded-[24px] shadow-2xl clay-hover transform rotate-3 z-20 flex items-center gap-3 hidden md:flex">
198
+ <div className="w-12 h-12 rounded-full bg-[var(--lemon-400)] flex items-center justify-center">
199
+ <MaterialIcon name="verified" className="text-2xl text-[var(--lemon-800)]" />
200
+ </div>
201
+ <div className="text-left">
202
+ <p className="font-bold text-[var(--clay-black)] leading-tight">Kualitas Tinggi</p>
203
+ <p className="text-xs text-[var(--warm-charcoal)]">Evaluasi Otomatis</p>
204
+ </div>
205
+ </div>
206
+ </div>
207
+ </div>
208
+
209
+ {/* Feature 2: Zigzag Right - Manajemen Paket */}
210
+ <div className="flex flex-col lg:flex-row-reverse items-center gap-12 lg:gap-20">
211
+ <div className="flex-1 w-full lg:w-1/2 relative group">
212
+ <div className="absolute inset-0 bg-gradient-to-tr from-[var(--matcha-400)] to-[var(--lemon-400)] rounded-[40px] transform -rotate-3 group-hover:-rotate-6 transition-transform duration-700"></div>
213
+ <div className="relative rounded-[40px] overflow-hidden border-4 border-[var(--pure-white)] shadow-[0_20px_60px_rgba(0,0,0,0.15)] transform transition-transform duration-700 group-hover:-translate-y-2 bg-[var(--oat-light)]">
214
+ <video
215
+ className="w-full aspect-video object-cover"
216
+ autoPlay
217
+ muted
218
+ loop
219
+ playsInline
220
+ >
221
+ <source src="/paket%20soal.mp4" type="video/mp4" />
222
+ Browser Anda tidak mendukung tag video.
223
+ </video>
224
+ </div>
225
+
226
+ {/* Floating badge */}
227
+ <div className="absolute -top-6 -left-6 md:-left-10 bg-[var(--pure-white)] border-2 border-[var(--oat-border)] p-4 rounded-[24px] shadow-xl clay-hover transform rotate-6 z-20 flex items-center gap-3">
228
+ <div className="w-12 h-12 rounded-full bg-[var(--matcha-300)] flex items-center justify-center">
229
+ <MaterialIcon name="source" className="text-2xl text-[var(--matcha-800)]" />
230
+ </div>
231
+ <div>
232
+ <p className="font-bold text-[var(--clay-black)] leading-tight">Bank Soal</p>
233
+ <p className="text-xs text-[var(--warm-charcoal)]">Koleksi Lengkap</p>
234
+ </div>
235
+ </div>
236
+ </div>
237
+
238
+ <div className="flex-1 w-full lg:w-1/2 space-y-6">
239
+ <h3 className="text-[40px] lg:text-[50px] font-headline font-semibold text-[var(--clay-black)] leading-[1.1] tracking-[-1.5px]">
240
+ Kustomisasi <br/> <span className="text-[var(--matcha-600)]">Paket Belajar</span>
241
+ </h3>
242
+ <p className="text-xl text-[var(--warm-charcoal)] leading-relaxed">
243
+ Eksplorasi Bank Soal untuk merakit paket latihan Anda sendiri. Publikasikan paket soal buatan Anda, atau gunakan paket pilihan dari daftar Editor's Pick.
244
+ </p>
245
+ <ul className="space-y-4 pt-4">
246
+ <li className="flex items-center gap-3">
247
+ <div className="w-8 h-8 rounded-full bg-[var(--matcha-300)]/50 flex items-center justify-center">
248
+ <MaterialIcon name="check" className="text-[var(--matcha-800)]" />
249
+ </div>
250
+ <span className="text-lg font-medium text-[var(--clay-black)]">Bank Soal Terintegrasi</span>
251
+ </li>
252
+ <li className="flex items-center gap-3">
253
+ <div className="w-8 h-8 rounded-full bg-[var(--matcha-300)]/50 flex items-center justify-center">
254
+ <MaterialIcon name="check" className="text-[var(--matcha-800)]" />
255
+ </div>
256
+ <span className="text-lg font-medium text-[var(--clay-black)]">Sistem Publikasi Paket</span>
257
+ </li>
258
+ </ul>
259
+ </div>
260
+ </div>
261
+
262
+ {/* Feature 3: Zigzag Left - Simulasi */}
263
+ <div className="flex flex-col lg:flex-row items-center gap-12 lg:gap-20">
264
+ <div className="flex-1 w-full lg:w-1/2 relative group">
265
+ <div className="absolute inset-0 bg-gradient-to-tr from-[var(--slushie-500)] to-[var(--ube-400)] rounded-[40px] transform rotate-3 group-hover:rotate-6 transition-transform duration-700"></div>
266
+ <div className="relative rounded-[40px] overflow-hidden border-4 border-[var(--pure-white)] shadow-[0_20px_60px_rgba(0,0,0,0.15)] transform transition-transform duration-700 group-hover:-translate-y-2 bg-[var(--oat-light)]">
267
+ <video
268
+ className="w-full aspect-video object-cover"
269
+ autoPlay
270
+ muted
271
+ loop
272
+ playsInline
273
+ >
274
+ <source src="/attempt%20exam.mp4" type="video/mp4" />
275
+ Browser Anda tidak mendukung tag video.
276
+ </video>
277
+ </div>
278
+
279
+ {/* Floating badge */}
280
+ <div className="absolute -bottom-6 -right-6 md:-right-10 bg-[var(--pure-white)] border-2 border-[var(--oat-border)] p-4 rounded-[24px] shadow-xl clay-hover transform -rotate-6 z-20 flex items-center gap-3">
281
+ <div className="w-12 h-12 rounded-full bg-[var(--slushie-500)] flex items-center justify-center">
282
+ <MaterialIcon name="timer" className="text-2xl text-[var(--clay-black)]" />
283
+ </div>
284
+ <div>
285
+ <p className="font-bold text-[var(--clay-black)] leading-tight">Anti-Curang</p>
286
+ <p className="text-xs text-[var(--warm-charcoal)]">Validasi Waktu</p>
287
+ </div>
288
+ </div>
289
+ </div>
290
+
291
+ <div className="flex-1 w-full lg:w-1/2 space-y-6">
292
+ <h3 className="text-[40px] lg:text-[50px] font-headline font-semibold text-[var(--clay-black)] leading-[1.1] tracking-[-1.5px]">
293
+ Simulasi Ujian <br/> <span className="text-[var(--slushie-600)]">Fokus Penuh</span>
294
+ </h3>
295
+ <p className="text-xl text-[var(--warm-charcoal)] leading-relaxed">
296
+ Kerjakan latihan dengan antarmuka ujian sesungguhnya. Selesaikan tes dengan sistem timer yang tervalidasi secara akurat, dan dapatkan kalkulasi skor serta akurasi secara instan.
297
+ </p>
298
+ <ul className="space-y-4 pt-4">
299
+ <li className="flex items-center gap-3">
300
+ <div className="w-8 h-8 rounded-full bg-[var(--slushie-500)]/30 flex items-center justify-center">
301
+ <MaterialIcon name="check" className="text-[var(--clay-black)]" />
302
+ </div>
303
+ <span className="text-lg font-medium text-[var(--clay-black)]">Sistem Timer Tervalidasi</span>
304
+ </li>
305
+ <li className="flex items-center gap-3">
306
+ <div className="w-8 h-8 rounded-full bg-[var(--slushie-500)]/30 flex items-center justify-center">
307
+ <MaterialIcon name="check" className="text-[var(--clay-black)]" />
308
+ </div>
309
+ <span className="text-lg font-medium text-[var(--clay-black)]">Kalkulasi Skor Otomatis</span>
310
+ </li>
311
+ </ul>
312
+ </div>
313
+ </div>
314
+ </div>
315
+ </div>
316
+ </section>
317
+
318
  {/* Feature Cards Section */}
319
  <section id="features" className="w-full bg-[var(--pure-white)] py-32 border-y-2 border-dashed border-[var(--oat-border)]">
320
  <div className="max-w-7xl mx-auto px-6 md:px-12 lg:px-16">
 
421
  </div>
422
  </section>
423
 
424
+
425
+
426
  {/* SWATCH ROOM 1: Ube FAQ Section */}
427
  <section className="w-full bg-[var(--ube-800)] py-32 rounded-t-[40px] mt-[-40px] z-10 relative shadow-[0_-10px_40px_rgba(0,0,0,0.1)] border-t-2 border-[var(--oat-border)]/20">
428
  <div className="max-w-4xl mx-auto px-6 md:px-12 lg:px-16">
 
482
 
483
  {/* Footer */}
484
  <footer className="w-full bg-[var(--pure-white)] py-12 border-t-2 border-[var(--oat-border)] text-center relative z-30">
485
+ <div className="flex flex-col items-center gap-4 mb-8">
486
+ <p className="text-[var(--warm-charcoal)] font-semibold text-lg">Hubungi Kami</p>
487
+ <div className="flex flex-wrap justify-center items-center gap-6 text-[var(--clay-black)]">
488
+ <a href="mailto:admin@rogasper.com" className="flex items-center gap-2 hover:text-[var(--matcha-700)] transition-colors">
489
+ <MaterialIcon name="mail" />
490
+ <span className="font-semibold">admin@rogasper.com</span>
491
+ </a>
492
+ <a href="https://instagram.com/rogasper" target="_blank" rel="noopener noreferrer" className="flex items-center gap-2 hover:text-[var(--matcha-700)] transition-colors">
493
+ <MaterialIcon name="photo_camera" />
494
+ <span className="font-semibold">@rogasper</span>
495
+ </a>
496
+ <a href="https://github.com/rogasper/labas-bahasa" target="_blank" rel="noopener noreferrer" className="flex items-center gap-2 hover:text-[var(--matcha-700)] transition-colors">
497
+ <MaterialIcon name="code" />
498
+ <span className="font-semibold">GitHub</span>
499
+ </a>
500
+ <a href="https://rogasper.com" target="_blank" rel="noopener noreferrer" className="flex items-center gap-2 hover:text-[var(--matcha-700)] transition-colors">
501
+ <MaterialIcon name="language" />
502
+ <span className="font-semibold">rogasper.com</span>
503
+ </a>
504
+ </div>
505
+ </div>
506
  <p className="text-[var(--warm-charcoal)] font-semibold text-lg">
507
  &copy; {new Date().getFullYear()} Labas. Didesain dengan penuh kehangatan.
508
  </p>