+
LeaderBoard-Pro
A Project Under OpenLake
- )
-}
+ );
+};
-export default HomePage
+export default HomePage;
diff --git a/app/src/components/LeetcodeGraphs.js b/app/src/components/LeetcodeGraphs.js
index 4ac4b13..ae4e7ce 100644
--- a/app/src/components/LeetcodeGraphs.js
+++ b/app/src/components/LeetcodeGraphs.js
@@ -14,7 +14,7 @@ const LeetcodeGraphs = ({ darkmode }) => {
const fetchRankings = async () => {
try {
const response = await axios.get(
- "http://localhost:8000/contest-rankings/"
+ process.env.REACT_APP_BACKEND_URL + "/contest-rankings/"
);
const data = response.data;
@@ -81,8 +81,8 @@ const LeetcodeGraphs = ({ darkmode }) => {
// yaxis: {
// reversed: true,
// },
- tooltip:{
- fillSeriesColor:true,
+ tooltip: {
+ fillSeriesColor: true,
},
});
}
diff --git a/app/src/components/LeetcodeRankings.js b/app/src/components/LeetcodeRankings.js
index 525d52a..4a453c6 100644
--- a/app/src/components/LeetcodeRankings.js
+++ b/app/src/components/LeetcodeRankings.js
@@ -1,8 +1,7 @@
-import React, { useState } from 'react';
-
+import React, { useState } from "react";
const LeetcodeRankings = ({ darkmode }) => {
- const [contestId, setContestId] = useState('');
+ const [contestId, setContestId] = useState("");
const [usernames, setUsernames] = useState([]);
const [rankings, setRankings] = useState([]);
@@ -11,43 +10,45 @@ const LeetcodeRankings = ({ darkmode }) => {
};
const handleUsernameChange = (event) => {
- setUsernames(event.target.value.split(','));
+ setUsernames(event.target.value.split(","));
};
const handleSubmit = async (event) => {
event.preventDefault();
-
+
try {
- const url = `http://localhost:8000/api/leetcodecontestrankings/?contest=${contestId}`;
+ const url =
+ process.env.REACT_APP_BACKEND_URL +
+ `/api/leetcodecontestrankings/?contest=${contestId}`;
const response = await fetch(url, {
- method: 'GET',
+ method: "GET",
headers: {
- Authorization: `Bearer ${localStorage.getItem('authTokens')}`,
+ Authorization: `Bearer ${localStorage.getItem("authTokens")}`,
},
});
-
+
if (response.ok) {
const data = await response.json();
setRankings(data);
- console.log(data)
+ console.log(data);
} else {
- throw new Error('Request failed');
+ throw new Error("Request failed");
}
} catch (error) {
console.log(error);
}
};
-
+
return (
-
@@ -153,37 +147,75 @@ const LeetcodeRankingsCCPS = ({ darkmode }) => {
-
+
-
-
+
+
Institute Rank
-
+
Username
-
+
Rank
-
+
{rankings.length > 0 ? (
rankings.map((rank, index) => (
-
-
- {rank.ranking !== 0 ? index + 1 : "N/A"}
-
-
- {rank.username}
-
-
- {rank.ranking !== null ? rank.ranking : "N/A"}
-
-
-
-
+
+
+ {rank.ranking !== 0 ? index + 1 : "N/A"}
+
+
+
+ {rank.username}
+
+
+
+ {rank.ranking !== null ? rank.ranking : "N/A"}
+
+
+
))
) : (
@@ -201,4 +233,4 @@ const LeetcodeRankingsCCPS = ({ darkmode }) => {
);
};
-export default LeetcodeRankingsCCPS;
\ No newline at end of file
+export default LeetcodeRankingsCCPS;
diff --git a/app/src/components/LeetcodeTable.js b/app/src/components/LeetcodeTable.js
index a6a3a71..33f6cea 100644
--- a/app/src/components/LeetcodeTable.js
+++ b/app/src/components/LeetcodeTable.js
@@ -16,8 +16,7 @@ import InputAdornment from "@mui/material/InputAdornment";
import { useEffect, useState } from "react";
import ToggleButton from "@mui/material/ToggleButton";
import Button from "@mui/material/Button";
-import useScreenWidth from "../hooks/useScreeWidth";
-
+import useScreenWidth from "../utils/useScreeWidth";
const useStyles = makeStyles({
table: {
@@ -29,12 +28,12 @@ const useStyles = makeStyles({
border: "2px solid White",
borderRadius: "10px",
},
- medium_page: {
+ medium_page: {
display: "flex",
justifyContent: "space-around",
- flexDirection:"column-reverse",
- paddingLeft:"2.5vw",
- paddingRight:"2.5vw",
+ flexDirection: "column-reverse",
+ paddingLeft: "2.5vw",
+ paddingRight: "2.5vw",
marginTop: "9vh",
width: "100vw",
flexShrink: "0",
@@ -42,8 +41,8 @@ const useStyles = makeStyles({
large_page: {
display: "flex",
justifyContent: "space-around",
- flexDirection:"row",
- padding:"auto",
+ flexDirection: "row",
+ padding: "auto",
marginTop: "10vh",
width: "99vw",
flexShrink: "0",
@@ -61,14 +60,17 @@ export const LeetcodeTable = ({
const [filteredusers, setFilteredusers] = useState([]);
const [todisplayusers, setTodisplayusers] = useState([]);
const getltfriends = async () => {
- const response = await fetch("http://127.0.0.1:8000/leetcodeFL/", {
- method: "GET",
- headers: {
- "Content-Type": "application/json",
- Authorization:
- "Bearer " + JSON.parse(localStorage.getItem("authTokens")).access,
- },
- });
+ const response = await fetch(
+ process.env.REACT_APP_BACKEND_URL + "/leetcodeFL/",
+ {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json",
+ Authorization:
+ "Bearer " + JSON.parse(localStorage.getItem("authTokens")).access,
+ },
+ }
+ );
const newData = await response.json();
setLeetcodefriends(newData);
@@ -77,52 +79,51 @@ export const LeetcodeTable = ({
};
async function addfriend(e) {
-
- const response = await fetch("http://127.0.0.1:8000/leetcodeFA/", {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- Authorization:
- "Bearer " + JSON.parse(localStorage.getItem("authTokens")).access,
- },
- body: JSON.stringify({
- friendName: e.username,
- }),
- });
+ const response = await fetch(
+ process.env.REACT_APP_BACKEND_URL + "/leetcodeFA/",
+ {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ Authorization:
+ "Bearer " + JSON.parse(localStorage.getItem("authTokens")).access,
+ },
+ body: JSON.stringify({
+ friendName: e.username,
+ }),
+ }
+ );
if (response.status !== 200) {
alert("ERROR!!!!");
- }
- else
- {
+ } else {
setLeetcodefriends((current) => [...current, e]);
}
}
async function dropfriend(e) {
-
- const response = await fetch("http://127.0.0.1:8000/leetcodeFD/", {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- Authorization:
- "Bearer " + JSON.parse(localStorage.getItem("authTokens")).access,
- },
- body: JSON.stringify({
- friendName: e,
- }),
- });
+ const response = await fetch(
+ process.env.REACT_APP_BACKEND_URL + "/leetcodeFD/",
+ {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ Authorization:
+ "Bearer " + JSON.parse(localStorage.getItem("authTokens")).access,
+ },
+ body: JSON.stringify({
+ friendName: e,
+ }),
+ }
+ );
if (response.status !== 200) {
alert("ERROR!!!!");
- }
- else
- {
+ } else {
setLeetcodefriends((current) =>
- current.filter((fruit) => fruit.username !== e)
- );
+ current.filter((fruit) => fruit.username !== e)
+ );
}
}
useEffect(() => {
getltfriends();
- // eslint-disable-next-line
}, []);
useEffect(() => {
@@ -134,7 +135,6 @@ export const LeetcodeTable = ({
if (searchfield === "") {
setFilteredusers(todisplayusers);
} else {
- // eslint-disable-next-line
setFilteredusers(
todisplayusers.filter((cfUser) => {
return cfUser.username
@@ -143,13 +143,11 @@ export const LeetcodeTable = ({
})
);
}
- // eslint-disable-next-line
}, [ltshowfriends, leetcodefriends, searchfield, leetcodeUsers]);
useEffect(() => {
if (searchfield === "") {
setFilteredusers(todisplayusers);
} else {
- // eslint-disable-next-line
setFilteredusers(
todisplayusers.filter((cfUser) => {
return cfUser.username
@@ -170,17 +168,22 @@ export const LeetcodeTable = ({
return (
-
{" "}
-
-
+
{" "}
+