diff --git a/frontend/src/pages/leaderboard/components/CodeDialog.tsx b/frontend/src/pages/leaderboard/components/CodeDialog.tsx
index 23510d3..9db7766 100644
--- a/frontend/src/pages/leaderboard/components/CodeDialog.tsx
+++ b/frontend/src/pages/leaderboard/components/CodeDialog.tsx
@@ -1,5 +1,6 @@
import { Box, Button, Dialog, DialogContent, DialogTitle } from "@mui/material";
import { useState } from "react";
+import { Link } from "react-router-dom";
import CodeBlock from "../../../components/codeblock/CodeBlock";
export function CodeDialog({
@@ -11,7 +12,18 @@ export function CodeDialog({
}) {
const [open, setOpen] = useState(false);
- if (!code) return {fileName};
+ if (!code)
+ return (
+
+ );
return (
<>
diff --git a/frontend/src/pages/leaderboard/components/RankingLists.tsx b/frontend/src/pages/leaderboard/components/RankingLists.tsx
index fbc7d1e..c606ab7 100644
--- a/frontend/src/pages/leaderboard/components/RankingLists.tsx
+++ b/frontend/src/pages/leaderboard/components/RankingLists.tsx
@@ -67,6 +67,10 @@ const styles: Record> = {
color: "text.secondary",
minWidth: "90px",
},
+ loc: {
+ fontFamily: "monospace",
+ color: "text.secondary",
+ },
};
export default function RankingsList({
@@ -164,12 +168,12 @@ export default function RankingsList({
{item.user_name} {getMedalIcon(item.rank)}
-
+
{formatMicroseconds(item.score)}
-
+
{item.prev_score > 0 &&
`+${formatMicroseconds(item.prev_score)}`}
@@ -183,6 +187,16 @@ export default function RankingsList({
/>
+
+
+ {(() => {
+ const code = codes.get(item?.submission_id);
+ if (!code) return "";
+ const lines = code.split("\n").length;
+ return `${lines} LOC`;
+ })()}
+
+
))}