File size: 1,488 Bytes
e7abd9e 97f195c e7abd9e 98d2a44 e7abd9e 98d2a44 e7abd9e 97f195c e7abd9e 98d2a44 e7abd9e 26291dd e7abd9e ef9ae34 e7abd9e |
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 |
import { useEffect } from "react";
import Leaderboard from "./components/Leaderboard/Leaderboard";
import { Box } from "@mui/material";
import PageHeader from "../../components/shared/PageHeader";
import { useLeaderboardData } from "../../pages/LeaderboardPage/components/Leaderboard/hooks/useLeaderboardData";
import { useLeaderboard } from "../../pages/LeaderboardPage/components/Leaderboard/context/LeaderboardContext";
import { usePageTracking } from "../../hooks/usePageTracking";
function LeaderboardPage({mode}) {
const { data, isLoading, error } = useLeaderboardData();
const logoSrc =
mode === "dark" ? "logo-dark.svg" : "logo.svg";
const { actions } = useLeaderboard();
usePageTracking();
useEffect(() => {
if (data) {
actions.setModels(data);
}
actions.setLoading(isLoading);
actions.setError(error);
}, [data, isLoading, error, actions]);
return (
<Box
sx={{
width: "100%",
ph: 2,
display: "flex",
flexDirection: "column",
}}
>
<Box
sx={{ display: "flex", justifyContent: "center", pt: 6, mb: -4, pb: 0 }}
>
<img src={logoSrc} alt="Stacklok" style={{width: 300}} />
</Box>
<PageHeader
title="LLM Security Leaderboard"
subtitle={
<>
Measuring Security Aptitude Across Large Language Models (LLMs).
</>
}
/>
<Leaderboard />
</Box>
);
}
export default LeaderboardPage;
|