From 5462ae62397421d2f3c74b26712fbe322bbb0c2a Mon Sep 17 00:00:00 2001 From: Sacha Al Himdani Date: Mon, 8 Sep 2025 17:03:40 +0200 Subject: [PATCH] Store sidebar state Signed-off-by: Sacha Al Himdani --- packages/ui/src/Atoms/Sidebar/Sidebar.tsx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/ui/src/Atoms/Sidebar/Sidebar.tsx b/packages/ui/src/Atoms/Sidebar/Sidebar.tsx index e848de632..92eb0c8fd 100644 --- a/packages/ui/src/Atoms/Sidebar/Sidebar.tsx +++ b/packages/ui/src/Atoms/Sidebar/Sidebar.tsx @@ -10,8 +10,23 @@ import { Button } from "../Button/Button"; const sidebarContext = createContext({ open: true }); +function useSidebarState() { + const [open, setOpenState] = useState(() => { + const stored = localStorage.getItem("sidebar-open"); + return stored !== null ? JSON.parse(stored) : true; + }); + + const setOpen = (value: boolean) => { + setOpenState(value); + + localStorage.setItem("sidebar-open", JSON.stringify(value)); + }; + + return [open, setOpen] as const; +} + export function Sidebar({ children }: PropsWithChildren) { - const [open, setOpen] = useState(true); + const [open, setOpen] = useSidebarState(); return (