diff --git a/apps/hackathon/src/app/dashboard/layout.tsx b/apps/hackathon/src/app/dashboard/layout.tsx index 057050a..e995a71 100644 --- a/apps/hackathon/src/app/dashboard/layout.tsx +++ b/apps/hackathon/src/app/dashboard/layout.tsx @@ -9,18 +9,28 @@ const DashboardLayout: FC = (): ReactElement => {
setSidebarOpen(false)} /> -
+
{/* Mobile Header with Hamburger */} -
+
-

🏆 Hackathon

+

Hackathon

diff --git a/apps/hackathon/src/app/dashboard/page.tsx b/apps/hackathon/src/app/dashboard/page.tsx index 85d9edd..ca06df5 100644 --- a/apps/hackathon/src/app/dashboard/page.tsx +++ b/apps/hackathon/src/app/dashboard/page.tsx @@ -8,6 +8,7 @@ import { } from '@imphnen-frontend-service/service'; import { toast } from 'sonner'; import { Button } from '@imphnen-frontend-service/ui/atoms'; +import { Icon } from '@iconify/react'; const DashboardPage: FC = (): ReactElement => { const { session } = useAuthStore(); @@ -40,31 +41,52 @@ const DashboardPage: FC = (): ReactElement => { }; return ( -
+

Welcome, {user?.fullname || user?.email?.split('@')[0] || 'User'}!

{user?.location && ( -

Location: {user.location}

+

+ + {user.location} +

)}
{invitations.length > 0 && ( -
+

Team Invitations ({invitations.length})

-
+
{invitations.map((invitation) => ( -
+
-

{invitation.team.name}

-

Invited by {invitation.inviter.fullname}

+

+ {invitation.team.name} +

+

+ Invited by {invitation.inviter.fullname} +

- - + +
))} @@ -74,20 +96,44 @@ const DashboardPage: FC = (): ReactElement => { {myTeams.length > 0 ? (
-

My Team

+

+ My Team +

{myTeams.map((team) => ( - - {team.banner && {team.name}} + + {team.banner && ( + {team.name} + )}
- {team.logo && {team.name}} + {team.logo && ( + {team.name} + )}
-

{team.name}

-

City: {team.city}

+

+ {team.name} +

+

+ City: {team.city} +

-

{team.description}

+

+ {team.description} +

))} @@ -97,56 +143,99 @@ const DashboardPage: FC = (): ReactElement => {
👋
-

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.fullname + {user.fullname ) : (
- User + + U +
)}
-

{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 + + )}
{user?.location && ( - Edit Profile + + Edit Profile + )}
{user?.bio && (
-

About

+

+ About +

{user.bio}

)}
-

Contact

+

+ Contact +

{user?.email}
{user?.skills && user.skills.length > 0 && (
-

Skills

-
+

+ Skills +

+
{user.skills.map((skill: string) => ( - {skill} + + {skill} + ))}
diff --git a/apps/hackathon/src/app/onboarding/user/page.tsx b/apps/hackathon/src/app/onboarding/user/page.tsx index 2c4aeac..120b851 100644 --- a/apps/hackathon/src/app/onboarding/user/page.tsx +++ b/apps/hackathon/src/app/onboarding/user/page.tsx @@ -133,7 +133,6 @@ const UserOnboardingPage: FC = (): ReactElement => { /> ) : (
- {/* 👤 */} FAQ - + Masuk
-

+

Click the camera icon to change your photo
Format: JPG, PNG. Max 5MB @@ -217,11 +229,12 @@ const ProfilePage: FC = (): ReactElement => { label="Full Name" placeholder="Enter your full name" name="fullname" + size="lg" /> {/* City */}

-