project list
This commit is contained in:
+386
-103
@@ -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" />}
|
||||
|
||||
Reference in New Issue
Block a user