"use client"; import "../../style/globals.css"; import { Inter } from "next/font/google"; import "../../style/fontiran.css"; import NavBAr from "@comp/NavBar/NavBAr"; import "swiper/css"; import "swiper/css/navigation"; import "react-spring-bottom-sheet/dist/style.css"; import AppContext from "../../Contexts/AppContext"; import { useCallback, useEffect, useState } from "react"; import { motion } from "framer-motion"; import Link from "next/link"; import { usePathname, useRouter } from "next/navigation"; import { toast, ToastContainer } from "react-toastify"; import "react-toastify/dist/ReactToastify.css"; import Loading from "plugins/Loading/page"; import Chapar, { getToken } from "plugins/Chapar"; const inter = Inter({ subsets: ["latin"] }); // export const metadata = { // title: "Create Next App", // description: "Generated by create next app", // }; export default function RootLayout({ children }) { // BottomSheet const [BottomSheetCreateRoleOpen, setBottomSheetCreateRoleOpen] = useState(false); const [BottomSheetCreateEmployeesOpen, setBottomSheetCreateEmployeesOpen] = useState(false); const [BottomSheetCreateShiftsOpen, setBottomSheetCreateShiftsOpen] = useState(false); // BigPlus const [BigPlusOpen, setBigPlusOpen] = useState(false); const [BigPlusRotateIcon, setBigPlusRotateIcon] = useState(false); // login const [phoneNumber, setPhoneNumber] = useState(""); const [verifyCode, setVerifyCode] = useState(""); const [stepLogin, setStepLogin] = useState(0); const [tokenForStorage, setTokenForStorage] = useState(null); // loading const [loading, setLoading] = useState(false); //auth const [complexId, setComplexId] = useState(0); // createRole / role const [permissions, setPermissions] = useState(0); const [permissionsChoose, setPermissionsChoose] = useState([]); const [rolesData, setRolesData] = useState([]); const [roleData, setRoleData] = useState([]); const [goToEditRole, setGoToEditRole] = useState(false); const [idEditRole, setIdEditRole] = useState(null); // createUser/ user const [usersData, setUsersData] = useState([]); const [rolesChoose, setRolesChoose] = useState([]); const [userData, setUserData] = useState([]); const [goToEditUser, setGoToEditUser] = useState(false); const [idEditUser, setIdEditUser] = useState(null); const pathname = usePathname(); const router = useRouter(); const hiddenUrls = ["/login", "/"]; const shouldRenderComponent = !hiddenUrls.includes(pathname); const closeBigPlusPage = () => { setTimeout(() => { setBigPlusOpen(false); }, 500); setBigPlusRotateIcon(false); }; const ConfirmPhoneNumber = async (phoneNumber) => { try { const data = await Chapar.get( `${process.env.NEXT_PUBLIC_API_URL}/auth/verifycode?phoneNumber=${phoneNumber}` ); setStepLogin(1); localStorage.removeItem("token"); } catch ({ error, status }) { toast.error(" اطلاعات را صحیح وارد کنید ", { position: "bottom-right", closeOnClick: true, }); } }; const LoginWhitVerifyCode = async () => { setLoading(true); try { const data = await Chapar.post( `${process.env.NEXT_PUBLIC_API_URL}/auth/login/code`, { userName: phoneNumber, password: null, verifyCode, } ); setLoading(false); localStorage.setItem("token", data.access_token); if (data.user.signUpStatus == 1) { setStepLogin(2); } else if (data.user.signUpStatus == 2) { toast.success(` ${data.user.firstName} جان خوش اومدی `, { position: "bottom-right", closeOnClick: true, }); router.push("/home"); } } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; const SignUpLogin = async (body) => { setLoading(true); try { const data = await Chapar.post( `${process.env.NEXT_PUBLIC_API_URL}/auth/signup/complex`, body, { headers: { Authorization: getToken(), }, } ); setLoading(false); if (data.user.signUpStatus == 2 || data.user.signUpStatus == 3) { toast.success(` ${data.user.firstName} جان خوش اومدی `, { position: "bottom-right", closeOnClick: true, }); localStorage.setItem("token", data.access_token); router.push("/home"); } } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; const GetPermissions = async (body) => { setLoading(true); try { const data = await Chapar.get( `${process.env.NEXT_PUBLIC_API_URL}/role/permission`, { headers: { Authorization: getToken(), }, } ); console.log(data); setPermissions(data); setLoading(false); } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; const CreateRole = async (body) => { setLoading(true); try { const data = await Chapar.post( `${process.env.NEXT_PUBLIC_API_URL}/role`, body, { headers: { Authorization: getToken(), }, } ); toast.success(`نقش ساخته شد`, { position: "bottom-right", closeOnClick: true, }); setBottomSheetCreateRoleOpen(false); setLoading(false); GetRoles(); } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; const UpdateRole = async (body) => { setLoading(true); try { const data = await Chapar.put( `${process.env.NEXT_PUBLIC_API_URL}/role`, body, { headers: { Authorization: getToken(), }, } ); toast.success(`نقش ویرایش شد`, { position: "bottom-right", closeOnClick: true, }); setBottomSheetCreateRoleOpen(false); setLoading(false); GetRoles(); } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; const GetRoles = async () => { setLoading(true); try { const data = await Chapar.get( `${process.env.NEXT_PUBLIC_API_URL}/role?page=0`, { headers: { Authorization: getToken(), }, } ); console.log("GetRoles", data); setRolesData(data); setLoading(false); } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; const GetRole = async (id) => { setLoading(true); try { const data = await Chapar.get( `${process.env.NEXT_PUBLIC_API_URL}/role/${id}?page=0`, { headers: { Authorization: getToken(), }, } ); console.log("GetRole ", data); setRoleData(data); setLoading(false); } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; const DeleteRole = async (id) => { setLoading(true); try { const data = await Chapar.delete( `${process.env.NEXT_PUBLIC_API_URL}/role/${id}`, { headers: { Authorization: getToken(), }, } ); setBottomSheetCreateRoleOpen(false); setLoading(false); GetRoles(); } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; const CreateUser = async (body) => { setLoading(true); try { const data = await Chapar.post( `${process.env.NEXT_PUBLIC_API_URL}/user`, body, { headers: { Authorization: getToken(), }, } ); toast.success(`کاربر ساخته شد`, { position: "bottom-right", closeOnClick: true, }); setBottomSheetCreateEmployeesOpen(false); setLoading(false); GetUsers(); } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; const UpdateUser = async (body) => { setLoading(true); try { const data = await Chapar.put( `${process.env.NEXT_PUBLIC_API_URL}/user`, body, { headers: { Authorization: getToken(), }, } ); toast.success(`کاربر ویرایش شد`, { position: "bottom-right", closeOnClick: true, }); setBottomSheetCreateEmployeesOpen(false); setLoading(false); GetUsers(); } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; const GetUsers = async () => { setLoading(true); try { const data = await Chapar.get( `${process.env.NEXT_PUBLIC_API_URL}/user?page=0`, { headers: { Authorization: getToken(), }, } ); console.log("GetUsers", data); setUsersData(data); setLoading(false); } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; const GetUser = async (id) => { setLoading(true); try { const data = await Chapar.get( `${process.env.NEXT_PUBLIC_API_URL}/user/${id}`, { headers: { Authorization: getToken(), }, } ); console.log("GetUsersalam", data); setUserData(data); setLoading(false); } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; const DeleteUser = async (id) => { setLoading(true); try { const data = await Chapar.delete( `${process.env.NEXT_PUBLIC_API_URL}/user/${id}`, { headers: { Authorization: getToken(), }, } ); setBottomSheetCreateEmployeesOpen(false); setLoading(false); GetUsers(); } catch ({ error, status }) { toast.error(`${error.response.data.message}`, { position: "bottom-right", closeOnClick: true, }); setLoading(false); } }; // useEffect(() => { // GetPermissions(); // }, []); return ( {children} {shouldRenderComponent && } {BigPlusOpen ? (
{ closeBigPlusPage(); }} >

افزودن خرید جدیـــــد

افزودن وظیفه جدید

) : ( "" )}
); }