Use new sidebar state (#849)

This commit is contained in:
Salih Altun
2024-09-18 16:03:19 +03:00
committed by GitHub
parent 8f04efa7b3
commit 436fcd9620

View File

@@ -3,45 +3,45 @@ import { Toaster } from "@/components/ui/toaster";
import { SideNav } from "./SideNav"; import { SideNav } from "./SideNav";
import { PinLeftIcon, PinRightIcon } from "@radix-ui/react-icons"; import { PinLeftIcon, PinRightIcon } from "@radix-ui/react-icons";
import { Logo } from "@/components/Logo"; import { Logo } from "@/components/Logo";
import { useState } from "react";
import { cn } from "@/util/utils"; import { cn } from "@/util/utils";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { LogoMinimized } from "@/components/LogoMinimized"; import { LogoMinimized } from "@/components/LogoMinimized";
import { Header } from "./Header"; import { Header } from "./Header";
import { useSidebarStore } from "@/store/SidebarStore";
function RootLayout() { function RootLayout() {
const [sidebarCollapsed, setSidebarCollapsed] = useState(false); const { collapsed, setCollapsed } = useSidebarStore();
return ( return (
<> <>
<div className="h-full w-full"> <div className="h-full w-full">
<aside <aside
className={cn("fixed h-screen min-h-screen border-r-2 px-6", { className={cn("fixed h-screen min-h-screen border-r-2 px-6", {
"w-64": !sidebarCollapsed, "w-64": !collapsed,
"w-28": sidebarCollapsed, "w-28": collapsed,
})} })}
> >
<div className="flex h-full flex-col"> <div className="flex h-full flex-col">
<Link to={window.location.origin}> <Link to={window.location.origin}>
<div className="flex h-24 items-center"> <div className="flex h-24 items-center">
{sidebarCollapsed ? <LogoMinimized /> : <Logo />} {collapsed ? <LogoMinimized /> : <Logo />}
</div> </div>
</Link> </Link>
<SideNav collapsed={sidebarCollapsed} /> <SideNav collapsed={collapsed} />
<div <div
className={cn("mt-auto flex min-h-16", { className={cn("mt-auto flex min-h-16", {
"justify-center": sidebarCollapsed, "justify-center": collapsed,
"justify-end": !sidebarCollapsed, "justify-end": !collapsed,
})} })}
> >
<Button <Button
size="icon" size="icon"
variant="ghost" variant="ghost"
onClick={() => { onClick={() => {
setSidebarCollapsed(!sidebarCollapsed); setCollapsed(!collapsed);
}} }}
> >
{sidebarCollapsed ? ( {collapsed ? (
<PinRightIcon className="h-6 w-6" /> <PinRightIcon className="h-6 w-6" />
) : ( ) : (
<PinLeftIcon className="h-6 w-6" /> <PinLeftIcon className="h-6 w-6" />
@@ -53,7 +53,7 @@ function RootLayout() {
<Header /> <Header />
<main <main
className={cn("pb-4 pl-64", { className={cn("pb-4 pl-64", {
"pl-28": sidebarCollapsed, "pl-28": collapsed,
})} })}
> >
<Outlet /> <Outlet />