|
1 | | -import React, { useState } from 'react'; |
2 | | -import { useQuery } from '@apollo/client'; |
3 | | -import { GET_USERS } from '../graphql/queries'; // Adjust the import path as necessary |
4 | | - |
5 | | -function LeaderBoard() { |
6 | | - |
7 | | - interface IUser { |
8 | | - _id: string; |
9 | | - username: string; |
10 | | - correctAnswers: number; |
11 | | - avatar: string; // Assuming you have an avatar property |
12 | | - } |
13 | | - |
14 | | - // Data for leaderboard |
15 | | - /* const [leaderboardData, setLeaderboardData] = useState([ |
16 | | - { _id: 'kjhd63r9bhsef', username: 'Player1', correctAnswers: 100 }, |
17 | | - { username: 'Player2', score: 90 }, |
18 | | - { username: 'Player3', score: 80 }, |
19 | | - { username: 'Player4', score: 70 }, |
20 | | - { username: 'Player5', score: 60 }, |
21 | | - ]); |
22 | | - */ |
23 | | - // Fetch leaderboard data from the server (mocked for now) |
24 | | - const [leaderboardData, setLeaderboardData] = useState([]); |
25 | | - |
26 | | - // How do we get the data from the server? |
27 | | - |
28 | | - const { loading, data, error } = useQuery<IUser[] | undefined>(GET_USERS); |
29 | | - |
30 | | - if (loading) return <p>Loading...</p>; |
31 | | - if (error) return <p>Error: {error.message}</p>; |
32 | | - // const { loading, data, errer } = useQuery(GET_LEADERBOARD_DATA, { |
33 | | - // variables: { difficulty_lvl: 'easy' }, // Example variable |
34 | | - // ); |
35 | | - const users = data?.users || []; |
| 1 | +// import React, { useState } from 'react'; |
| 2 | +// import { useQuery } from '@apollo/client'; |
| 3 | +// import { GET_USERS } from '../graphql/queries'; // Adjust the import path as necessary |
| 4 | + |
| 5 | +// function LeaderBoard() { |
| 6 | + |
| 7 | +// interface IUser { |
| 8 | +// _id: string; |
| 9 | +// username: string; |
| 10 | +// correctAnswers: number; |
| 11 | +// avatar: string; // Assuming you have an avatar property |
| 12 | +// } |
| 13 | + |
| 14 | +// // Data for leaderboard |
| 15 | +// /* const [leaderboardData, setLeaderboardData] = useState([ |
| 16 | +// { _id: 'kjhd63r9bhsef', username: 'Player1', correctAnswers: 100 }, |
| 17 | +// { username: 'Player2', score: 90 }, |
| 18 | +// { username: 'Player3', score: 80 }, |
| 19 | +// { username: 'Player4', score: 70 }, |
| 20 | +// { username: 'Player5', score: 60 }, |
| 21 | +// ]); |
| 22 | +// */ |
| 23 | +// // Fetch leaderboard data from the server (mocked for now) |
| 24 | +// const [leaderboardData, setLeaderboardData] = useState([]); |
| 25 | + |
| 26 | +// // How do we get the data from the server? |
| 27 | + |
| 28 | +// const { loading, data, error } = useQuery<IUser[] | undefined>(GET_USERS); |
| 29 | + |
| 30 | +// if (loading) return <p>Loading...</p>; |
| 31 | +// if (error) return <p>Error: {error.message}</p>; |
| 32 | +// // const { loading, data, errer } = useQuery(GET_LEADERBOARD_DATA, { |
| 33 | +// // variables: { difficulty_lvl: 'easy' }, // Example variable |
| 34 | +// // ); |
| 35 | +// const users = data?.users || []; |
36 | 36 |
|
37 | | - // Sort the leaderboard data by score in descending order - by what measurement (?) |
38 | | - const sortedLeaderboard = users.sort((a: number, b: number) => b.correctAnswers - a.correctAnswers); |
| 37 | +// // Sort the leaderboard data by score in descending order - by what measurement (?) |
| 38 | +// const sortedLeaderboard = users.sort((a: number, b: number) => b.correctAnswers - a.correctAnswers); |
39 | 39 |
|
40 | 40 |
|
41 | | - return ( |
42 | | - <div> |
43 | | - { sortedLeaderboard.length > 0 ? sortedLeaderboard.map(user: IUser => ( |
44 | | - <div className="leaderboard-container"> |
45 | | - <div className="leaderboard-item" key={user._id}> |
46 | | - <img src={user.avatar} alt="Avatar" className="avatar" /> {/* Assuming you have an avatar property */} |
47 | | - <span className="username">{user.username}</span> |
48 | | - <span className="score">{user.correctAnswers}</span> |
49 | | - </div> |
50 | | - )) |
51 | | - </div> |
52 | | - } |
53 | | - </div> |
54 | | - |
55 | | - ) |
56 | | -} |
57 | | - |
58 | | -export default LeaderBoard |
| 41 | +// return ( |
| 42 | +// <div> |
| 43 | +// { sortedLeaderboard.length > 0 ? sortedLeaderboard.map(user: IUser => ( |
| 44 | +// <div className="leaderboard-container"> |
| 45 | +// <div className="leaderboard-item" key={user._id}> |
| 46 | +// <img src={user.avatar} alt="Avatar" className="avatar" /> {/* Assuming you have an avatar property */} |
| 47 | +// <span className="username">{user.username}</span> |
| 48 | +// <span className="score">{user.correctAnswers}</span> |
| 49 | +// </div> |
| 50 | +// )) |
| 51 | +// </div> |
| 52 | +// } |
| 53 | +// </div> |
| 54 | + |
| 55 | +// ) |
| 56 | +// } |
| 57 | + |
| 58 | +// export default LeaderBoard |
0 commit comments