diff --git a/app/dashboard/leaderboard/page.tsx b/app/dashboard/leaderboard/page.tsx index f2bc96a..6e83730 100644 --- a/app/dashboard/leaderboard/page.tsx +++ b/app/dashboard/leaderboard/page.tsx @@ -1,22 +1,4 @@ -import { getScores } from '@/lib/leaderboard'; -import { cn } from '@/lib/utils'; -import Avatar from '@/ui/Avatar'; -import Select from '@/ui/Select'; - -// TODO: Generate this later -const scoreColors = ['text-yellow-400', 'text-gray-400', 'text-orange-400']; - -// TODO: Generate this later -const options = [ - { value: '1i1', title: '1I1' }, - { value: '1i2', title: '1I2' }, - { value: '1i3', title: '1I3' }, - { value: '1i4', title: '1I4' }, - { value: '1i5', title: '1I5' }, - { value: '1i6', title: '1I6' }, - { value: '1i7', title: '1I7' }, - { value: '1i8', title: '1I8' } -]; +import Leaderboard from '@/ui/Leaderboard'; export const metadata = { title: 'Tableau des scores - Peer-at Code', @@ -24,49 +6,5 @@ export const metadata = { }; export default async function Page() { - // TODO: CSR fetch data for leaderboard (useSWR) to make it more reactive - const data = await getScores(); - return ( -
-
-
-
-
-

Tableau des scores

-

- Suivez la progression des élèves en direct -

-
- diff --git a/ui/Leaderboard.tsx b/ui/Leaderboard.tsx new file mode 100644 index 0000000..504f4a1 --- /dev/null +++ b/ui/Leaderboard.tsx @@ -0,0 +1,79 @@ +'use client'; + +import { useLeaderboard } from '@/lib/hooks/use-leaderboard'; +import { cn } from '@/lib/utils'; +import Avatar from './Avatar'; +import Select from './Select'; + +// TODO: Generate this later +const scoreColors = ['text-yellow-400', 'text-gray-400', 'text-orange-400']; + +// TODO: Generate this later +export const options = [ + { value: '1i1', title: '1I1' }, + { value: '1i2', title: '1I2' }, + { value: '1i3', title: '1I3' }, + { value: '1i4', title: '1I4' }, + { value: '1i5', title: '1I5' }, + { value: '1i6', title: '1I6' }, + { value: '1i7', title: '1I7' }, + { value: '1i8', title: '1I8' } +]; + +export default function Leaderboard() { + const { data, isLoading } = useLeaderboard(); + return ( +
+
+
+
+
+

Tableau des scores

+

+ Suivez la progression des élèves en direct +

+
+