update sidebar for task manager
deploy to danak / build_and_deploy (push) Has been cancelled

This commit is contained in:
hamid zarghami
2026-07-15 09:13:46 +03:30
parent f654ec61ef
commit 59048e9b5f
4 changed files with 24 additions and 134 deletions
-1
View File
@@ -8,5 +8,4 @@ export const SideBarItemHasSubMenu = [
"blog",
"support",
"accessLogs",
"taskmanager",
];
+1 -1
View File
@@ -91,7 +91,7 @@
"reseller": "نماینده",
"resellers": "نمایندگان",
"withdraw": "درخواست های برداشت",
"taskmanager": "مدیریت تسک ها"
"taskmanager": "مدیریت تسک"
},
"reseller": {
"list": "لیست نمایندکان",
+23 -74
View File
@@ -1,6 +1,5 @@
import {
Activity,
Add,
ArrowDown2,
BagTick,
Building,
@@ -52,7 +51,6 @@ import LearningSubMenu from "./components/LearningSubMenu";
import ReceiptSubMenu from "./components/ReceiptSubMenu";
import ServicesSubMenu from "./components/ServicesSubMenu";
import SupportSubMenu from "./components/SupportSubMenu";
import TaskManagerSubMenu from "./components/TaskManagerSubMenu";
import TicketSubMenu from "./components/TicketSubMenu";
import UsersSubMenu from "./components/UsersSubMenu";
import SideBarItem from "./SideBarItem";
@@ -67,24 +65,23 @@ const SideBar: FC = () => {
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"]);
useEffect(() => {
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])) {
setSubMenuName(split[1]);
setSubtMenu(true);
} else if (isTaskManagerRoute) {
setSubMenuName("taskmanager");
setSubtMenu(true);
} else {
setSubMenuName("");
setSubtMenu(false);
@@ -454,68 +451,22 @@ const SideBar: FC = () => {
activeName="criticisms"
/>
</div>
</div>
{
<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 className="text-xs text-[#8C90A3]">
<SideBarItem
icon={
<Task
variant={isTaskManagerActive ? "Bold" : "Outline"}
color={isTaskManagerActive ? "black" : "#8C90A3"}
size={iconSizeSideBar}
/>
}
title={t("sidebar.taskmanager")}
isActive={isTaskManagerActive}
link={Pages.taskmanager.workspaceList}
activeName=""
/>
</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>
{profile?.data?.user?.roles?.some((role: { name: string }) => role.name === "super_admin") && (
@@ -991,8 +942,6 @@ const SideBar: FC = () => {
<SupportSubMenu />
) : subMenuName === "accessLogs" ? (
<AccessLogsSubMenu />
) : subMenuName === "taskmanager" ? (
<TaskManagerSubMenu />
) : null}
</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;