diff --git a/app/(auth)/login/page.tsx b/app/(auth)/login/page.tsx index b2c5a73..d16d30b 100644 --- a/app/(auth)/login/page.tsx +++ b/app/(auth)/login/page.tsx @@ -21,7 +21,7 @@ export default async function Login(props: { return (
diff --git a/app/(public)/leaderboard/[slug]/page.tsx b/app/(public)/leaderboard/[slug]/page.tsx index 8f7394e..d903aec 100644 --- a/app/(public)/leaderboard/[slug]/page.tsx +++ b/app/(public)/leaderboard/[slug]/page.tsx @@ -4,6 +4,7 @@ import LeaderboardHeader from "@/app/components/leaderboard/Header"; import BackButton from "@/app/components/leaderboard/BackButton"; import Footer from "@/app/components/layout/Footer"; import CTA from "@/app/components/layout/CTA"; +import { Member } from "@/app/types/LeaderboardMember"; export default async function LeaderboardPage(props: { params: Promise<{ slug: string }>; @@ -28,7 +29,7 @@ export default async function LeaderboardPage(props: { ); } - const { data: members, error } = await supabase + const { data: members, error }: { data: Member[] | null; error: any } = await supabase .from("leaderboard_members_view") .select("*") .eq("leaderboard_id", leaderboard.id); diff --git a/app/components/LeaderboardTable.tsx b/app/components/LeaderboardTable.tsx index be57a2d..791706b 100644 --- a/app/components/LeaderboardTable.tsx +++ b/app/components/LeaderboardTable.tsx @@ -1,15 +1,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faClock, faCode, faTerminal, faServer, faBolt, faFire, faStar, faRocket } from "@fortawesome/free-solid-svg-icons"; +import { Member } from "@/app/types/LeaderboardMember"; -type Member = { - user_id: string; - role: string; - email: string; - total_seconds: number; - languages: { name: string }[] | null; - operating_systems: { name: string }[] | null; - editors: { name: string }[] | null; -}; function LeaderboardStats({ members }: { members: Member[] }) { const totalHours = Math.round( @@ -114,6 +106,7 @@ export default function LeaderboardTable({ .map((member, index) => ({ user_id: member.user_id, rank: index + 1, + name: member.name, email: member.email, hours: Math.round((member.total_seconds || 0) / 3600), role: member.role, @@ -200,7 +193,7 @@ export default function LeaderboardTable({ ) : (
- {user.email.split("@")[0]} +
+ {user.name ?? user.email.split("@")[0]}
{isCurrentUser && ( @@ -275,12 +268,12 @@ export default function LeaderboardTable({