Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 4x 4x 4x 4x 11x 11x | import React from "react";
import { useParams } from "react-router";
import { hasRole } from "main/utils/currentUser";
import LeaderboardTable from "main/components/Leaderboard/LeaderboardTable";
import BasicLayout from "main/layouts/BasicLayout/BasicLayout";
import { useBackend } from "main/utils/useBackend";
import { useCurrentUser } from "main/utils/currentUser";
import Background from "../../assets/PlayPageBackground.png";
import { useNavigate } from "react-router";
import { Button } from "react-bootstrap";
import "./LeaderboardPage.css";
export default function LeaderboardPage() {
const { commonsId } = useParams();
const { data: currentUser } = useCurrentUser();
// Stryker disable all
const {
data: userCommons,
error: _error,
status: _status,
} = useBackend(
[`/api/usercommons/commons/all?commonsId=${commonsId}`],
{
method: "GET",
url: "/api/usercommons/commons/all",
params: {
commonsId: commonsId,
},
},
[],
);
// Stryker restore all
// Stryker disable all
const {
data: commons,
error: _commonsError,
status: _commonsStatus,
} = useBackend(
[`/api/commons?id=${commonsId}`],
{
method: "GET",
url: "/api/commons",
params: {
id: commonsId,
},
},
[],
);
// Stryker restore all
const navigate = useNavigate();
const showLeaderboard =
hasRole(currentUser, "ROLE_ADMIN") || commons.showLeaderboard;
return (
<div
data-testid={"LeaderboardPage-main-div"}
style={{
backgroundSize: "cover",
backgroundImage: `url(${Background})`,
}}
>
<BasicLayout>
<div className="pt-2 board">
<Button
onClick={() => navigate(-1)}
data-testid="LeaderboardPage-back-button"
style={{ float: "right" }}
>
Back
</Button>
<h1 className="name">Leaderboard</h1>
{showLeaderboard ? (
<>
<LeaderboardTable
leaderboardUsers={userCommons}
currentUser={currentUser}
/>
</>
) : (
<p>You're not authorized to see the leaderboard.</p>
)}
</div>
</BasicLayout>
</div>
);
}
|