project list

This commit is contained in:
hamid zarghami
2026-07-11 10:19:39 +03:30
parent b0737ea6ad
commit 47691a649f
11 changed files with 485 additions and 166 deletions
+386 -103
View File
@@ -82,8 +82,8 @@ import CreateProject from "../pages/taskmanager/project/Create.tsx";
import ProjectList from "../pages/taskmanager/project/List.tsx";
import Workspace from "../pages/taskmanager/workspace.tsx";
import CreateWorkspace from "../pages/taskmanager/workspace/Create.tsx";
import UpdateWorkspace from "../pages/taskmanager/workspace/Update.tsx";
import WorkspaceList from "../pages/taskmanager/workspace/List.tsx";
import UpdateWorkspace from "../pages/taskmanager/workspace/Update.tsx";
import TicketCategory from "../pages/ticket/Category";
import CreateTicket from "../pages/ticket/CreateTicket";
import TicketDetail from "../pages/ticket/Detail";
@@ -113,117 +113,400 @@ const MainRouter: FC = () => {
{!isWorkspace && <SideBar />}
<Header />
<div className={clx("flex-1 mt-[68px] xl:mt-[81px]", !isWorkspace && "xl:ms-[269px]", !isWorkspace && hasSubMenu && "xl:ms-[305px]")}>
<div
className={clx(
"flex flex-col",
isWorkspace ? "h-[calc(100dvh-68px)] xl:h-[calc(100dvh-97px)] overflow-hidden" : "overflow-auto h-[calc(100vh-113px)]",
)}
>
<div className={clx("flex flex-col", isWorkspace ? "h-[calc(100dvh-68px)] xl:h-[calc(100dvh-97px)] overflow-hidden" : "overflow-auto h-[calc(100vh-113px)]")}>
<div className={clx("flex-1 min-h-0", isWorkspace && "overflow-hidden")}>
<Routes>
<Route path={Pages.dashboard} element={<Home />} />
<Route path={Pages.services.mine} element={<MyServices />} />
<Route path={Pages.services.other} element={<OtherServices />} />
<Route path={Pages.services.detail + ":id"} element={<DetailService />} />
<Route path={Pages.services.add} element={<AddService />} />
<Route path={Pages.services.list} element={<ListService />} />
<Route path={Pages.services.update + ":id"} element={<UpdateService />} />
<Route path={Pages.services.category} element={<Category />} />
<Route path={Pages.services.plan + ":id"} element={<Plans />} />
<Route path={Pages.services.review} element={<Reviews />} />
<Route path={Pages.ticket.list} element={<TicketList />} />
<Route path={Pages.ticket.create} element={<CreateTicket />} />
<Route path={Pages.ticket.category} element={<TicketCategory />} />
<Route path={Pages.ticket.detail + ":id"} element={<TicketDetail />} />
<Route path={Pages.ads.list} element={<AdsList />} />
<Route path={Pages.ads.create} element={<CreateAds />} />
<Route path={Pages.ads.update + ":id"} element={<UpdateAds />} />
<Route path={Pages.discount.list} element={<DiscountsList />} />
<Route path={Pages.discount.create} element={<CreateDiscount />} />
<Route path={Pages.discount.detail + ":id"} element={<UpdateDiscount />} />
<Route path={Pages.blog.list} element={<BlogList />} />
<Route path={Pages.blog.create} element={<CreateBlog />} />
<Route path={Pages.blog.category} element={<BlogCategory />} />
<Route path={Pages.blog.detail + ":id"} element={<UpdateBlog />} />
<Route path={Pages.transactions} element={<TransactionList />} />
<Route path={Pages.receipts.index} element={<ReceiptsList />} />
<Route path={Pages.receipts.detail + ":id"} element={<ReceiptsDetail />} />
<Route path={Pages.receipts.create} element={<CreateReceipt />} />
<Route path={Pages.announcement.list} element={<AnnouncementtList />} />
<Route path={Pages.announcement.detail + ":id"} element={<Update />} />
<Route path={Pages.announcement.create} element={<Create />} />
<Route path={Pages.criticisms.list} element={<CriticismsList />} />
<Route path={Pages.criticisms.detail + ":id"} element={<CriticismsDetail />} />
<Route path={Pages.learning.list} element={<LearningList />} />
<Route path={Pages.learning.create} element={<CreateLearning />} />
<Route path={Pages.learning.category} element={<LearningCategory />} />
<Route path={Pages.setting} element={<Setting />} />
<Route path={Pages.wallet} element={<Wallet />} />
<Route path={Pages.profile} element={<Profile />} />
<Route path={Pages.customer.list} element={<CustomerList />} />
<Route path={Pages.customer.create} element={<CreateCustomer />} />
<Route path={Pages.customer.update + ":id"} element={<UpdateCustomer />} />
<Route path={Pages.messages.list} element={<MessagesList />} />
<Route path={Pages.messages.detail + ":id"} element={<MessageDetail />} />
<Route path={Pages.users.list} element={<UsersList />} />
<Route path={Pages.users.create} element={<CreateUser />} />
<Route path={Pages.users.detail + ":id"} element={<UpdateUser />} />
<Route path={Pages.users.roleList} element={<RolesList />} />
<Route path={Pages.users.roleCreate} element={<RoleCreate />} />
<Route path={Pages.users.roleUpdate + ":id"} element={<RoleUpdate />} />
<Route path={Pages.users.groupAdd} element={<GroupCreate />} />
<Route path={Pages.users.groupList} element={<GroupList />} />
<Route path={Pages.cardBank.create} element={<CreateBankCard />} />
<Route path={Pages.cardBank.list} element={<CardBankList />} />
<Route path={Pages.cardBank.detail + ":id"} element={<EditBankCard />} />
<Route path={Pages.payment.list} element={<PaymentList />} />
<Route path={Pages.sliders.create} element={<CreateSlider />} />
<Route path={Pages.sliders.list} element={<SliderList />} />
<Route path={Pages.sliders.detail + ":id"} element={<UpdateSlider />} />
<Route path={Pages.blog.comments} element={<Comments />} />
<Route path={Pages.support.create} element={<CreatePlan />} />
<Route path={Pages.support.list} element={<SupportList />} />
<Route path={Pages.support.detail + ":id"} element={<UpdateSupport />} />
<Route path={Pages.support.planUsers + ":id"} element={<PlanUsers />} />
<Route path={Pages.services.guide + ":id"} element={<List />} />
<Route path={Pages.services.guide + ":id/create"} element={<CreateGuide />} />
<Route path={Pages.services.guide + ":id/:guideId"} element={<UpdateGuide />} />
<Route path={Pages.feedback.list} element={<ListFeedback />} />
<Route path={Pages.accessLogs.list} element={<AccessLogsList />} />
<Route path={Pages.accessLogs.stats} element={<AccessLogsStats />} />
<Route path={Pages.accessLogs.errors} element={<ErrorLogs />} />
<Route path={Pages.accessLogs.permissions} element={<PermissionLogs />} />
<Route
path={Pages.dashboard}
element={<Home />}
/>
<Route
path={Pages.services.mine}
element={<MyServices />}
/>
<Route
path={Pages.services.other}
element={<OtherServices />}
/>
<Route
path={Pages.services.detail + ":id"}
element={<DetailService />}
/>
<Route
path={Pages.services.add}
element={<AddService />}
/>
<Route
path={Pages.services.list}
element={<ListService />}
/>
<Route
path={Pages.services.update + ":id"}
element={<UpdateService />}
/>
<Route
path={Pages.services.category}
element={<Category />}
/>
<Route
path={Pages.services.plan + ":id"}
element={<Plans />}
/>
<Route
path={Pages.services.review}
element={<Reviews />}
/>
<Route
path={Pages.ticket.list}
element={<TicketList />}
/>
<Route
path={Pages.ticket.create}
element={<CreateTicket />}
/>
<Route
path={Pages.ticket.category}
element={<TicketCategory />}
/>
<Route
path={Pages.ticket.detail + ":id"}
element={<TicketDetail />}
/>
<Route
path={Pages.ads.list}
element={<AdsList />}
/>
<Route
path={Pages.ads.create}
element={<CreateAds />}
/>
<Route
path={Pages.ads.update + ":id"}
element={<UpdateAds />}
/>
<Route
path={Pages.discount.list}
element={<DiscountsList />}
/>
<Route
path={Pages.discount.create}
element={<CreateDiscount />}
/>
<Route
path={Pages.discount.detail + ":id"}
element={<UpdateDiscount />}
/>
<Route
path={Pages.blog.list}
element={<BlogList />}
/>
<Route
path={Pages.blog.create}
element={<CreateBlog />}
/>
<Route
path={Pages.blog.category}
element={<BlogCategory />}
/>
<Route
path={Pages.blog.detail + ":id"}
element={<UpdateBlog />}
/>
<Route
path={Pages.transactions}
element={<TransactionList />}
/>
<Route
path={Pages.receipts.index}
element={<ReceiptsList />}
/>
<Route
path={Pages.receipts.detail + ":id"}
element={<ReceiptsDetail />}
/>
<Route
path={Pages.receipts.create}
element={<CreateReceipt />}
/>
<Route
path={Pages.announcement.list}
element={<AnnouncementtList />}
/>
<Route
path={Pages.announcement.detail + ":id"}
element={<Update />}
/>
<Route
path={Pages.announcement.create}
element={<Create />}
/>
<Route
path={Pages.criticisms.list}
element={<CriticismsList />}
/>
<Route
path={Pages.criticisms.detail + ":id"}
element={<CriticismsDetail />}
/>
<Route
path={Pages.learning.list}
element={<LearningList />}
/>
<Route
path={Pages.learning.create}
element={<CreateLearning />}
/>
<Route
path={Pages.learning.category}
element={<LearningCategory />}
/>
<Route
path={Pages.setting}
element={<Setting />}
/>
<Route
path={Pages.wallet}
element={<Wallet />}
/>
<Route
path={Pages.profile}
element={<Profile />}
/>
<Route
path={Pages.customer.list}
element={<CustomerList />}
/>
<Route
path={Pages.customer.create}
element={<CreateCustomer />}
/>
<Route
path={Pages.customer.update + ":id"}
element={<UpdateCustomer />}
/>
<Route
path={Pages.messages.list}
element={<MessagesList />}
/>
<Route
path={Pages.messages.detail + ":id"}
element={<MessageDetail />}
/>
<Route
path={Pages.users.list}
element={<UsersList />}
/>
<Route
path={Pages.users.create}
element={<CreateUser />}
/>
<Route
path={Pages.users.detail + ":id"}
element={<UpdateUser />}
/>
<Route
path={Pages.users.roleList}
element={<RolesList />}
/>
<Route
path={Pages.users.roleCreate}
element={<RoleCreate />}
/>
<Route
path={Pages.users.roleUpdate + ":id"}
element={<RoleUpdate />}
/>
<Route
path={Pages.users.groupAdd}
element={<GroupCreate />}
/>
<Route
path={Pages.users.groupList}
element={<GroupList />}
/>
<Route
path={Pages.cardBank.create}
element={<CreateBankCard />}
/>
<Route
path={Pages.cardBank.list}
element={<CardBankList />}
/>
<Route
path={Pages.cardBank.detail + ":id"}
element={<EditBankCard />}
/>
<Route
path={Pages.payment.list}
element={<PaymentList />}
/>
<Route
path={Pages.sliders.create}
element={<CreateSlider />}
/>
<Route
path={Pages.sliders.list}
element={<SliderList />}
/>
<Route
path={Pages.sliders.detail + ":id"}
element={<UpdateSlider />}
/>
<Route
path={Pages.blog.comments}
element={<Comments />}
/>
<Route
path={Pages.support.create}
element={<CreatePlan />}
/>
<Route
path={Pages.support.list}
element={<SupportList />}
/>
<Route
path={Pages.support.detail + ":id"}
element={<UpdateSupport />}
/>
<Route
path={Pages.support.planUsers + ":id"}
element={<PlanUsers />}
/>
<Route
path={Pages.services.guide + ":id"}
element={<List />}
/>
<Route
path={Pages.services.guide + ":id/create"}
element={<CreateGuide />}
/>
<Route
path={Pages.services.guide + ":id/:guideId"}
element={<UpdateGuide />}
/>
<Route
path={Pages.feedback.list}
element={<ListFeedback />}
/>
<Route
path={Pages.accessLogs.list}
element={<AccessLogsList />}
/>
<Route
path={Pages.accessLogs.stats}
element={<AccessLogsStats />}
/>
<Route
path={Pages.accessLogs.errors}
element={<ErrorLogs />}
/>
<Route
path={Pages.accessLogs.permissions}
element={<PermissionLogs />}
/>
<Route path={Pages.dmenu.icons.list} element={<IconsList />} />
<Route path={Pages.dmenu.icons.groupList} element={<GroupIconList />} />
<Route path={Pages.dmenu.warnings.list} element={<WarningsList />} />
<Route path={Pages.dmenu.restaurants.list} element={<RestaurantsList />} />
<Route path={Pages.dmenu.restaurants.smsCountList} element={<SmsCountList />} />
<Route path={Pages.dmenu.restaurants.update + ":id"} element={<UpdateRestaurant />} />
<Route
path={Pages.dmenu.icons.list}
element={<IconsList />}
/>
<Route
path={Pages.dmenu.icons.groupList}
element={<GroupIconList />}
/>
<Route
path={Pages.dmenu.warnings.list}
element={<WarningsList />}
/>
<Route
path={Pages.dmenu.restaurants.list}
element={<RestaurantsList />}
/>
<Route
path={Pages.dmenu.restaurants.smsCountList}
element={<SmsCountList />}
/>
<Route
path={Pages.dmenu.restaurants.update + ":id"}
element={<UpdateRestaurant />}
/>
<Route path={Pages.dkala.icons.list} element={<DkalaIconsList />} />
<Route path={Pages.dkala.icons.groupList} element={<DkalaGroupIconList />} />
<Route path={Pages.dkala.warnings.list} element={<DkalaWarningsList />} />
<Route path={Pages.dkala.shops.list} element={<ShopsList />} />
<Route path={Pages.dkala.shops.smsCountList} element={<DkalaSmsCountList />} />
<Route path={Pages.dkala.shops.update + ":id"} element={<UpdateShop />} />
<Route
path={Pages.dkala.icons.list}
element={<DkalaIconsList />}
/>
<Route
path={Pages.dkala.icons.groupList}
element={<DkalaGroupIconList />}
/>
<Route
path={Pages.dkala.warnings.list}
element={<DkalaWarningsList />}
/>
<Route
path={Pages.dkala.shops.list}
element={<ShopsList />}
/>
<Route
path={Pages.dkala.shops.smsCountList}
element={<DkalaSmsCountList />}
/>
<Route
path={Pages.dkala.shops.update + ":id"}
element={<UpdateShop />}
/>
<Route path={Pages.dpage.stickers.list} element={<DpageStickersList />} />
<Route
path={Pages.dpage.stickers.list}
element={<DpageStickersList />}
/>
<Route path={Pages.subscriptions.list} element={<SubscriptionsList />} />
<Route
path={Pages.subscriptions.list}
element={<SubscriptionsList />}
/>
<Route path={Pages.dmail.list} element={<Domains />} />
<Route
path={Pages.dmail.list}
element={<Domains />}
/>
<Route path={Pages.reseller.list} element={<ResellerList />} />
<Route path={Pages.reseller.create} element={<CreateReseller />} />
<Route path={Pages.reseller.withdraw} element={<Withdraw />} />
<Route
path={Pages.reseller.list}
element={<ResellerList />}
/>
<Route
path={Pages.reseller.create}
element={<CreateReseller />}
/>
<Route
path={Pages.reseller.withdraw}
element={<Withdraw />}
/>
<Route path={Pages.taskmanager.workspace + ":slug"} element={<Workspace />} />
<Route path={Pages.taskmanager.workspaceList} element={<WorkspaceList />} />
<Route path={Pages.taskmanager.createWorkspace} element={<CreateWorkspace />} />
<Route path={Pages.taskmanager.updateWorkspace + ":id"} element={<UpdateWorkspace />} />
<Route path={Pages.taskmanager.createProject} element={<CreateProject />} />
<Route path={Pages.taskmanager.projectList} element={<ProjectList />} />
<Route
path={Pages.taskmanager.workspace + ":slug"}
element={<Workspace />}
/>
<Route
path={Pages.taskmanager.workspaceList}
element={<WorkspaceList />}
/>
<Route
path={Pages.taskmanager.createWorkspace}
element={<CreateWorkspace />}
/>
<Route
path={Pages.taskmanager.updateWorkspace + ":id"}
element={<UpdateWorkspace />}
/>
<Route
path={Pages.taskmanager.createProject}
element={<CreateProject />}
/>
<Route
path={Pages.taskmanager.projectList + ":workspaceId"}
element={<ProjectList />}
/>
</Routes>
</div>
{!isWorkspace && <div className="h-20 shrink-0 xl:hidden" />}