diff --git a/src/config/Pages.ts b/src/config/Pages.ts
index 35b5455..f1cf980 100644
--- a/src/config/Pages.ts
+++ b/src/config/Pages.ts
@@ -167,6 +167,6 @@ export const Pages = {
withdraw: "/reseller/withdraw",
},
taskmanager: {
- list: "/taskmanager/list",
+ workspace: "/taskmanager/workspace/",
},
};
diff --git a/src/index.css b/src/index.css
index e8e2cd1..a3bba33 100644
--- a/src/index.css
+++ b/src/index.css
@@ -4,6 +4,7 @@
html {
direction: rtl;
+ min-height: 100%;
}
body {
@@ -16,6 +17,7 @@ body {
background: #eceef6;
font-weight: 300;
overflow: hidden;
+ min-height: 100%;
}
html,
body,
diff --git a/src/pages/taskmanager/HeaderWorkspace.tsx b/src/pages/taskmanager/HeaderWorkspace.tsx
new file mode 100644
index 0000000..1a880ba
--- /dev/null
+++ b/src/pages/taskmanager/HeaderWorkspace.tsx
@@ -0,0 +1,23 @@
+import { InfoCircle, Setting2, UserAdd } from "iconsax-react";
+
+const HeaderWorkspace = () => {
+ return (
+
+ );
+};
+
+export default HeaderWorkspace;
diff --git a/src/pages/taskmanager/workspace.tsx b/src/pages/taskmanager/workspace.tsx
new file mode 100644
index 0000000..221866b
--- /dev/null
+++ b/src/pages/taskmanager/workspace.tsx
@@ -0,0 +1,12 @@
+import { type FC } from "react";
+import HeaderWorkspace from "./HeaderWorkspace";
+
+const Workspace: FC = () => {
+ return (
+
+
+
+ );
+};
+
+export default Workspace;
diff --git a/src/router/Main.tsx b/src/router/Main.tsx
index ae52170..8ec6758 100644
--- a/src/router/Main.tsx
+++ b/src/router/Main.tsx
@@ -1,220 +1,226 @@
-import { FC } from 'react'
-import SideBar from '../shared/SideBar'
-import Header from '../shared/Header'
-import { Route, Routes } from 'react-router-dom'
-import { Pages } from '../config/Pages'
-import Home from '../pages/home/Home'
-import MyServices from '../pages/service/MyServices'
-import DiscountsList from '../pages/discounts/DiscountsList'
-import CreateDiscount from '../pages/discounts/CreateDiscount'
-import AdsList from '../pages/ads/AdsList'
-import BlogList from '../pages/blog/BlogList'
-import CreateBlog from '../pages/blog/CreateBlog'
-import BlogCategory from '../pages/blog/BlogCategory'
-import CreateAds from '../pages/ads/CreateAds'
-import TicketList from '../pages/ticket/TicketList'
-import CreateTicket from '../pages/ticket/CreateTicket'
-import TicketDetail from '../pages/ticket/Detail'
-import TransactionList from '../pages/transaction/List'
-import ReceiptsList from '../pages/receipts/List'
-import AnnouncementtList from '../pages/annoncement/List'
-import LearningList from '../pages/learning/List'
-import Setting from '../pages/setting/Setting'
-import Wallet from '../pages/wallet/Wallet'
-import ReceiptsDetail from '../pages/receipts/Detail'
-import Profile from '../pages/profile/Profile'
-import OtherServices from '../pages/service/OtherServices'
-import Footer from '../shared/Footer'
-import DetailService from '../pages/service/DetailService'
-import { clx } from '../helpers/utils'
-import { useSharedStore } from '../shared/store/sharedStore'
-import CreateReceipt from '../pages/receipts/Create'
-import AddService from '../pages/service/AddService'
-import ListService from '../pages/service/List'
-import Category from '../pages/service/Category'
-import CustomerList from '../pages/customer/List'
-import CreateCustomer from '../pages/customer/Create'
-import TicketCategory from '../pages/ticket/Category'
-import MessagesList from '../pages/messages/List'
-import CriticismsList from '../pages/criticisms/List'
-import CriticismsDetail from '../pages/criticisms/Detail'
-import Create from '../pages/annoncement/Create'
-import UsersList from '../pages/users/List'
-import CreateUser from '../pages/users/Create'
-import RolesList from '../pages/users/RolesList'
-import RoleCreate from '../pages/users/RoleCreate'
-import MessageDetail from '../pages/messages/Detail'
-import CreateBankCard from '../pages/cardBank/Create'
-import CardBankList from '../pages/cardBank/List'
-import EditBankCard from '../pages/cardBank/Edit'
-import PaymentList from '../pages/payment/List'
-import LearningCategory from '../pages/learning/Category'
-import CreateLearning from '../pages/learning/Create'
-import Plans from '../pages/service/Plans'
-import GroupCreate from '../pages/users/GroupCreate'
-import GroupList from '../pages/users/GroupList'
-import Reviews from '../pages/service/Reviews'
-import UpdateAds from '../pages/ads/Update'
-import UpdateService from '../pages/service/UpdateService'
-import UpdateCustomer from '../pages/customer/Update'
-import UpdateBlog from '../pages/blog/Update'
-import Update from '../pages/annoncement/Update'
-import UpdateDiscount from '../pages/discounts/UpdateDiscount'
-import UpdateUser from '../pages/users/Update'
-import CreateSlider from '../pages/slider/Create'
-import SliderList from '../pages/slider/List'
-import UpdateSlider from '../pages/slider/Update'
-import Comments from '../pages/blog/Comments'
-import CreatePlan from '../pages/support/Create'
-import SupportList from '../pages/support/List'
-import UpdateSupport from '../pages/support/Update'
-import PlanUsers from '../pages/support/PlanUsers'
-import List from '../pages/guide/List'
-import CreateGuide from '../pages/guide/Create'
-import UpdateGuide from '../pages/guide/Update.tsx'
-import ListFeedback from '../pages/feedback/List'
-import AccessLogsList from '../pages/accessLogs/AccessLogsList'
-import AccessLogsStats from '../pages/accessLogs/AccessLogsStats'
-import ErrorLogs from '../pages/accessLogs/ErrorLogs'
-import PermissionLogs from '../pages/accessLogs/PermissionLogs'
-import IconsList from '../pages/dmenu/icon/List'
-import GroupIconList from '../pages/dmenu/icon/GroupList'
-import WarningsList from '../pages/dmenu/report/List.tsx'
-import RestaurantsList from '../pages/dmenu/restaurant/List.tsx'
-import SmsCountList from '../pages/dmenu/restaurant/SmsCountList.tsx'
-import UpdateRestaurant from '../pages/dmenu/restaurant/Update.tsx'
-import DkalaIconsList from '../pages/dkala/icon/List'
-import DkalaGroupIconList from '../pages/dkala/icon/GroupList'
-import DkalaWarningsList from '../pages/dkala/report/List.tsx'
-import ShopsList from '../pages/dkala/shop/List.tsx'
-import DkalaSmsCountList from '../pages/dkala/shop/SmsCountList.tsx'
-import UpdateShop from '../pages/dkala/shop/Update.tsx'
-import DpageStickersList from '../pages/dpage/sticker/List'
-import SubscriptionsList from '../pages/subscriptions/List.tsx'
-import Domains from '../pages/dmail/Domains.tsx'
-import ResellerList from '../pages/reseller/List.tsx'
-import CreateReseller from '../pages/reseller/Create.tsx'
-import Withdraw from '../pages/reseller/Withdraw.tsx'
+import { FC } from "react";
+import { Route, Routes, useLocation } from "react-router-dom";
+import { Pages } from "../config/Pages";
+import { clx } from "../helpers/utils";
+import AccessLogsList from "../pages/accessLogs/AccessLogsList";
+import AccessLogsStats from "../pages/accessLogs/AccessLogsStats";
+import ErrorLogs from "../pages/accessLogs/ErrorLogs";
+import PermissionLogs from "../pages/accessLogs/PermissionLogs";
+import AdsList from "../pages/ads/AdsList";
+import CreateAds from "../pages/ads/CreateAds";
+import UpdateAds from "../pages/ads/Update";
+import Create from "../pages/annoncement/Create";
+import AnnouncementtList from "../pages/annoncement/List";
+import Update from "../pages/annoncement/Update";
+import BlogCategory from "../pages/blog/BlogCategory";
+import BlogList from "../pages/blog/BlogList";
+import Comments from "../pages/blog/Comments";
+import CreateBlog from "../pages/blog/CreateBlog";
+import UpdateBlog from "../pages/blog/Update";
+import CreateBankCard from "../pages/cardBank/Create";
+import EditBankCard from "../pages/cardBank/Edit";
+import CardBankList from "../pages/cardBank/List";
+import CriticismsDetail from "../pages/criticisms/Detail";
+import CriticismsList from "../pages/criticisms/List";
+import CreateCustomer from "../pages/customer/Create";
+import CustomerList from "../pages/customer/List";
+import UpdateCustomer from "../pages/customer/Update";
+import CreateDiscount from "../pages/discounts/CreateDiscount";
+import DiscountsList from "../pages/discounts/DiscountsList";
+import UpdateDiscount from "../pages/discounts/UpdateDiscount";
+import DkalaGroupIconList from "../pages/dkala/icon/GroupList";
+import DkalaIconsList from "../pages/dkala/icon/List";
+import DkalaWarningsList from "../pages/dkala/report/List.tsx";
+import ShopsList from "../pages/dkala/shop/List.tsx";
+import DkalaSmsCountList from "../pages/dkala/shop/SmsCountList.tsx";
+import UpdateShop from "../pages/dkala/shop/Update.tsx";
+import Domains from "../pages/dmail/Domains.tsx";
+import GroupIconList from "../pages/dmenu/icon/GroupList";
+import IconsList from "../pages/dmenu/icon/List";
+import WarningsList from "../pages/dmenu/report/List.tsx";
+import RestaurantsList from "../pages/dmenu/restaurant/List.tsx";
+import SmsCountList from "../pages/dmenu/restaurant/SmsCountList.tsx";
+import UpdateRestaurant from "../pages/dmenu/restaurant/Update.tsx";
+import DpageStickersList from "../pages/dpage/sticker/List";
+import ListFeedback from "../pages/feedback/List";
+import CreateGuide from "../pages/guide/Create";
+import List from "../pages/guide/List";
+import UpdateGuide from "../pages/guide/Update.tsx";
+import Home from "../pages/home/Home";
+import LearningCategory from "../pages/learning/Category";
+import CreateLearning from "../pages/learning/Create";
+import LearningList from "../pages/learning/List";
+import MessageDetail from "../pages/messages/Detail";
+import MessagesList from "../pages/messages/List";
+import PaymentList from "../pages/payment/List";
+import Profile from "../pages/profile/Profile";
+import CreateReceipt from "../pages/receipts/Create";
+import ReceiptsDetail from "../pages/receipts/Detail";
+import ReceiptsList from "../pages/receipts/List";
+import CreateReseller from "../pages/reseller/Create.tsx";
+import ResellerList from "../pages/reseller/List.tsx";
+import Withdraw from "../pages/reseller/Withdraw.tsx";
+import AddService from "../pages/service/AddService";
+import Category from "../pages/service/Category";
+import DetailService from "../pages/service/DetailService";
+import ListService from "../pages/service/List";
+import MyServices from "../pages/service/MyServices";
+import OtherServices from "../pages/service/OtherServices";
+import Plans from "../pages/service/Plans";
+import Reviews from "../pages/service/Reviews";
+import UpdateService from "../pages/service/UpdateService";
+import Setting from "../pages/setting/Setting";
+import CreateSlider from "../pages/slider/Create";
+import SliderList from "../pages/slider/List";
+import UpdateSlider from "../pages/slider/Update";
+import SubscriptionsList from "../pages/subscriptions/List.tsx";
+import CreatePlan from "../pages/support/Create";
+import SupportList from "../pages/support/List";
+import PlanUsers from "../pages/support/PlanUsers";
+import UpdateSupport from "../pages/support/Update";
+import Workspace from "../pages/taskmanager/workspace.tsx";
+import TicketCategory from "../pages/ticket/Category";
+import CreateTicket from "../pages/ticket/CreateTicket";
+import TicketDetail from "../pages/ticket/Detail";
+import TicketList from "../pages/ticket/TicketList";
+import TransactionList from "../pages/transaction/List";
+import CreateUser from "../pages/users/Create";
+import GroupCreate from "../pages/users/GroupCreate";
+import GroupList from "../pages/users/GroupList";
+import UsersList from "../pages/users/List";
+import RoleCreate from "../pages/users/RoleCreate";
+import RolesList from "../pages/users/RolesList";
+import UpdateUser from "../pages/users/Update";
+import Wallet from "../pages/wallet/Wallet";
+import Footer from "../shared/Footer";
+import Header from "../shared/Header";
+import SideBar from "../shared/SideBar";
+import { useSharedStore } from "../shared/store/sharedStore";
// import WarningsList from '../pages/dmenu/reports/List' // TODO: Create this component
const MainRouter: FC = () => {
+ const { hasSubMenu } = useSharedStore();
+ const { pathname } = useLocation();
+ const isWorkspace = pathname.startsWith(Pages.taskmanager.workspace);
- const { hasSubMenu } = useSharedStore()
+ return (
+
+ {!isWorkspace &&
}
+
+
+
+
+
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
- return (
-
-
-
-
-
-
-
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
- } />
- } />
- } />
- } />
- } />
- } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
- } />
- } />
- } />
- } />
- } />
- } />
+ } />
- } />
+ } />
- } />
+ } />
- } />
+ } />
+ } />
+ } />
- } />
- } />
- } />
-
-
-
-
-
+
} />
+
+
+
- )
-}
+
+
+
+ );
+};
-export default MainRouter
\ No newline at end of file
+export default MainRouter;
diff --git a/src/shared/Header.tsx b/src/shared/Header.tsx
index e60eb07..3d95d80 100644
--- a/src/shared/Header.tsx
+++ b/src/shared/Header.tsx
@@ -5,6 +5,7 @@ import AvatarImage from '../assets/images/avatar_image.png'
import { useTranslation } from 'react-i18next'
import { Link, useLocation } from 'react-router-dom'
import { Pages } from '../config/Pages'
+import { clx } from '../helpers/utils'
import Notifications from '../pages/notification/Notification'
import { useSharedStore } from './store/sharedStore'
import { useGetProfile } from '../pages/profile/hooks/useProfileData'
@@ -14,6 +15,7 @@ import { removeRefreshToken, removeToken } from '../config/func'
const Header: FC = () => {
const location = useLocation();
+ const isWorkspace = location.pathname.startsWith(Pages.taskmanager.workspace);
const [popoverKey, setPopoverKey] = useState(0);
const { t } = useTranslation('global')
const { setOpenSidebar, openSidebar } = useSharedStore()
@@ -30,7 +32,10 @@ const Header: FC = () => {
}
return (
-