+
Welcome, {user?.fullname || user?.email?.split('@')[0] || 'User'}!
{user?.location && (
-
Location: {user.location}
+Location: {user.location}
)}
+
+
Team Invitations ({invitations.length})
{invitations.map((invitation) => (
-
+
- {invitation.team.name}
- Invited by {invitation.inviter.fullname}
+ {invitation.team.name}
+ Invited by {invitation.inviter.fullname}
@@ -74,53 +74,53 @@ const DashboardPage: FC = (): ReactElement => {
{myTeams.length > 0 ? (
- My Team
+ My Team
{myTeams.map((team) => (
-
+
{team.banner &&
}
{team.logo &&
}
- {team.name}
- City: {team.city}
+ {team.name}
+ City: {team.city}
- {team.description}
+ {team.description}
))}
) : (
-
+
👋
- You are not in a team yet
- Use the sidebar to browse teams or create your own
+ You are not in a team yet
+ Use the sidebar to browse teams or create your own
)}
-
+
{user?.avatar ? (
-
+
) : (
-
- User
+
+ User
)}
- {user?.fullname || user?.email?.split('@')[0] || 'Unnamed User'}
+ {user?.fullname || user?.email?.split('@')[0] || 'Unnamed User'}
{user?.location ? (
- {user.location}
+ {user.location}
) : (
- Complete your profile
+ Complete your profile
)}
@@ -130,20 +130,20 @@ const DashboardPage: FC = (): ReactElement => {
{user?.bio && (
-
- About
- {user.bio}
+
+ About
+ {user.bio}
)}
-
- Contact
-
- {user?.email}
+
+ Contact
+
+ {user?.email}
{user?.skills && user.skills.length > 0 && (
-
- Skills
+
+ Skills
{user.skills.map((skill: string) => (
{skill}
diff --git a/apps/hackathon/src/app/layout.tsx b/apps/hackathon/src/app/layout.tsx
index cbd1151..24da90e 100644
--- a/apps/hackathon/src/app/layout.tsx
+++ b/apps/hackathon/src/app/layout.tsx
@@ -107,10 +107,10 @@ export default function RootLayout() {
// Show loading state while checking auth
if (isChecking) {
return (
-
+
- Loading...
+ Loading...
);
diff --git a/apps/hackathon/src/app/page.tsx b/apps/hackathon/src/app/page.tsx
index 0199742..8ca9255 100644
--- a/apps/hackathon/src/app/page.tsx
+++ b/apps/hackathon/src/app/page.tsx
@@ -2,6 +2,7 @@ import { useNavigate } from 'react-router';
import { useState } from 'react';
import { Button } from '@imphnen-frontend-service/ui/atoms';
import { Icon } from '@iconify/react';
+import { ThemeToggle } from '../components/theme-toggle';
export default function HomePage() {
const navigate = useNavigate();
@@ -62,13 +63,13 @@ export default function HomePage() {
];
return (
-
+
{/* Navigation */}
-
{/* Mobile Menu */}
{mobileMenuOpen && (
-
+
{/* Logos */}
@@ -189,19 +194,19 @@ export default function HomePage() {
className="h-12 md:h-16"
/>
-
+
×
{/* Title */}
-
+
Hackathon
{/* Subtitle */}
@@ -209,12 +214,12 @@ export default function HomePage() {
"Inovasi AI: Mendorong Usaha Lokal dengan AI Inklusif"
{/* Description */}
-
+
Kompetisi pengembangan teknologi untuk menciptakan solusi inovatif
yang menghadirkan dampak nyata
{/* Status */}
-
+
Online
@@ -236,7 +241,7 @@ export default function HomePage() {
href="https://chat.whatsapp.com/BlxrYh9uSC37d7VPhJslGL"
target="_blank"
rel="noopener noreferrer"
- className="inline-flex items-center justify-center px-4 py-2.5 border-2 border-gray-300 hover:border-gray-400 transition-colors text-center bg-transparent hover:text-gray-900 hover:bg-gray-50 text-base text-gray-600 rounded-lg font-bai-jamjuree font-semibold"
+ className="inline-flex items-center justify-center px-4 py-2.5 border-2 border-gray-300 dark:border-neutral-600 hover:border-gray-400 dark:hover:border-neutral-500 transition-colors text-center bg-transparent hover:text-gray-900 dark:hover:text-white hover:bg-gray-50 dark:hover:bg-neutral-800 text-base text-gray-600 dark:text-neutral-400 rounded-lg font-bai-jamjuree font-semibold"
>
Gabung Grup WA Hackathon
@@ -244,7 +249,7 @@ export default function HomePage() {
{/* Scroll indicator */}
{/* About Section */}
-
+
-
+
Tentang Hackathon
-
- Hackathon{' '}
+
+ Hackathon{' '}
adalah kompetisi pengembangan teknologi yang mengajak talenta muda
untuk berkolaborasi dalam menciptakan solusi inovatif.
-
+
IMPHNEN bersama Kolosal.ai mengadakan Hackathon dengan tema lomba{' '}
"Inovasi AI: Mendorong Usaha Lokal dengan AI Inklusif"
@@ -282,10 +287,10 @@ export default function HomePage() {
{/* Prizes Section */}
-
+
-
+
Hadiah Menarik
@@ -295,67 +300,67 @@ export default function HomePage() {
{/* Prize 1 */}
-
+
-
+
- Juara 1
+ Juara 1
Rp6.000.000
{/* Prize 2 */}
-
+
-
+
- Juara 2
+ Juara 2
Rp4.000.000
{/* Prize 3 */}
-
+
-
+
- Juara 3
-
+
Juara 3
+
Rp2.500.000
{/* Special Prize */}
-
+
-
+
-
+
Juara Kategori Lainnya
-
+
Rp2.000.000
@@ -364,13 +369,13 @@ export default function HomePage() {
{/* Timeline Section */}
-
+
-
+
Timeline Acara
-
+
Jadwal lengkap pelaksanaan hackathon
@@ -380,14 +385,14 @@ export default function HomePage() {
-
+
30 November 2025
- Penutupan Registrasi
-
+
Penutupan Registrasi
+
Batas akhir pendaftaran peserta hackathon.
@@ -397,14 +402,14 @@ export default function HomePage() {
-
+
30 November 2025
- Technical Meeting
-
+
Technical Meeting
+
Akan diadakan technical meeting terkait lomba melalui Google
Meet. Stay tune di grup WA Hackathon.
@@ -415,14 +420,14 @@ export default function HomePage() {
-
+
1 - 7 Desember 2025
- Tahap Penyisihan
-
+
Tahap Penyisihan
+
Peserta mengerjakan tantangan yang diberikan.
@@ -432,14 +437,14 @@ export default function HomePage() {
-
+
8 - 14 Desember 2025
- Penilaian & Webinar
-
+
Penilaian & Webinar
+
Proses penilaian oleh juri dan sesi webinar.
@@ -454,8 +459,8 @@ export default function HomePage() {
15 Desember 2025
- Pengumuman & Final
-
+
Pengumuman & Final
+
Presentasi final dan pengumuman pemenang.
@@ -465,47 +470,44 @@ export default function HomePage() {
{/* Judges Section */}
-
+
-
+
Dewan Juri
-
+
Perwakilan dari IMPHNEN dan Kolosal.ai yang akan menilai karya
{/* Judge 1 */}
-
- {/* */}
-
+
+
Alifais Farrel Ramdhani
CTO
- Kolosal.ai
+ Kolosal.ai
{/* Judge 2 */}
-
- {/* */}
- Anka Tama
+
+ Anka Tama
Admin
- IMPHNEN
+ IMPHNEN
{/* Judge 3 */}
-
- {/* */}
- Hafid Nur
+
+ Hafid Nur
Moderator
- IMPHNEN
+ IMPHNEN
@@ -513,25 +515,25 @@ export default function HomePage() {
{/* FAQ Section */}
-
+
FAQ
-
+
Pertanyaan yang Sering Diajukan
{faqs.map((faq, index) => (
-
+
setOpenFaq(openFaq === index ? null : index)}
- className="w-full px-6 py-4 flex items-center justify-between text-left hover:bg-gray-50 transition-colors cursor-pointer"
+ className="w-full px-6 py-4 flex items-center justify-between text-left hover:bg-gray-50 dark:hover:bg-neutral-800 transition-colors cursor-pointer"
>
-
+
{faq.question}
{openFaq === index && (
- {faq.answer}
+ {faq.answer}
)}
))}
@@ -560,12 +562,12 @@ export default function HomePage() {
{/* Sponsors Section */}
-
+
-
+
Sponsor & Partner
-
+
Acara ini sepenuhnya disponsori oleh
@@ -574,12 +576,12 @@ export default function HomePage() {
href="https://kolosal.ai"
target="_blank"
rel="noopener noreferrer"
- className="bg-white rounded-xl p-8 shadow-lg inline-block border-2 border-transparent hover:border-gray-500 transition-colors"
+ className="bg-white dark:bg-neutral-800 rounded-xl p-8 shadow-lg inline-block border-2 border-transparent hover:border-gray-500 dark:hover:border-neutral-500 transition-colors"
>
@@ -589,13 +591,13 @@ export default function HomePage() {
{/* CTA Section */}
-
+
Segera Daftarkan Timmu!
-
+
Jangan lewatkan kesempatan emas untuk bersaing dengan developer
terbaik,
belajar dari para ahli, dan
@@ -613,13 +615,13 @@ export default function HomePage() {
href="https://chat.whatsapp.com/BlxrYh9uSC37d7VPhJslGL"
target="_blank"
rel="noopener noreferrer"
- className="px-8 py-3 bg-white text-gray-900 text-lg rounded-lg border-2 border-gray-300 hover:border-gray-400 transition-colors font-semibold"
+ className="px-8 py-3 bg-white dark:bg-neutral-800 text-gray-900 dark:text-white text-lg rounded-lg border-2 border-gray-300 dark:border-neutral-600 hover:border-gray-400 dark:hover:border-neutral-500 transition-colors font-semibold"
>
Gabung Grup WA Hackathon
-
+
Pendaftaran ditutup pada{' '}
30 November 2025
diff --git a/apps/hackathon/src/app/profile/page.tsx b/apps/hackathon/src/app/profile/page.tsx
index 0163665..5d1c195 100644
--- a/apps/hackathon/src/app/profile/page.tsx
+++ b/apps/hackathon/src/app/profile/page.tsx
@@ -128,14 +128,14 @@ const ProfilePage: FC = (): ReactElement => {
const isLoading = isUpdating || isUploading;
return (
-
-
+
+
- Edit Profile
+ Edit Profile
{
- Update your photo and name
+ Update your photo and name
Team Invitations ({invitations.length})
{invitation.team.name}
-Invited by {invitation.inviter.fullname}
+{invitation.team.name}
+Invited by {invitation.inviter.fullname}
My Team
+My Team
{team.name}
-City: {team.city}
+{team.name}
+City: {team.city}
{team.description}
+{team.description}
You are not in a team yet
-Use the sidebar to browse teams or create your own
+You are not in a team yet
+Use the sidebar to browse teams or create your own
{user?.fullname || user?.email?.split('@')[0] || 'Unnamed User'}
+{user?.fullname || user?.email?.split('@')[0] || 'Unnamed User'}
{user?.location ? ( -{user.location}
+{user.location}
) : ( - Complete your profile + Complete your profile )}About
-{user.bio}
+About
+{user.bio}
Contact
-Contact
+Skills
+Skills
Loading...
+Loading...
+
Hackathon
{/* Subtitle */}
@@ -209,12 +214,12 @@ export default function HomePage() {
"Inovasi AI: Mendorong Usaha Lokal dengan AI Inklusif"
{/* Description */}
-
+
Kompetisi pengembangan teknologi untuk menciptakan solusi inovatif yang menghadirkan dampak nyata
{/* Status */} -
+
Tentang Hackathon
-
- Hackathon{' '} +
+ Hackathon{' '} adalah kompetisi pengembangan teknologi yang mengajak talenta muda untuk berkolaborasi dalam menciptakan solusi inovatif.
-+
IMPHNEN bersama Kolosal.ai mengadakan Hackathon dengan tema lomba{' '}
"Inovasi AI: Mendorong Usaha Lokal dengan AI Inklusif"
@@ -282,10 +287,10 @@ export default function HomePage() {
{/* Prizes Section */}
-
@@ -295,67 +300,67 @@ export default function HomePage() {
Rp6.000.000
Rp4.000.000
+
Rp2.500.000
+
Rp2.000.000
+
Jadwal lengkap pelaksanaan hackathon
30 November 2025
+
Batas akhir pendaftaran peserta hackathon.
30 November 2025
+
Akan diadakan technical meeting terkait lomba melalui Google
Meet. Stay tune di grup WA Hackathon.
1 - 7 Desember 2025
+
Peserta mengerjakan tantangan yang diberikan.
8 - 14 Desember 2025
+
Proses penilaian oleh juri dan sesi webinar.
15 Desember 2025
+
Presentasi final dan pengumuman pemenang.
+
Perwakilan dari IMPHNEN dan Kolosal.ai yang akan menilai karya
CTO Kolosal.ai Kolosal.ai Admin IMPHNEN IMPHNEN Moderator IMPHNEN IMPHNEN
+
Pertanyaan yang Sering Diajukan
+
Acara ini sepenuhnya disponsori oleh
+
Jangan lewatkan kesempatan emas untuk bersaing dengan developer
terbaik,
+
Pendaftaran ditutup pada{' '}
30 November 2025
diff --git a/apps/hackathon/src/app/profile/page.tsx b/apps/hackathon/src/app/profile/page.tsx
index 0163665..5d1c195 100644
--- a/apps/hackathon/src/app/profile/page.tsx
+++ b/apps/hackathon/src/app/profile/page.tsx
@@ -128,14 +128,14 @@ const ProfilePage: FC = (): ReactElement => {
const isLoading = isUpdating || isUploading;
return (
- Update your photo and name Update your photo and name
+
Hadiah Menarik
Juara 1
+ Juara 1
Juara 2
+ Juara 2
Juara 3
- Juara 3
+
+
Juara Kategori Lainnya
-
+
Timeline Acara
- Penutupan Registrasi
- Penutupan Registrasi
+ Technical Meeting
- Technical Meeting
+ Tahap Penyisihan
- Tahap Penyisihan
+ Penilaian & Webinar
- Penilaian & Webinar
+ Pengumuman & Final
- Pengumuman & Final
+
+
Dewan Juri
-
+
Alifais Farrel Ramdhani
Anka Tama
+ Anka Tama
Hafid Nur
+ Hafid Nur
FAQ
-
+
Sponsor & Partner
-
+
Segera Daftarkan Timmu!
-
belajar dari para ahli, dan
@@ -613,13 +615,13 @@ export default function HomePage() {
href="https://chat.whatsapp.com/BlxrYh9uSC37d7VPhJslGL"
target="_blank"
rel="noopener noreferrer"
- className="px-8 py-3 bg-white text-gray-900 text-lg rounded-lg border-2 border-gray-300 hover:border-gray-400 transition-colors font-semibold"
+ className="px-8 py-3 bg-white dark:bg-neutral-800 text-gray-900 dark:text-white text-lg rounded-lg border-2 border-gray-300 dark:border-neutral-600 hover:border-gray-400 dark:hover:border-neutral-500 transition-colors font-semibold"
>
Gabung Grup WA Hackathon
Edit Profile
+ Edit Profile