From e4d4a117dcb9593c6f3125e0878c728bab188168 Mon Sep 17 00:00:00 2001 From: gempir Date: Sat, 20 Apr 2024 21:57:06 +0200 Subject: [PATCH] mantine sidebar --- web/src/components/Sidebar/Login.tsx | 20 ++++---- web/src/components/Sidebar/Managing.tsx | 2 +- web/src/components/Sidebar/Sidebar.tsx | 65 +++++++++++++++---------- 3 files changed, 52 insertions(+), 35 deletions(-) diff --git a/web/src/components/Sidebar/Login.tsx b/web/src/components/Sidebar/Login.tsx index c91629b..2c77994 100644 --- a/web/src/components/Sidebar/Login.tsx +++ b/web/src/components/Sidebar/Login.tsx @@ -11,17 +11,19 @@ export function Login() { const [hovering, setHovering] = useState(false); - const classes = "p-3 flex justify-center rounded shadow bg-purple-800 hover:bg-purple-600 hover:opacity-100 whitespace-nowrap w-36".split(" ") + const classes = "p-2 flex justify-center rounded shadow bg-purple-800 hover:bg-purple-600 hover:opacity-100 whitespace-nowrap w-full".split(" ") if (isLoggedIn) { classes.push("opacity-25") } - return setHovering(true)} - onMouseLeave={() => setHovering(false)} - className={classes.join(" ")} - href={url.toString()}> - {isLoggedIn && <>{hovering ? <>  Login again : <>  Logged in}} - {!isLoggedIn && <>{hovering ? <>  Login : <>  Login}} - + return
+ setHovering(true)} + onMouseLeave={() => setHovering(false)} + className={classes.join(" ")} + href={url.toString()}> + {isLoggedIn && <>{hovering ? <>  Login again : <>  Logged in}} + {!isLoggedIn && <>{hovering ? <>  Login : <>  Login}} + +
} \ No newline at end of file diff --git a/web/src/components/Sidebar/Managing.tsx b/web/src/components/Sidebar/Managing.tsx index 8c245ca..7e76057 100644 --- a/web/src/components/Sidebar/Managing.tsx +++ b/web/src/components/Sidebar/Managing.tsx @@ -17,7 +17,7 @@ export function Managing({ userConfig }: { userConfig: UserConfig | null | undef const data = userConfig?.Protected.EditorFor.sort().map(channel => ({label: channel, value: channel})) || []; data.unshift({label: "You", value: ""}); - return
+ return
} /> diff --git a/web/src/components/Sidebar/Sidebar.tsx b/web/src/components/Sidebar/Sidebar.tsx index d63216e..899901d 100644 --- a/web/src/components/Sidebar/Sidebar.tsx +++ b/web/src/components/Sidebar/Sidebar.tsx @@ -4,50 +4,65 @@ import { useUserConfig } from "../../hooks/useUserConfig"; import { useStore } from "../../store"; import { Login } from "./Login"; import { Managing } from "./Managing"; +import { NavLink } from "@mantine/core"; +import { usePathname } from "next/navigation"; export function Sidebar() { const [userConfig] = useUserConfig(); const loggedIn = useStore(state => Boolean(state.scToken)); + const pathname = usePathname(); if (!loggedIn) { return null; } return ( -
+
{loggedIn && <> - - Home - - } + component={Link} + /> + - Bot - - } + component={Link} + /> + - Overlays - - } + component={Link} + /> + - Rewards - - } + component={Link} + /> + - Permissions - - } + component={Link} + /> + - Blocks - + active={pathname.startsWith("/blocks")} + label="Blocks" + leftSection={} + component={Link} + /> }
);