From 6e2bc427c4dca1eac4f4f80f91904930df9dd2c2 Mon Sep 17 00:00:00 2001 From: iOliver678 Date: Fri, 7 Mar 2025 18:29:30 -0800 Subject: [PATCH 1/3] leetcode leaderboard integration, routing, pages, and navbar --- src/Components/Navbar/AdminNavbar.js | 9 ++++++ src/Pages/LeetCode/LeetCode.js | 46 ++++++++++++++++++++++++++++ src/Routing.js | 8 +++++ 3 files changed, 63 insertions(+) create mode 100644 src/Pages/LeetCode/LeetCode.js diff --git a/src/Components/Navbar/AdminNavbar.js b/src/Components/Navbar/AdminNavbar.js index 80a4e0e0e..8cb5bcd03 100644 --- a/src/Components/Navbar/AdminNavbar.js +++ b/src/Components/Navbar/AdminNavbar.js @@ -99,6 +99,15 @@ export default function UserNavBar(props) { ), }, + { + title: 'LeetCode Leaderboard', + route: '/leetcode', + icon: ( + + + + ), + }, ]; const renderRoutesForNavbar = (navbarLinks) => { diff --git a/src/Pages/LeetCode/LeetCode.js b/src/Pages/LeetCode/LeetCode.js new file mode 100644 index 000000000..1eaf34728 --- /dev/null +++ b/src/Pages/LeetCode/LeetCode.js @@ -0,0 +1,46 @@ +import React, { useState } from 'react'; + +export default function LeetCode() { + const [isLoading, setIsLoading] = useState(true); + const [hasError, setHasError] = useState(false); + + const handleLoad = () => { + setIsLoading(false); + setHasError(false); + }; + + const handleError = () => { + setIsLoading(false); + setHasError(true); + }; + + return ( +
+ {isLoading && ( +
+
+
+ )} + {hasError && ( +
+
Failed to load LeetCode page
+ +
+ )} +