+ {/* Left: Platform Switcher */}
+
+
+ }
+ variant={platform === "codeforces" ? "solid" : "ghost"}
+ bg={platform === "codeforces" ? "#58CDFF" : "transparent"}
+ color={platform === "codeforces" ? "#000000" : "#ffffff"}
+ fontWeight={platform === "codeforces" ? "bold" : "medium"}
+ _hover={{
+ bg:
+ platform === "codeforces"
+ ? "#34aaff"
+ : "#313131",
+ }}
+ borderRadius="md"
+ onClick={() => {
+ if (platform !== "codeforces") {
+ setPlatform("codeforces");
+ setLoading(true);
+ setCurrentPage(1);
+ }
+ }}
+ m="0"
+ >
+ Codeforces
+
+ }
+ variant={platform === "codechef" ? "solid" : "ghost"}
+ bg={platform === "codechef" ? "#58CDFF" : "transparent"}
+ color={platform === "codechef" ? "#000000" : "#ffffff"}
+ fontWeight={platform === "codechef" ? "bold" : "medium"}
+ _hover={{
+ bg:
+ platform === "codechef"
+ ? "#34aaff"
+ : "#313131",
+ }}
+ borderRadius="md"
+ onClick={() => {
+ if (platform !== "codechef") {
+ setPlatform("codechef");
+ setLoading(true);
+ setCurrentPage(1);
+ }
+ }}
+ m="0"
+ >
+ CodeChef
+
+
+
+
+ {/* Right: Show Inactive Users Switch + Search Input & Sync Button */}
+
+ {/* "Show inactive users" Custom Switch */}
+
{
+ setShowInactive((prev) => !prev);
+ setCurrentPage(1);
+ }}
+ >
+
{
+ if (e.key === " " || e.key === "Enter") {
+ e.preventDefault();
+ setShowInactive((prev) => !prev);
+ setCurrentPage(1);
+ }
+ }}
+ >
+
+
+
+ Show inactive users
+
+
+
+ {/* Search Box */}
+
+
+
+
+ {
+ setSearch(e.target.value);
+ setCurrentPage(1);
+ }}
+ bg="#313131"
+ color="#ffffff"
+ border="1px solid #424242"
+ borderRadius="lg"
+ _placeholder={{ color: "#B3B1AD" }}
+ _hover={{ borderColor: "#58CDFF" }}
+ _focus={{
+ borderColor: "#58CDFF",
+ boxShadow: "0 0 0 1px #58CDFF",
+ }}
+ m="0"
+ />
+
+
+ {/* Dedicated Refresh Button with Cooldown */}
+
0
+ ? `Next refresh available in ${formatTime(cooldownSec)}`
+ : "Fetch live updates from Codeforces & CodeChef"
+ }
+ hasArrow
+ placement="top"
+ >
+ }
+ isLoading={syncing}
+ loadingText="Syncing..."
+ isDisabled={cooldownSec > 0}
+ bg={cooldownSec > 0 ? "#313131" : "#58CDFF"}
+ color={cooldownSec > 0 ? "#B3B1AD" : "#000000"}
+ fontWeight="semibold"
+ border={
+ cooldownSec > 0
+ ? "1px solid #424242"
+ : "1px solid #58CDFF"
+ }
+ _hover={{
+ bg: cooldownSec > 0 ? "#313131" : "#34aaff",
+ }}
+ borderRadius="lg"
+ px={4}
+ onClick={handleRefresh}
+ m="0"
+ >
+ {cooldownSec > 0
+ ? `Cooldown (${formatTime(cooldownSec)})`
+ : "Sync Standings"}
+
+
+
+