diff --git a/src/Layout/Ui/Layout.tsx b/src/Layout/Ui/Layout.tsx index 0e67f36..422b4f9 100644 --- a/src/Layout/Ui/Layout.tsx +++ b/src/Layout/Ui/Layout.tsx @@ -2,6 +2,7 @@ import React, { useState } from "react"; import NavBar from "./NavBar"; import SideBar from "./SideBar"; import ProtectedRouteProvider from "../../lib/ProtectedRouteProvider"; +import { useSideBarState } from "../../zustand/SideBarState"; const Layout = ({ children, @@ -10,17 +11,18 @@ const Layout = ({ children: React.ReactNode; className?: string; }) => { - const [isOpen, setIsOpen] = useState(true); + const {openSideBar, setOpenSideBar} = useSideBarState(); + return (
- +
{children}
- +
); }; diff --git a/src/Layout/Ui/SideBar.tsx b/src/Layout/Ui/SideBar.tsx index 73d63d3..70ac7b0 100644 --- a/src/Layout/Ui/SideBar.tsx +++ b/src/Layout/Ui/SideBar.tsx @@ -28,7 +28,7 @@ const SideBar = ({ const [t] = useTranslation(); const toggleSidebar = () => { - setIsOpen((prev: boolean) => (prev === true ? false : true)); + setIsOpen((prev: boolean) => !prev); }; return ( diff --git a/src/translate/ar.json b/src/translate/ar.json index 890a23c..bfba32f 100644 --- a/src/translate/ar.json +++ b/src/translate/ar.json @@ -416,7 +416,9 @@ "are_you_sure_about_sale":"هل أنت متأكد من عملية البيع ؟", "Coupon":"قسيمة", "financial_collection":"التحصيلات", - "show_collection":"حصيلة" + "show_collection":"حصيلة", + "city":"مدينة", + "financialCollection":"التحصيلات" }, "education_class_actions": { "Student_Records": "سجلات الطلاب", diff --git a/src/zustand/SideBarState.ts b/src/zustand/SideBarState.ts new file mode 100644 index 0000000..e59c455 --- /dev/null +++ b/src/zustand/SideBarState.ts @@ -0,0 +1,13 @@ +import { create } from "zustand"; + +interface ModalState { + openSideBar: boolean; + setOpenSideBar: (value: boolean | ((prevState: boolean) => boolean)) => void; +} + +export const useSideBarState = create((set) => ({ + openSideBar: true, + setOpenSideBar: (value) => set((state) => ({ + openSideBar: typeof value === 'function' ? value(state.openSideBar) : value, + })), +}));