Add to sidebar

This commit is contained in:
hamid zarghami
2026-06-10 11:27:56 +03:30
parent a8288a0431
commit 9d2401d951
3 changed files with 105 additions and 515 deletions
+3
View File
@@ -166,4 +166,7 @@ export const Pages = {
create: "/reseller/create", create: "/reseller/create",
withdraw: "/reseller/withdraw", withdraw: "/reseller/withdraw",
}, },
taskmanager: {
list: "/taskmanager/list",
},
}; };
+2 -1
View File
@@ -90,7 +90,8 @@
"domain": "دامنه", "domain": "دامنه",
"reseller": "نماینده", "reseller": "نماینده",
"resellers": "نمایندگان", "resellers": "نمایندگان",
"withdraw": "درخواست های برداشت" "withdraw": "درخواست های برداشت",
"taskmanager": "مدیریت تسک ها"
}, },
"reseller": { "reseller": {
"list": "لیست نمایندکان", "list": "لیست نمایندکان",
+100 -514
View File
@@ -27,6 +27,7 @@ import {
Setting2, Setting2,
Sms, Sms,
SmsTracking, SmsTracking,
Task,
Teacher, Teacher,
TicketDiscount, TicketDiscount,
UserSquare, UserSquare,
@@ -56,14 +57,7 @@ import SideBarItem from "./SideBarItem";
import { useSharedStore } from "./store/sharedStore"; import { useSharedStore } from "./store/sharedStore";
const SideBar: FC = () => { const SideBar: FC = () => {
const { t } = useTranslation("global"); const { t } = useTranslation("global");
const { const { openSidebar, setOpenSidebar, hasSubMenu, setSubMenuName, setSubtMenu, subMenuName } = useSharedStore();
openSidebar,
setOpenSidebar,
hasSubMenu,
setSubMenuName,
setSubtMenu,
subMenuName,
} = useSharedStore();
const location = useLocation(); const location = useLocation();
const { data: profile } = useGetProfile(); const { data: profile } = useGetProfile();
const { data: adminPermissions } = useGetAdminPermissions(); const { data: adminPermissions } = useGetAdminPermissions();
@@ -102,12 +96,7 @@ const SideBar: FC = () => {
return ( return (
<> <>
{openSidebar && ( {openSidebar && <div className="fixed top-0 left-0 right-0 bottom-0 bg-black bg-opacity-50 z-10" onClick={() => setOpenSidebar(false)} />}
<div
className="fixed top-0 left-0 right-0 bottom-0 bg-black bg-opacity-50 z-10"
onClick={() => setOpenSidebar(false)}
/>
)}
<div <div
className={clx( className={clx(
"fixed xl:flex translate-x-[400px] xl:translate-x-0 transition-all ease-in-out opacity-0 invisible xl:visible xl:opacity-100 xl:right-4 right-0 xl:top-4 top-0 xl:bottom-4 bottom-0 xl:rounded-[32px] w-[250px] bg-white flex-col py-12", "fixed xl:flex translate-x-[400px] xl:translate-x-0 transition-all ease-in-out opacity-0 invisible xl:visible xl:opacity-100 xl:right-4 right-0 xl:top-4 top-0 xl:bottom-4 bottom-0 xl:rounded-[32px] w-[250px] bg-white flex-col py-12",
@@ -115,63 +104,30 @@ const SideBar: FC = () => {
hasSubMenu && "w-24 !rounded-tl-none !rounded-bl-none", hasSubMenu && "w-24 !rounded-tl-none !rounded-bl-none",
)} )}
> >
<div className="flex justify-center"> <div className="flex justify-center">{!hasSubMenu ? <img src={LogoImage} className="w-[140px]" /> : <img src={LogoSmall} className="w-7" />}</div>
{!hasSubMenu ? (
<img src={LogoImage} className="w-[140px]" />
) : (
<img src={LogoSmall} className="w-7" />
)}
</div>
<div className="flex-1 flex flex-col h-full overflow-y-auto no-scrollbar"> <div className="flex-1 flex flex-col h-full overflow-y-auto no-scrollbar">
<div <div
onClick={() => handleOpenMenu("menu")} onClick={() => handleOpenMenu("menu")}
className={clx( className={clx("mt-10 px-12 text-header text-sm font-normal cursor-pointer", hasSubMenu && "px-2 text-center", !hasSubMenu && "flex gap-2 items-center")}
"mt-10 px-12 text-header text-sm font-normal cursor-pointer",
hasSubMenu && "px-2 text-center",
!hasSubMenu && "flex gap-2 items-center",
)}
> >
{t("sidebar.menu")} {t("sidebar.menu")}
<div <div className={clx("transition-all", !openMenu.includes("menu") && "rotate-180", hasSubMenu && "hidden")}>
className={clx(
"transition-all",
!openMenu.includes("menu") && "rotate-180",
hasSubMenu && "hidden",
)}
>
<ArrowDown2 size={18} color="#c3c7dd" /> <ArrowDown2 size={18} color="#c3c7dd" />
</div> </div>
</div> </div>
<div <div className={clx("text-xs text-[#8C90A3]", !openMenu.includes("menu") && "hidden")}>
className={clx(
"text-xs text-[#8C90A3]",
!openMenu.includes("menu") && "hidden",
)}
>
<SideBarItem <SideBarItem
icon={ icon={<Home2 variant={isActive("dashboard") ? "Bold" : "Outline"} color={isActive("dashboard") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Home2
variant={isActive("dashboard") ? "Bold" : "Outline"}
color={isActive("dashboard") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.mainpage")} title={t("sidebar.mainpage")}
isActive={isActive("dashboard")} isActive={isActive("dashboard")}
link={Pages.dashboard} link={Pages.dashboard}
activeName="" activeName=""
/> />
<SideBarItem <SideBarItem
icon={ icon={<Element3 variant={isActive("services") ? "Bold" : "Outline"} color={isActive("services") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Element3
variant={isActive("services") ? "Bold" : "Outline"}
color={isActive("services") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.services")} title={t("sidebar.services")}
isActive={isActive("services")} isActive={isActive("services")}
link={Pages.services.list} link={Pages.services.list}
@@ -180,13 +136,7 @@ const SideBar: FC = () => {
/> />
<SideBarItem <SideBarItem
icon={ icon={<Headphone variant={isActive("support") ? "Bold" : "Outline"} color={isActive("support") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Headphone
variant={isActive("support") ? "Bold" : "Outline"}
color={isActive("support") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.support")} title={t("sidebar.support")}
isActive={isActive("support")} isActive={isActive("support")}
link={Pages.support.list} link={Pages.support.list}
@@ -194,39 +144,21 @@ const SideBar: FC = () => {
/> />
<SideBarItem <SideBarItem
icon={ icon={<People variant={isActive("customers") ? "Bold" : "Outline"} color={isActive("customers") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<People
variant={isActive("customers") ? "Bold" : "Outline"}
color={isActive("customers") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.customers")} title={t("sidebar.customers")}
isActive={isActive("customers")} isActive={isActive("customers")}
link={Pages.customers.list} link={Pages.customers.list}
activeName="customers" activeName="customers"
/> />
<SideBarItem <SideBarItem
icon={ icon={<UserSquare variant={isActive("representatives") ? "Bold" : "Outline"} color={isActive("representatives") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<UserSquare
variant={isActive("representatives") ? "Bold" : "Outline"}
color={isActive("representatives") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.representatives")} title={t("sidebar.representatives")}
isActive={isActive("representatives")} isActive={isActive("representatives")}
link={Pages.representative.list} link={Pages.representative.list}
activeName="agents" activeName="agents"
/> />
<SideBarItem <SideBarItem
icon={ icon={<CodeCircle variant={isActive("developers") ? "Bold" : "Outline"} color={isActive("developers") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<CodeCircle
variant={isActive("developers") ? "Bold" : "Outline"}
color={isActive("developers") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.developers")} title={t("sidebar.developers")}
isActive={isActive("developers")} isActive={isActive("developers")}
link={Pages.developers.list} link={Pages.developers.list}
@@ -234,13 +166,7 @@ const SideBar: FC = () => {
/> />
<SideBarItem <SideBarItem
icon={ icon={<Money3 variant={isActive("payments") ? "Bold" : "Outline"} color={isActive("payments") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Money3
variant={isActive("payments") ? "Bold" : "Outline"}
color={isActive("payments") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.payments")} title={t("sidebar.payments")}
isActive={isActive("payments")} isActive={isActive("payments")}
link={Pages.payment.list} link={Pages.payment.list}
@@ -248,39 +174,21 @@ const SideBar: FC = () => {
/> />
<SideBarItem <SideBarItem
icon={ icon={<Code variant={isActive("referral-code") ? "Bold" : "Outline"} color={isActive("referral-code") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Code
variant={isActive("referral-code") ? "Bold" : "Outline"}
color={isActive("referral-code") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.code_referral")} title={t("sidebar.code_referral")}
isActive={isActive("referral-code")} isActive={isActive("referral-code")}
link={Pages.referralCode.list} link={Pages.referralCode.list}
activeName="referralCode" activeName="referralCode"
/> />
<SideBarItem <SideBarItem
icon={ icon={<Profile variant={isActive("users") ? "Bold" : "Outline"} color={isActive("users") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Profile
variant={isActive("users") ? "Bold" : "Outline"}
color={isActive("users") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.users")} title={t("sidebar.users")}
isActive={isActive("users")} isActive={isActive("users")}
link={Pages.users.list} link={Pages.users.list}
activeName="admins" activeName="admins"
/> />
<SideBarItem <SideBarItem
icon={ icon={<Gallery variant={isActive("sliders") ? "Bold" : "Outline"} color={isActive("sliders") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Gallery
variant={isActive("sliders") ? "Bold" : "Outline"}
color={isActive("sliders") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.sliders")} title={t("sidebar.sliders")}
isActive={isActive("sliders")} isActive={isActive("sliders")}
link={Pages.sliders.list} link={Pages.sliders.list}
@@ -291,39 +199,18 @@ const SideBar: FC = () => {
{ {
<div <div
onClick={() => handleOpenMenu("financial")} onClick={() => handleOpenMenu("financial")}
className={clx( className={clx("mt-10 px-12 text-header text-sm font-normal cursor-pointer", hasSubMenu && "px-2 text-center", !hasSubMenu && "flex gap-2 items-center")}
"mt-10 px-12 text-header text-sm font-normal cursor-pointer",
hasSubMenu && "px-2 text-center",
!hasSubMenu && "flex gap-2 items-center",
)}
> >
{t("sidebar.financial")} {t("sidebar.financial")}
<div <div className={clx("transition-all", !openMenu.includes("financial") && "rotate-180", hasSubMenu && "hidden")}>
className={clx(
"transition-all",
!openMenu.includes("financial") && "rotate-180",
hasSubMenu && "hidden",
)}
>
<ArrowDown2 size={18} color="#c3c7dd" /> <ArrowDown2 size={18} color="#c3c7dd" />
</div> </div>
</div> </div>
} }
<div <div className={clx("text-xs text-[#8C90A3]", !openMenu.includes("financial") && "hidden")}>
className={clx(
"text-xs text-[#8C90A3]",
!openMenu.includes("financial") && "hidden",
)}
>
<SideBarItem <SideBarItem
icon={ icon={<BagTick variant={isActive("subscriptions") ? "Bold" : "Outline"} color={isActive("subscriptions") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<BagTick
variant={isActive("subscriptions") ? "Bold" : "Outline"}
color={isActive("subscriptions") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.subscriptions")} title={t("sidebar.subscriptions")}
isActive={isActive("subscriptions")} isActive={isActive("subscriptions")}
link={Pages.subscriptions.list} link={Pages.subscriptions.list}
@@ -331,13 +218,7 @@ const SideBar: FC = () => {
/> />
<SideBarItem <SideBarItem
icon={ icon={<Receipt21 variant={isActive("receipts") ? "Bold" : "Outline"} color={isActive("receipts") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Receipt21
variant={isActive("receipts") ? "Bold" : "Outline"}
color={isActive("receipts") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.receipt_list")} title={t("sidebar.receipt_list")}
isActive={isActive("receipts")} isActive={isActive("receipts")}
link={Pages.receipts.index} link={Pages.receipts.index}
@@ -345,13 +226,7 @@ const SideBar: FC = () => {
/> />
<SideBarItem <SideBarItem
icon={ icon={<Card variant={isActive("transactions") ? "Bold" : "Outline"} color={isActive("transactions") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Card
variant={isActive("transactions") ? "Bold" : "Outline"}
color={isActive("transactions") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.transactions")} title={t("sidebar.transactions")}
isActive={isActive("transactions")} isActive={isActive("transactions")}
link={Pages.transactions} link={Pages.transactions}
@@ -359,13 +234,7 @@ const SideBar: FC = () => {
/> />
<SideBarItem <SideBarItem
icon={ icon={<TicketDiscount variant={isActive("discounts") ? "Bold" : "Outline"} color={isActive("discounts") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<TicketDiscount
variant={isActive("discounts") ? "Bold" : "Outline"}
color={isActive("discounts") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.discounts")} title={t("sidebar.discounts")}
isActive={isActive("discounts")} isActive={isActive("discounts")}
link={Pages.discount.list} link={Pages.discount.list}
@@ -373,13 +242,7 @@ const SideBar: FC = () => {
/> />
<SideBarItem <SideBarItem
icon={ icon={<Card variant={isActive("card") ? "Bold" : "Outline"} color={isActive("card") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Card
variant={isActive("card") ? "Bold" : "Outline"}
color={isActive("card") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.card")} title={t("sidebar.card")}
isActive={isActive("card")} isActive={isActive("card")}
link={Pages.cardBank.list} link={Pages.cardBank.list}
@@ -387,45 +250,22 @@ const SideBar: FC = () => {
/> />
</div> </div>
{profile?.data?.user?.roles.some( {profile?.data?.user?.roles.some((role: { name: string }) => role.name === "super_admin") && (
(role: { name: string }) => role.name === "super_admin",
) && (
<div <div
onClick={() => handleOpenMenu("other")} onClick={() => handleOpenMenu("other")}
className={clx( className={clx("mt-10 px-12 text-header text-sm font-normal cursor-pointer", hasSubMenu && "px-2 text-center", !hasSubMenu && "flex gap-2 items-center")}
"mt-10 px-12 text-header text-sm font-normal cursor-pointer",
hasSubMenu && "px-2 text-center",
!hasSubMenu && "flex gap-2 items-center",
)}
> >
{t("sidebar.other")} {t("sidebar.other")}
<div <div className={clx("transition-all", !openMenu.includes("other") && "rotate-180", hasSubMenu && "hidden")}>
className={clx(
"transition-all",
!openMenu.includes("other") && "rotate-180",
hasSubMenu && "hidden",
)}
>
<ArrowDown2 size={18} color="#c3c7dd" /> <ArrowDown2 size={18} color="#c3c7dd" />
</div> </div>
</div> </div>
)} )}
<div <div className={clx("text-xs text-[#8C90A3]", !openMenu.includes("other") && "hidden")}>
className={clx(
"text-xs text-[#8C90A3]",
!openMenu.includes("other") && "hidden",
)}
>
<SideBarItem <SideBarItem
icon={ icon={<Messages3 variant={isActive("tickets") ? "Bold" : "Outline"} color={isActive("tickets") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Messages3
variant={isActive("tickets") ? "Bold" : "Outline"}
color={isActive("tickets") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.ticket")} title={t("sidebar.ticket")}
isActive={isActive("tickets")} isActive={isActive("tickets")}
link={Pages.ticket.list} link={Pages.ticket.list}
@@ -433,13 +273,7 @@ const SideBar: FC = () => {
/> />
<SideBarItem <SideBarItem
icon={ icon={<Chart21 variant={isActive("feedback") ? "Bold" : "Outline"} color={isActive("feedback") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Chart21
variant={isActive("feedback") ? "Bold" : "Outline"}
color={isActive("feedback") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.feedback")} title={t("sidebar.feedback")}
isActive={isActive("feedback")} isActive={isActive("feedback")}
link={Pages.feedback.list} link={Pages.feedback.list}
@@ -448,13 +282,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Activity variant={isActive("access-logs") ? "Bold" : "Outline"} color={isActive("access-logs") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Activity
variant={isActive("access-logs") ? "Bold" : "Outline"}
color={isActive("access-logs") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.accessLogs")} title={t("sidebar.accessLogs")}
isActive={isActive("access-logs")} isActive={isActive("access-logs")}
link={Pages.accessLogs.list} link={Pages.accessLogs.list}
@@ -465,13 +293,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<DocumentText variant={isActive("criticisms") ? "Bold" : "Outline"} color={isActive("criticisms") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<DocumentText
variant={isActive("criticisms") ? "Bold" : "Outline"}
color={isActive("criticisms") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.criticisms")} title={t("sidebar.criticisms")}
isActive={isActive("criticisms")} isActive={isActive("criticisms")}
link={Pages.criticisms.list} link={Pages.criticisms.list}
@@ -479,70 +301,58 @@ const SideBar: FC = () => {
/> />
</div> </div>
</div> </div>
{profile?.data?.user?.roles?.some(
(role: { name: string }) => role.name === "super_admin", {
) && ( <div
onClick={() => handleOpenMenu("taskmanager")}
className={clx("mt-10 px-12 text-header text-sm font-normal cursor-pointer", hasSubMenu && "px-2 text-center", !hasSubMenu && "flex gap-2 items-center")}
>
{t("sidebar.taskmanager")}
<div className={clx("transition-all", !openMenu.includes("taskmanager") && "rotate-180", hasSubMenu && "hidden")}>
<ArrowDown2 size={18} color="#c3c7dd" />
</div>
</div>
}
<div className={clx("text-xs text-[#8C90A3]")}>
<SideBarItem
icon={<Task variant={isActive("taskmanager") ? "Bold" : "Outline"} color={isActive("taskmanager") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
title={t("sidebar.taskmanager")}
isActive={isActive("taskmanager")}
link={Pages.taskmanager.list}
activeName=""
/>
</div>
{profile?.data?.user?.roles?.some((role: { name: string }) => role.name === "super_admin") && (
<div <div
onClick={() => handleOpenMenu("content")} onClick={() => handleOpenMenu("content")}
className={clx( className={clx("mt-10 px-12 text-header text-sm font-normal cursor-pointer", hasSubMenu && "px-2 text-center text-xs", !hasSubMenu && "flex gap-2 items-center")}
"mt-10 px-12 text-header text-sm font-normal cursor-pointer",
hasSubMenu && "px-2 text-center text-xs",
!hasSubMenu && "flex gap-2 items-center",
)}
> >
{t("sidebar.mnage_content")} {t("sidebar.mnage_content")}
<div <div className={clx("transition-all", !openMenu.includes("content") && "rotate-180", hasSubMenu && "hidden")}>
className={clx(
"transition-all",
!openMenu.includes("content") && "rotate-180",
hasSubMenu && "hidden",
)}
>
<ArrowDown2 size={18} color="#c3c7dd" /> <ArrowDown2 size={18} color="#c3c7dd" />
</div> </div>
</div> </div>
)} )}
{adminPermissions?.data?.permissions?.some( {adminPermissions?.data?.permissions?.some((permission: { name: string }) => permission.name === "reseller") && (
(permission: { name: string }) => permission.name === "reseller",
) && (
<> <>
<div <div
onClick={() => handleOpenMenu("reseller")} onClick={() => handleOpenMenu("reseller")}
className={clx( className={clx("mt-10 px-12 text-header text-sm font-normal cursor-pointer", hasSubMenu && "px-2 text-center", !hasSubMenu && "flex gap-2 items-center")}
"mt-10 px-12 text-header text-sm font-normal cursor-pointer",
hasSubMenu && "px-2 text-center",
!hasSubMenu && "flex gap-2 items-center",
)}
> >
{t("sidebar.reseller")} {t("sidebar.reseller")}
<div <div className={clx("transition-all", !openMenu.includes("reseller") && "rotate-180", hasSubMenu && "hidden")}>
className={clx(
"transition-all",
!openMenu.includes("reseller") && "rotate-180",
hasSubMenu && "hidden",
)}
>
<ArrowDown2 size={18} color="#c3c7dd" /> <ArrowDown2 size={18} color="#c3c7dd" />
</div> </div>
</div> </div>
<div <div className={clx("flex-1 flex flex-col justify-end", !openMenu.includes("reseller") && "hidden")}>
className={clx(
"flex-1 flex flex-col justify-end",
!openMenu.includes("reseller") && "hidden",
)}
>
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<UserTick variant={isActive("reseller/list") ? "Bold" : "Outline"} color={isActive("reseller/list") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<UserTick
variant={isActive("reseller/list") ? "Bold" : "Outline"}
color={isActive("reseller/list") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.resellers")} title={t("sidebar.resellers")}
isActive={isActive("reseller/list")} isActive={isActive("reseller/list")}
link={Pages.reseller.list} link={Pages.reseller.list}
@@ -552,17 +362,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Money variant={isActive("reseller/withdraw") ? "Bold" : "Outline"} color={isActive("reseller/withdraw") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Money
variant={
isActive("reseller/withdraw") ? "Bold" : "Outline"
}
color={
isActive("reseller/withdraw") ? "black" : "#8C90A3"
}
size={iconSizeSideBar}
/>
}
title={t("sidebar.withdraw")} title={t("sidebar.withdraw")}
isActive={isActive("reseller/withdraw")} isActive={isActive("reseller/withdraw")}
link={Pages.reseller.withdraw} link={Pages.reseller.withdraw}
@@ -576,13 +376,7 @@ const SideBar: FC = () => {
<div className={clx(!openMenu.includes("content") && "hidden")}> <div className={clx(!openMenu.includes("content") && "hidden")}>
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<DocumentLike variant={isActive("ads") ? "Bold" : "Outline"} color={isActive("ads") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<DocumentLike
variant={isActive("ads") ? "Bold" : "Outline"}
color={isActive("ads") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.ads")} title={t("sidebar.ads")}
isActive={isActive("ads")} isActive={isActive("ads")}
link={Pages.ads.list} link={Pages.ads.list}
@@ -592,13 +386,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<NotificationStatus variant={isActive("announcement") ? "Bold" : "Outline"} color={isActive("announcement") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<NotificationStatus
variant={isActive("announcement") ? "Bold" : "Outline"}
color={isActive("announcement") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.announcement")} title={t("sidebar.announcement")}
isActive={isActive("announcement")} isActive={isActive("announcement")}
link={Pages.announcement.list} link={Pages.announcement.list}
@@ -608,13 +396,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<DocumentText variant={isActive("blog") ? "Bold" : "Outline"} color={isActive("blog") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<DocumentText
variant={isActive("blog") ? "Bold" : "Outline"}
color={isActive("blog") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.blog")} title={t("sidebar.blog")}
isActive={isActive("blog")} isActive={isActive("blog")}
link={Pages.blog.list} link={Pages.blog.list}
@@ -624,13 +406,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Teacher variant={isActive("learning") ? "Bold" : "Outline"} color={isActive("learning") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Teacher
variant={isActive("learning") ? "Bold" : "Outline"}
color={isActive("learning") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.learning")} title={t("sidebar.learning")}
isActive={isActive("learning")} isActive={isActive("learning")}
link={Pages.learning.list} link={Pages.learning.list}
@@ -640,13 +416,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<SmsTracking variant={isActive("messages") ? "Bold" : "Outline"} color={isActive("messages") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<SmsTracking
variant={isActive("messages") ? "Bold" : "Outline"}
color={isActive("messages") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.messages")} title={t("sidebar.messages")}
isActive={isActive("messages")} isActive={isActive("messages")}
link={Pages.messages.list} link={Pages.messages.list}
@@ -655,49 +425,22 @@ const SideBar: FC = () => {
</div> </div>
</div> </div>
{adminPermissions?.data?.permissions?.some( {adminPermissions?.data?.permissions?.some((permission: { name: string }) => permission.name === "dmenu") && (
(permission: { name: string }) => permission.name === "dmenu",
) && (
<> <>
<div <div
onClick={() => handleOpenMenu("dmenu")} onClick={() => handleOpenMenu("dmenu")}
className={clx( className={clx("mt-10 px-12 text-header text-sm font-normal cursor-pointer", hasSubMenu && "px-2 text-center", !hasSubMenu && "flex gap-2 items-center")}
"mt-10 px-12 text-header text-sm font-normal cursor-pointer",
hasSubMenu && "px-2 text-center",
!hasSubMenu && "flex gap-2 items-center",
)}
> >
{t("sidebar.dmenu")} {t("sidebar.dmenu")}
<div <div className={clx("transition-all", !openMenu.includes("dmenu") && "rotate-180", hasSubMenu && "hidden")}>
className={clx(
"transition-all",
!openMenu.includes("dmenu") && "rotate-180",
hasSubMenu && "hidden",
)}
>
<ArrowDown2 size={18} color="#c3c7dd" /> <ArrowDown2 size={18} color="#c3c7dd" />
</div> </div>
</div> </div>
<div <div className={clx("flex-1 flex flex-col justify-end", !openMenu.includes("dmenu") && "hidden")}>
className={clx(
"flex-1 flex flex-col justify-end",
!openMenu.includes("dmenu") && "hidden",
)}
>
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Icon variant={isActive("dmenu/icons/list") ? "Bold" : "Outline"} color={isActive("dmenu/icons/list") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Icon
variant={
isActive("dmenu/icons/list") ? "Bold" : "Outline"
}
color={
isActive("dmenu/icons/list") ? "black" : "#8C90A3"
}
size={iconSizeSideBar}
/>
}
title={t("sidebar.icons")} title={t("sidebar.icons")}
isActive={isActive("dmenu/icons/list")} isActive={isActive("dmenu/icons/list")}
link={Pages.dmenu.icons.list} link={Pages.dmenu.icons.list}
@@ -707,21 +450,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Category variant={isActive("dmenu/icons/group/list") ? "Bold" : "Outline"} color={isActive("dmenu/icons/group/list") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Category
variant={
isActive("dmenu/icons/group/list")
? "Bold"
: "Outline"
}
color={
isActive("dmenu/icons/group/list")
? "black"
: "#8C90A3"
}
size={iconSizeSideBar}
/>
}
title={t("sidebar.groups_icon")} title={t("sidebar.groups_icon")}
isActive={isActive("dmenu/icons/group/list")} isActive={isActive("dmenu/icons/group/list")}
link={Pages.dmenu.icons.groupList} link={Pages.dmenu.icons.groupList}
@@ -731,13 +460,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Warning2 variant={isActive("dmenu/reports") ? "Bold" : "Outline"} color={isActive("dmenu/reports") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Warning2
variant={isActive("dmenu/reports") ? "Bold" : "Outline"}
color={isActive("dmenu/reports") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.reports")} title={t("sidebar.reports")}
isActive={isActive("dmenu/reports")} isActive={isActive("dmenu/reports")}
link={Pages.dmenu.warnings.list} link={Pages.dmenu.warnings.list}
@@ -747,13 +470,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Building variant={isActive("restaurants") ? "Bold" : "Outline"} color={isActive("restaurants") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Building
variant={isActive("restaurants") ? "Bold" : "Outline"}
color={isActive("restaurants") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.restaurants")} title={t("sidebar.restaurants")}
isActive={isActive("restaurants")} isActive={isActive("restaurants")}
link={Pages.dmenu.restaurants.list} link={Pages.dmenu.restaurants.list}
@@ -763,13 +480,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Sms variant={isActive("sms-count") ? "Bold" : "Outline"} color={isActive("sms-count") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Sms
variant={isActive("sms-count") ? "Bold" : "Outline"}
color={isActive("sms-count") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.sms_count")} title={t("sidebar.sms_count")}
isActive={isActive("sms-count")} isActive={isActive("sms-count")}
link={Pages.dmenu.restaurants.smsCountList} link={Pages.dmenu.restaurants.smsCountList}
@@ -780,49 +491,22 @@ const SideBar: FC = () => {
</> </>
)} )}
{adminPermissions?.data?.permissions?.some( {adminPermissions?.data?.permissions?.some((permission: { name: string }) => permission.name === "dkala") && (
(permission: { name: string }) => permission.name === "dkala",
) && (
<> <>
<div <div
onClick={() => handleOpenMenu("dkala")} onClick={() => handleOpenMenu("dkala")}
className={clx( className={clx("mt-10 px-12 text-header text-sm font-normal cursor-pointer", hasSubMenu && "px-2 text-center", !hasSubMenu && "flex gap-2 items-center")}
"mt-10 px-12 text-header text-sm font-normal cursor-pointer",
hasSubMenu && "px-2 text-center",
!hasSubMenu && "flex gap-2 items-center",
)}
> >
{t("sidebar.dkala")} {t("sidebar.dkala")}
<div <div className={clx("transition-all", !openMenu.includes("dkala") && "rotate-180", hasSubMenu && "hidden")}>
className={clx(
"transition-all",
!openMenu.includes("dkala") && "rotate-180",
hasSubMenu && "hidden",
)}
>
<ArrowDown2 size={18} color="#c3c7dd" /> <ArrowDown2 size={18} color="#c3c7dd" />
</div> </div>
</div> </div>
<div <div className={clx("flex-1 flex flex-col justify-end", !openMenu.includes("dkala") && "hidden")}>
className={clx(
"flex-1 flex flex-col justify-end",
!openMenu.includes("dkala") && "hidden",
)}
>
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Icon variant={isActive("dkala/icons/list") ? "Bold" : "Outline"} color={isActive("dkala/icons/list") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Icon
variant={
isActive("dkala/icons/list") ? "Bold" : "Outline"
}
color={
isActive("dkala/icons/list") ? "black" : "#8C90A3"
}
size={iconSizeSideBar}
/>
}
title={t("sidebar.icons")} title={t("sidebar.icons")}
isActive={isActive("dkala/icons/list")} isActive={isActive("dkala/icons/list")}
link={Pages.dkala.icons.list} link={Pages.dkala.icons.list}
@@ -832,17 +516,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Category variant={isActive("dkala/icons/group") ? "Bold" : "Outline"} color={isActive("dkala/icons/group") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Category
variant={
isActive("dkala/icons/group") ? "Bold" : "Outline"
}
color={
isActive("dkala/icons/group") ? "black" : "#8C90A3"
}
size={iconSizeSideBar}
/>
}
title={t("sidebar.groups_icon")} title={t("sidebar.groups_icon")}
isActive={isActive("dkala/icons/group")} isActive={isActive("dkala/icons/group")}
link={Pages.dkala.icons.groupList} link={Pages.dkala.icons.groupList}
@@ -852,13 +526,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Warning2 variant={isActive("dkala/reports") ? "Bold" : "Outline"} color={isActive("dkala/reports") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Warning2
variant={isActive("dkala/reports") ? "Bold" : "Outline"}
color={isActive("dkala/reports") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.reports")} title={t("sidebar.reports")}
isActive={isActive("dkala/reports")} isActive={isActive("dkala/reports")}
link={Pages.dkala.warnings.list} link={Pages.dkala.warnings.list}
@@ -868,13 +536,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Building variant={isActive("dkala/shops") ? "Bold" : "Outline"} color={isActive("dkala/shops") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Building
variant={isActive("dkala/shops") ? "Bold" : "Outline"}
color={isActive("dkala/shops") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.shops")} title={t("sidebar.shops")}
isActive={isActive("dkala/shops")} isActive={isActive("dkala/shops")}
link={Pages.dkala.shops.list} link={Pages.dkala.shops.list}
@@ -884,17 +546,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Sms variant={isActive("dkala/sms-count") ? "Bold" : "Outline"} color={isActive("dkala/sms-count") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Sms
variant={
isActive("dkala/sms-count") ? "Bold" : "Outline"
}
color={
isActive("dkala/sms-count") ? "black" : "#8C90A3"
}
size={iconSizeSideBar}
/>
}
title={t("sidebar.sms_count")} title={t("sidebar.sms_count")}
isActive={isActive("dkala/sms-count")} isActive={isActive("dkala/sms-count")}
link={Pages.dkala.shops.smsCountList} link={Pages.dkala.shops.smsCountList}
@@ -904,49 +556,22 @@ const SideBar: FC = () => {
</div> </div>
</> </>
)} )}
{adminPermissions?.data?.permissions?.some( {adminPermissions?.data?.permissions?.some((permission: { name: string }) => permission.name === "dpage") && (
(permission: { name: string }) => permission.name === "dpage",
) && (
<> <>
<div <div
onClick={() => handleOpenMenu("dpage")} onClick={() => handleOpenMenu("dpage")}
className={clx( className={clx("mt-10 px-12 text-header text-sm font-normal cursor-pointer", hasSubMenu && "px-2 text-center", !hasSubMenu && "flex gap-2 items-center")}
"mt-10 px-12 text-header text-sm font-normal cursor-pointer",
hasSubMenu && "px-2 text-center",
!hasSubMenu && "flex gap-2 items-center",
)}
> >
{t("sidebar.dpage")} {t("sidebar.dpage")}
<div <div className={clx("transition-all", !openMenu.includes("dpage") && "rotate-180", hasSubMenu && "hidden")}>
className={clx(
"transition-all",
!openMenu.includes("dpage") && "rotate-180",
hasSubMenu && "hidden",
)}
>
<ArrowDown2 size={18} color="#c3c7dd" /> <ArrowDown2 size={18} color="#c3c7dd" />
</div> </div>
</div> </div>
<div <div className={clx("flex-1 flex flex-col justify-end", !openMenu.includes("dpage") && "hidden")}>
className={clx(
"flex-1 flex flex-col justify-end",
!openMenu.includes("dpage") && "hidden",
)}
>
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Icon variant={isActive("dpage/stickers/list") ? "Bold" : "Outline"} color={isActive("dpage/stickers/list") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Icon
variant={
isActive("dpage/stickers/list") ? "Bold" : "Outline"
}
color={
isActive("dpage/stickers/list") ? "black" : "#8C90A3"
}
size={iconSizeSideBar}
/>
}
title={t("sidebar.sticker")} title={t("sidebar.sticker")}
isActive={isActive("dpage/stickers/list")} isActive={isActive("dpage/stickers/list")}
link={Pages.dpage.stickers.list} link={Pages.dpage.stickers.list}
@@ -957,49 +582,22 @@ const SideBar: FC = () => {
</> </>
)} )}
{adminPermissions?.data?.permissions?.some( {adminPermissions?.data?.permissions?.some((permission: { name: string }) => permission.name === "dmail") && (
(permission: { name: string }) => permission.name === "dmail",
) && (
<> <>
<div <div
onClick={() => handleOpenMenu("dmail")} onClick={() => handleOpenMenu("dmail")}
className={clx( className={clx("mt-10 px-12 text-header text-sm font-normal cursor-pointer", hasSubMenu && "px-2 text-center", !hasSubMenu && "flex gap-2 items-center")}
"mt-10 px-12 text-header text-sm font-normal cursor-pointer",
hasSubMenu && "px-2 text-center",
!hasSubMenu && "flex gap-2 items-center",
)}
> >
{t("sidebar.dmail")} {t("sidebar.dmail")}
<div <div className={clx("transition-all", !openMenu.includes("dmail") && "rotate-180", hasSubMenu && "hidden")}>
className={clx(
"transition-all",
!openMenu.includes("dmail") && "rotate-180",
hasSubMenu && "hidden",
)}
>
<ArrowDown2 size={18} color="#c3c7dd" /> <ArrowDown2 size={18} color="#c3c7dd" />
</div> </div>
</div> </div>
<div <div className={clx("flex-1 flex flex-col justify-end", !openMenu.includes("dmail") && "hidden")}>
className={clx(
"flex-1 flex flex-col justify-end",
!openMenu.includes("dmail") && "hidden",
)}
>
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Global variant={isActive("dmail/domain/list") ? "Bold" : "Outline"} color={isActive("dmail/domain/list") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Global
variant={
isActive("dmail/domain/list") ? "Bold" : "Outline"
}
color={
isActive("dmail/domain/list") ? "black" : "#8C90A3"
}
size={iconSizeSideBar}
/>
}
title={t("sidebar.domain")} title={t("sidebar.domain")}
isActive={isActive("dmail/domain/list")} isActive={isActive("dmail/domain/list")}
link={Pages.dmail.list} link={Pages.dmail.list}
@@ -1014,13 +612,7 @@ const SideBar: FC = () => {
<div className="text-xs text-[#8C90A3]"></div> <div className="text-xs text-[#8C90A3]"></div>
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Setting2 variant={isActive("setting") ? "Bold" : "Outline"} color={isActive("setting") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Setting2
variant={isActive("setting") ? "Bold" : "Outline"}
color={isActive("setting") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.setting")} title={t("sidebar.setting")}
isActive={isActive("setting")} isActive={isActive("setting")}
link={Pages.setting} link={Pages.setting}
@@ -1029,13 +621,7 @@ const SideBar: FC = () => {
</div> </div>
<div className="text-xs text-[#8C90A3]"> <div className="text-xs text-[#8C90A3]">
<SideBarItem <SideBarItem
icon={ icon={<Logout variant={isActive("logout") ? "Bold" : "Outline"} color={isActive("logout") ? "black" : "#8C90A3"} size={iconSizeSideBar} />}
<Logout
variant={isActive("logout") ? "Bold" : "Outline"}
color={isActive("logout") ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.logout")} title={t("sidebar.logout")}
isActive={isActive("logout")} isActive={isActive("logout")}
link={`#`} link={`#`}