Toggle group on leaderboards

This commit is contained in:
2026-02-06 16:57:09 +01:00
parent 1db017b0b7
commit b525ac542d
+18 -10
View File
@@ -30,13 +30,13 @@ import {
getGlobalLeaderboard, getGlobalLeaderboard,
getWeeklyLeaderboard, getWeeklyLeaderboard,
} from "@/modules/leaderboard/actions"; } from "@/modules/leaderboard/actions";
import { ToggleGroup, ToggleGroupItem } from "@/components/ui/toggle-group";
export default function Leaderboards() { export default function Leaderboards() {
const [global, globalLoaded, globalError] = useAction(getGlobalLeaderboard); const [global, globalLoaded, globalError] = useAction(getGlobalLeaderboard);
const [weekly, weeklyLoaded, weeklyError] = useAction(getWeeklyLeaderboard); const [weekly, weeklyLoaded, weeklyError] = useAction(getWeeklyLeaderboard);
const [activeTab, setActiveTab] = useState<"global" | "weekly">("global"); const [activeTab, setActiveTab] = useState<"global" | "weekly">("global");
const categories = ["Any%", "100%", "Easy Only", "No DP", "Blind"];
const data = (activeTab === "global" ? global : weekly) || []; const data = (activeTab === "global" ? global : weekly) || [];
return ( return (
@@ -97,15 +97,23 @@ export default function Leaderboards() {
</Tabs> </Tabs>
<div className="flex flex-wrap gap-2"> <div className="flex flex-wrap gap-2">
{categories.map((cat, i) => ( <ToggleGroup variant="outline" type="single" defaultValue="any">
<Badge <ToggleGroupItem value="any" aria-label="any%">
key={cat} any%
variant={i === 0 ? "default" : "outline"} </ToggleGroupItem>
className="cursor-pointer" <ToggleGroupItem value="100" aria-label="100%">
> 100%
{cat} </ToggleGroupItem>
</Badge> </ToggleGroup>
))}
<ToggleGroup variant="outline" type="single">
<ToggleGroupItem value="true" aria-label="Assisted">
Assisted
</ToggleGroupItem>
<ToggleGroupItem value="false" aria-label="Unassisted">
Unassisted
</ToggleGroupItem>
</ToggleGroup>
</div> </div>
</div> </div>