This commit is contained in:
@@ -8,5 +8,4 @@ export const SideBarItemHasSubMenu = [
|
|||||||
"blog",
|
"blog",
|
||||||
"support",
|
"support",
|
||||||
"accessLogs",
|
"accessLogs",
|
||||||
"taskmanager",
|
|
||||||
];
|
];
|
||||||
|
|||||||
+1
-1
@@ -91,7 +91,7 @@
|
|||||||
"reseller": "نماینده",
|
"reseller": "نماینده",
|
||||||
"resellers": "نمایندگان",
|
"resellers": "نمایندگان",
|
||||||
"withdraw": "درخواست های برداشت",
|
"withdraw": "درخواست های برداشت",
|
||||||
"taskmanager": "مدیریت تسک ها"
|
"taskmanager": "مدیریت تسک"
|
||||||
},
|
},
|
||||||
"reseller": {
|
"reseller": {
|
||||||
"list": "لیست نمایندکان",
|
"list": "لیست نمایندکان",
|
||||||
|
|||||||
+23
-74
@@ -1,6 +1,5 @@
|
|||||||
import {
|
import {
|
||||||
Activity,
|
Activity,
|
||||||
Add,
|
|
||||||
ArrowDown2,
|
ArrowDown2,
|
||||||
BagTick,
|
BagTick,
|
||||||
Building,
|
Building,
|
||||||
@@ -52,7 +51,6 @@ import LearningSubMenu from "./components/LearningSubMenu";
|
|||||||
import ReceiptSubMenu from "./components/ReceiptSubMenu";
|
import ReceiptSubMenu from "./components/ReceiptSubMenu";
|
||||||
import ServicesSubMenu from "./components/ServicesSubMenu";
|
import ServicesSubMenu from "./components/ServicesSubMenu";
|
||||||
import SupportSubMenu from "./components/SupportSubMenu";
|
import SupportSubMenu from "./components/SupportSubMenu";
|
||||||
import TaskManagerSubMenu from "./components/TaskManagerSubMenu";
|
|
||||||
import TicketSubMenu from "./components/TicketSubMenu";
|
import TicketSubMenu from "./components/TicketSubMenu";
|
||||||
import UsersSubMenu from "./components/UsersSubMenu";
|
import UsersSubMenu from "./components/UsersSubMenu";
|
||||||
import SideBarItem from "./SideBarItem";
|
import SideBarItem from "./SideBarItem";
|
||||||
@@ -67,24 +65,23 @@ const SideBar: FC = () => {
|
|||||||
return location.pathname.includes(name);
|
return location.pathname.includes(name);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const isTaskManagerActive =
|
||||||
|
location.pathname.startsWith(Pages.taskmanager.workspace) ||
|
||||||
|
location.pathname === Pages.taskmanager.workspaceList ||
|
||||||
|
location.pathname.startsWith(Pages.taskmanager.updateWorkspace) ||
|
||||||
|
location.pathname === Pages.taskmanager.createWorkspace ||
|
||||||
|
location.pathname === Pages.taskmanager.createProject ||
|
||||||
|
location.pathname.startsWith(Pages.taskmanager.updateProject) ||
|
||||||
|
location.pathname.startsWith(Pages.taskmanager.projectList);
|
||||||
|
|
||||||
const [openMenu, setOpenMenu] = useState<string[]>(["menu"]);
|
const [openMenu, setOpenMenu] = useState<string[]>(["menu"]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const split = location.pathname.split("/");
|
const split = location.pathname.split("/");
|
||||||
const isTaskManagerRoute =
|
|
||||||
location.pathname.startsWith(Pages.taskmanager.workspace) ||
|
|
||||||
location.pathname === Pages.taskmanager.workspaceList ||
|
|
||||||
location.pathname.startsWith(Pages.taskmanager.updateWorkspace) ||
|
|
||||||
location.pathname === Pages.taskmanager.createWorkspace ||
|
|
||||||
location.pathname === Pages.taskmanager.createProject ||
|
|
||||||
location.pathname === Pages.taskmanager.projectList;
|
|
||||||
|
|
||||||
if (SideBarItemHasSubMenu.includes(split[1])) {
|
if (SideBarItemHasSubMenu.includes(split[1])) {
|
||||||
setSubMenuName(split[1]);
|
setSubMenuName(split[1]);
|
||||||
setSubtMenu(true);
|
setSubtMenu(true);
|
||||||
} else if (isTaskManagerRoute) {
|
|
||||||
setSubMenuName("taskmanager");
|
|
||||||
setSubtMenu(true);
|
|
||||||
} else {
|
} else {
|
||||||
setSubMenuName("");
|
setSubMenuName("");
|
||||||
setSubtMenu(false);
|
setSubtMenu(false);
|
||||||
@@ -454,68 +451,22 @@ const SideBar: FC = () => {
|
|||||||
activeName="criticisms"
|
activeName="criticisms"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
{
|
<div className="text-xs text-[#8C90A3]">
|
||||||
<div
|
<SideBarItem
|
||||||
onClick={() => handleOpenMenu("taskmanager")}
|
icon={
|
||||||
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")}
|
<Task
|
||||||
>
|
variant={isTaskManagerActive ? "Bold" : "Outline"}
|
||||||
{t("sidebar.taskmanager")}
|
color={isTaskManagerActive ? "black" : "#8C90A3"}
|
||||||
|
size={iconSizeSideBar}
|
||||||
<div className={clx("transition-all", !openMenu.includes("taskmanager") && "rotate-180", hasSubMenu && "hidden")}>
|
/>
|
||||||
<ArrowDown2
|
}
|
||||||
size={18}
|
title={t("sidebar.taskmanager")}
|
||||||
color="#c3c7dd"
|
isActive={isTaskManagerActive}
|
||||||
/>
|
link={Pages.taskmanager.workspaceList}
|
||||||
</div>
|
activeName=""
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
}
|
|
||||||
<div className={clx("text-xs text-[#8C90A3]", !openMenu.includes("taskmanager") && "hidden")}>
|
|
||||||
<SideBarItem
|
|
||||||
icon={
|
|
||||||
<Task
|
|
||||||
variant={location.pathname === Pages.taskmanager.workspaceList ? "Bold" : "Outline"}
|
|
||||||
color={location.pathname === Pages.taskmanager.workspaceList ? "black" : "#8C90A3"}
|
|
||||||
size={iconSizeSideBar}
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
title={t("submenu.taskmanager_workspace_list")}
|
|
||||||
isActive={location.pathname === Pages.taskmanager.workspaceList}
|
|
||||||
link={Pages.taskmanager.workspaceList}
|
|
||||||
name="taskmanager"
|
|
||||||
activeName=""
|
|
||||||
/>
|
|
||||||
|
|
||||||
<SideBarItem
|
|
||||||
icon={
|
|
||||||
<Add
|
|
||||||
variant={location.pathname === Pages.taskmanager.createWorkspace ? "Bold" : "Outline"}
|
|
||||||
color={location.pathname === Pages.taskmanager.createWorkspace ? "black" : "#8C90A3"}
|
|
||||||
size={iconSizeSideBar}
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
title={t("submenu.taskmanager_create_workspace")}
|
|
||||||
isActive={location.pathname === Pages.taskmanager.createWorkspace}
|
|
||||||
link={Pages.taskmanager.createWorkspace}
|
|
||||||
name="taskmanager"
|
|
||||||
activeName=""
|
|
||||||
/>
|
|
||||||
|
|
||||||
<SideBarItem
|
|
||||||
icon={
|
|
||||||
<Add
|
|
||||||
variant={location.pathname === Pages.taskmanager.createProject ? "Bold" : "Outline"}
|
|
||||||
color={location.pathname === Pages.taskmanager.createProject ? "black" : "#8C90A3"}
|
|
||||||
size={iconSizeSideBar}
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
title={t("submenu.taskmanager_create_project")}
|
|
||||||
isActive={location.pathname === Pages.taskmanager.createProject}
|
|
||||||
link={Pages.taskmanager.createProject}
|
|
||||||
name="taskmanager"
|
|
||||||
activeName=""
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{profile?.data?.user?.roles?.some((role: { name: string }) => role.name === "super_admin") && (
|
{profile?.data?.user?.roles?.some((role: { name: string }) => role.name === "super_admin") && (
|
||||||
@@ -991,8 +942,6 @@ const SideBar: FC = () => {
|
|||||||
<SupportSubMenu />
|
<SupportSubMenu />
|
||||||
) : subMenuName === "accessLogs" ? (
|
) : subMenuName === "accessLogs" ? (
|
||||||
<AccessLogsSubMenu />
|
<AccessLogsSubMenu />
|
||||||
) : subMenuName === "taskmanager" ? (
|
|
||||||
<TaskManagerSubMenu />
|
|
||||||
) : null}
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -1,58 +0,0 @@
|
|||||||
import { Task } from "iconsax-react";
|
|
||||||
import { FC } from "react";
|
|
||||||
import { useTranslation } from "react-i18next";
|
|
||||||
import { useLocation } from "react-router-dom";
|
|
||||||
import { Pages } from "../../config/Pages";
|
|
||||||
import SubMenuItem from "./SubMenuItem";
|
|
||||||
|
|
||||||
const TaskManagerSubMenu: FC = () => {
|
|
||||||
const { t } = useTranslation("global");
|
|
||||||
const location = useLocation();
|
|
||||||
|
|
||||||
const isWorkspaceListActive = location.pathname === Pages.taskmanager.workspaceList;
|
|
||||||
const isKanbanActive =
|
|
||||||
location.pathname.startsWith(Pages.taskmanager.workspace) &&
|
|
||||||
!isWorkspaceListActive;
|
|
||||||
const isCreateWorkspaceActive = location.pathname === Pages.taskmanager.createWorkspace;
|
|
||||||
const isProjectListActive = location.pathname === Pages.taskmanager.projectList;
|
|
||||||
const isCreateProjectActive = location.pathname === Pages.taskmanager.createProject;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className="py-12">
|
|
||||||
<div className="flex gap-3 items-center border-b pb-10 px-6">
|
|
||||||
<Task size={24} color="#000" variant="Bold" />
|
|
||||||
<div className="text-xs">{t("sidebar.taskmanager")}</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="flex flex-col mt-10 gap-4">
|
|
||||||
<SubMenuItem
|
|
||||||
title={t("submenu.taskmanager_workspace_list")}
|
|
||||||
isActive={isWorkspaceListActive}
|
|
||||||
link={Pages.taskmanager.workspaceList}
|
|
||||||
/>
|
|
||||||
<SubMenuItem
|
|
||||||
title={t("submenu.taskmanager_workspace")}
|
|
||||||
isActive={isKanbanActive}
|
|
||||||
link={Pages.taskmanager.workspace + "dpage"}
|
|
||||||
/>
|
|
||||||
<SubMenuItem
|
|
||||||
title={t("submenu.taskmanager_create_workspace")}
|
|
||||||
isActive={isCreateWorkspaceActive}
|
|
||||||
link={Pages.taskmanager.createWorkspace}
|
|
||||||
/>
|
|
||||||
<SubMenuItem
|
|
||||||
title={t("submenu.taskmanager_project_list")}
|
|
||||||
isActive={isProjectListActive}
|
|
||||||
link={Pages.taskmanager.projectList}
|
|
||||||
/>
|
|
||||||
<SubMenuItem
|
|
||||||
title={t("submenu.taskmanager_create_project")}
|
|
||||||
isActive={isCreateProjectActive}
|
|
||||||
link={Pages.taskmanager.createProject}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TaskManagerSubMenu;
|
|
||||||
Reference in New Issue
Block a user