Skip to content

Commit e9bc02e

Browse files
author
sk337
committed
update leaderboard
1 parent 7ecedd1 commit e9bc02e

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

src/Leaderboard.jsx

+17-4
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,21 @@ import {
44
Select,
55
SelectContent,
66
SelectItem,
7+
SelectGroup,
8+
SelectLabel,
79
SelectTrigger,
810
SelectValue,
911
} from "@/components/ui/select";
10-
import { ranges, types, getLeaderboard } from "@/utils/leaderboard";
12+
import { ranges, types, rangeLst, typeLst, getLeaderboard } from "@/utils/leaderboard";
1113

1214
import { id2skin, prettyNum, playtimeParse } from "@/utils/jsutils";
1315
import { getPubInfo } from "@/utils/login";
1416

1517
import UserCard from "@/components/usercard";
1618

1719
export default function Leaderboard() {
18-
const [ignored, forceUpdate] = useReducer(x => x + 1, 0);
1920
const [leaderboard, setLeaderboard] = useState([]);
2021
const [profiles, setProfiles] = useState([]);
21-
const [upd, setUpd] = useState(0);
2222
const [range, setRange] = useState("all");
2323
const [type, setType] = useState("xp");
2424

@@ -52,10 +52,23 @@ export default function Leaderboard() {
5252
<Nav />
5353
<div className="flex flex-col items-center">
5454
<div className="felx flex-row items-center justify-center">
55-
<Select>
55+
<Select onValueChange={(val) => {setRange(val)}}>
5656
<SelectTrigger className="w-[180px]">
5757
<SelectValue placeholder="All-Time" />
5858
</SelectTrigger>
59+
<SelectContent>
60+
<SelectGroup>
61+
<SelectLabel>Range</SelectLabel>
62+
{rangeLst.map((range) => (
63+
<SelectItem
64+
key={range[0]}
65+
value={range[0]}
66+
>
67+
{range[1]}
68+
</SelectItem>
69+
))}
70+
</SelectGroup>
71+
</SelectContent>
5972
</Select>
6073
<Select>
6174
<SelectTrigger className="w-[180px] mt-5">

src/utils/leaderboard.js

+3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ export const ranges = {
1414
week: "Past Week",
1515
};
1616

17+
export const rangeLst = [["all", "All-Time"], ["day", "Past Day"], ["week", "Past Week"]];
18+
export const typeLst = [["kills", "Kills"], ["coins", "Coins"], ["playtime", "Survived"], ["xp", "XP"], ["coins", "Total Coins"], ["kills", "Total Stabs"], ["playtime", "Total Playtime"]];
19+
1720
const ApiUrl = "https://sb-api-fb48ef34a197.herokuapp.com/";
1821

1922
export async function getLeaderboard(range, type) {

0 commit comments

Comments
 (0)