base page title

This commit is contained in:
hamid zarghami
2025-10-15 12:29:37 +03:30
parent 48d79ac3cb
commit 587a2f30b1
99 changed files with 1280 additions and 673 deletions
+354
View File
@@ -0,0 +1,354 @@
import { Pages } from "./Pages";
export const PageTitles = {
// Dashboard
[Pages.dashboard]: "نمای کلی داشبورد",
// Products
[Pages.products.list]: "لیست محصولات",
[Pages.products.create]: "افزودن محصول جدید",
[Pages.products.update]: "ویرایش محصول",
[Pages.products.variants]: "مدیریت تنوع محصول",
[Pages.products.brands.list]: "لیست برندها",
[Pages.products.brands.create]: "افزودن برند جدید",
[Pages.products.brands.update]: "ویرایش برند",
[Pages.products.warranty.list]: "لیست گارانتی‌ها",
[Pages.products.warranty.create]: "افزودن گارانتی جدید",
[Pages.products.warranty.update]: "ویرایش گارانتی",
// Categories
[Pages.category.list]: "لیست دسته‌بندی‌ها",
[Pages.category.create]: "افزودن دسته‌بندی جدید",
[Pages.category.update]: "ویرایش دسته‌بندی",
[Pages.category.variant]: "مدیریت تنوع دسته‌بندی",
[Pages.category.attributes]: "ویژگی‌های دسته‌بندی",
// Orders
[Pages.orders.native]: "سفارشات",
[Pages.orders.sellers]: "سفارشات فروشندگان",
[Pages.orders.completed]: "سفارشات تکمیل شده",
[Pages.orders.cancelled]: "سفارشات لغو شده",
[Pages.orders.pending]: "سفارشات در انتظار",
[Pages.orders.detail]: "جزئیات سفارش",
[Pages.orders.cancellationCategories]: "دسته‌بندی‌های لغو سفارش",
[Pages.orders.returnCategories]: "دسته‌بندی‌های بازگشت سفارش",
// Sellers
[Pages.sellers.list]: "لیست فروشندگان",
[Pages.sellers.wholesaleRequests]: "درخواست‌های عمده‌فروشی",
[Pages.sellers.withdrawalRequests]: "درخواست‌های برداشت وجه",
[Pages.sellers.announcement]: "اعلانات فروشندگان",
[Pages.sellers.requestCreateProduct]: "درخواست ایجاد محصول",
[Pages.sellers.learningCategory]: "دسته‌بندی‌های آموزشی",
[Pages.sellers.learning]: "آموزش‌ها",
[Pages.sellers.learningCreate]: "افزودن آموزش جدید",
[Pages.sellers.learningUpdate]: "ویرایش آموزش",
[Pages.sellers.contract]: "قرارداد فروشندگان",
// Financial
[Pages.financial.list]: "تراکنش‌های مالی",
[Pages.financial.fines]: "جریمه‌ها",
[Pages.financial.createFine]: "ایجاد جریمه جدید",
// Reports
[Pages.report.product]: "گزارش محصولات",
[Pages.report.category]: "گزارش دسته‌بندی‌ها",
// Admin
[Pages.admin.list]: "لیست ادمین‌ها",
[Pages.admin.create]: "افزودن ادمین جدید",
[Pages.admin.detail]: "جزئیات ادمین",
[Pages.admin.roleList]: "لیست نقش‌ها",
[Pages.admin.roleCreate]: "افزودن نقش جدید",
[Pages.admin.groupAdd]: "افزودن گروه جدید",
[Pages.admin.groupList]: "لیست گروه‌ها",
// Customers
[Pages.customer.list]: "لیست مشتریان",
[Pages.customer.create]: "افزودن مشتری جدید",
[Pages.customer.update]: "ویرایش مشتری",
// Coupons
[Pages.coupon.list]: "لیست کوپن‌ها",
[Pages.coupon.create]: "افزودن کوپن جدید",
[Pages.coupon.detail]: "ویرایش کوپن",
// Blogs
[Pages.blog.list]: "لیست بلاگ‌ها",
[Pages.blog.create]: "افزودن بلاگ جدید",
[Pages.blog.category]: "دسته‌بندی‌های بلاگ",
[Pages.blog.detail]: "جزئیات بلاگ",
[Pages.blog.comments]: "کامنت‌های بلاگ",
// Tickets
[Pages.ticket.list]: "لیست تیکت‌ها",
[Pages.ticket.create]: "ایجاد تیکت جدید",
[Pages.ticket.detail]: "جزئیات تیکت",
[Pages.ticket.category.list]: "دسته‌بندی‌های تیکت",
[Pages.ticket.category.create]: "افزودن دسته‌بندی تیکت",
[Pages.ticket.category.update]: "ویرایش دسته‌بندی تیکت",
// Jobs
[Pages.jobs.list]: "لیست آگهی‌های شغلی",
[Pages.jobs.resumes]: "رزومه‌ها",
// Contact Us
[Pages.contactUs.list]: "لیست تماس با ما",
// Payment
[Pages.payment.list]: "لیست پرداخت‌ها",
// Card Bank
[Pages.cardBank.list]: "لیست کارت‌های بانکی",
[Pages.cardBank.create]: "افزودن کارت بانکی جدید",
[Pages.cardBank.detail]: "جزئیات کارت بانکی",
// Shipment
[Pages.shipment.list]: "لیست روش‌های ارسال",
[Pages.shipment.create]: "افزودن روش ارسال جدید",
[Pages.shipment.update]: "ویرایش روش ارسال",
// Settings
[Pages.setting.shop]: "تنظیمات فروشگاه",
[Pages.setting.banners]: "تنظیمات بنرها",
[Pages.setting.siteSetting]: "تنظیمات سایت",
// Learning
[Pages.learning.list]: "لیست آموزش‌ها",
[Pages.learning.create]: "افزودن آموزش جدید",
[Pages.learning.category]: "دسته‌بندی‌های آموزشی",
// Announcements
[Pages.announcement.list]: "لیست اعلانات",
[Pages.announcement.create]: "افزودن اعلان جدید",
// Support
[Pages.support.list]: "لیست پشتیبانی",
[Pages.support.create]: "ایجاد پشتیبانی جدید",
// Services
[Pages.services.list]: "لیست خدمات",
// Sliders
[Pages.sliders.list]: "لیست اسلایدرها",
[Pages.sliders.create]: "افزودن اسلایدر جدید",
// Transactions
[Pages.transactions]: "تراکنش‌ها",
// Receipts
[Pages.receipts.index]: "لیست رسیدها",
// Wallet
[Pages.wallet]: "کیف پول",
// Profile
[Pages.profile]: "پروفایل",
// Buy Users
[Pages.buyUsers.list]: "لیست خریداران",
// Ads
[Pages.ads.list]: "لیست تبلیغات",
[Pages.ads.create]: "افزودن تبلیغ جدید",
[Pages.ads.update]: "ویرایش تبلیغ",
// Messages
[Pages.messages.list]: "لیست پیام‌ها",
// Referral Code
[Pages.referralCode.list]: "لیست کدهای معرف",
// Pages
[Pages.pages.aboutUs]: "درباره ما",
[Pages.pages.aboutUsCreate]: "افزودن درباره ما",
[Pages.pages.faq]: "سوالات متداول",
[Pages.pages.faqCreate]: "افزودن سوال متداول",
[Pages.pages.faqUpdate]: "ویرایش سوال متداول",
[Pages.pages.shipment]: "روش‌های ارسال",
[Pages.pages.privacy]: "سیاست حفظ حریم خصوصی",
[Pages.pages.returnPolicy]: "سیاست بازگشت کالا",
[Pages.pages.jobs]: "آگهی‌های شغلی",
[Pages.pages.documents]: "مستندات",
[Pages.pages.incomeTariff]: "تعرفه درآمد",
// Feedback
[Pages.feedback.list]: "لیست بازخوردها",
// Criticisms
[Pages.criticisms.list]: "لیست انتقادات",
// Services
[Pages.services.list]: "لیست خدمات",
// Sliders
[Pages.sliders.list]: "لیست اسلایدرها",
[Pages.sliders.create]: "افزودن اسلایدر جدید",
// Transactions
[Pages.transactions]: "تراکنش‌ها",
// Receipts
[Pages.receipts.index]: "لیست رسیدها",
// Tickets
[Pages.ticket.list]: "لیست تیکت‌ها",
[Pages.ticket.create]: "ایجاد تیکت جدید",
[Pages.ticket.category.list]: "دسته‌بندی‌های تیکت",
// Announcements
[Pages.announcement.list]: "لیست اعلانات",
// Feedback
[Pages.feedback.list]: "لیست بازخوردها",
// Learning
[Pages.learning.list]: "لیست آموزش‌ها",
// Pages
[Pages.pages.aboutUs]: "درباره ما",
[Pages.pages.faq]: "سوالات متداول",
[Pages.pages.shipment]: "روش‌های ارسال",
[Pages.pages.privacy]: "سیاست حفظ حریم خصوصی",
[Pages.pages.returnPolicy]: "سیاست بازگشت کالا",
[Pages.pages.jobs]: "آگهی‌های شغلی",
[Pages.pages.documents]: "مستندات",
// Settings
[Pages.setting.shop]: "تنظیمات فروشگاه",
[Pages.setting.banners]: "تنظیمات بنرها",
[Pages.setting.siteSetting]: "تنظیمات سایت",
// Wallet
[Pages.wallet]: "کیف پول",
// Profile
[Pages.profile]: "پروفایل",
// Customers
[Pages.customer.list]: "لیست مشتریان",
// Ads
[Pages.ads.list]: "لیست تبلیغات",
// Blogs
[Pages.blog.list]: "لیست بلاگ‌ها",
[Pages.blog.category]: "دسته‌بندی‌های بلاگ",
// Messages
[Pages.messages.list]: "لیست پیام‌ها",
// Card Bank
[Pages.cardBank.list]: "لیست کارت‌های بانکی",
// Reports
[Pages.report.product]: "گزارش محصولات",
// Support
[Pages.support.list]: "لیست پشتیبانی",
// Jobs
[Pages.jobs.list]: "لیست آگهی‌های شغلی",
// Contact Us
[Pages.contactUs.list]: "لیست تماس با ما",
// Additional mappings for remaining pages
[Pages.services.mine]: "خدمات من",
[Pages.services.other]: "خدمات دیگر",
[Pages.services.category]: "دسته‌بندی خدمات",
[Pages.services.add]: "افزودن خدمت",
[Pages.services.update]: "ویرایش خدمت",
[Pages.services.review]: "نظرات خدمات",
[Pages.services.guide]: "راهنمای خدمات",
[Pages.services.plan]: "طرح خدمات",
[Pages.sliders.detail]: "جزئیات اسلایدر",
[Pages.receipts.detail]: "جزئیات رسید",
[Pages.receipts.create]: "ایجاد رسید",
[Pages.ticket.detail]: "جزئیات تیکت",
[Pages.ticket.category.create]: "ایجاد دسته‌بندی تیکت",
[Pages.ticket.category.update]: "ویرایش دسته‌بندی تیکت",
[Pages.announcement.detail]: "جزئیات اعلان",
[Pages.announcement.create]: "ایجاد اعلان",
[Pages.criticisms.detail]: "جزئیات انتقاد",
[Pages.learning.detail]: "جزئیات آموزش",
[Pages.learning.create]: "ایجاد آموزش",
[Pages.learning.category]: "دسته‌بندی آموزش",
[Pages.pages.aboutUsCreate]: "ایجاد درباره ما",
[Pages.pages.faqCreate]: "ایجاد سوال متداول",
[Pages.pages.faqUpdate]: "ویرایش سوال متداول",
[Pages.pages.incomeTariff]: "تعرفه درآمد",
[Pages.buyUsers.list]: "لیست خریداران",
[Pages.ads.create]: "ایجاد تبلیغ",
[Pages.ads.update]: "ویرایش تبلیغ",
[Pages.blog.detail]: "جزئیات بلاگ",
[Pages.blog.comments]: "نظرات بلاگ",
[Pages.blog.create]: "ایجاد بلاگ",
[Pages.messages.detail]: "جزئیات پیام",
[Pages.customer.create]: "ایجاد مشتری",
[Pages.customer.update]: "ویرایش مشتری",
[Pages.cardBank.create]: "ایجاد کارت بانکی",
[Pages.cardBank.detail]: "جزئیات کارت بانکی",
[Pages.payment.list]: "لیست پرداخت‌ها",
[Pages.report.category]: "گزارش دسته‌بندی",
[Pages.support.create]: "ایجاد پشتیبانی",
[Pages.support.detail]: "جزئیات پشتیبانی",
[Pages.support.planUsers]: "کاربران طرح پشتیبانی",
[Pages.category.detail]: "جزئیات دسته‌بندی",
[Pages.orders.detailUser]: "جزئیات سفارش کاربر",
[Pages.orders.detailSeller]: "جزئیات سفارش فروشنده",
[Pages.jobs.resumes]: "رزومه‌ها",
[Pages.representative.list]: "لیست نمایندگان",
[Pages.developers.list]: "لیست توسعه‌دهندگان",
[Pages.coupon.detail]: "ویرایش کوپن",
[Pages.referralCode.list]: "لیست کدهای معرف",
[Pages.admin.detail]: "جزئیات ادمین",
[Pages.admin.roleList]: "لیست نقش‌ها",
[Pages.admin.roleCreate]: "ایجاد نقش",
[Pages.admin.groupAdd]: "افزودن گروه",
[Pages.admin.groupList]: "لیست گروه‌ها",
[Pages.representative.list]: "لیست نمایندگان",
};
// Function to get page title based on current path
export const getPageTitle = (pathname: string): string => {
// First try exact match
if (PageTitles[pathname as keyof typeof PageTitles]) {
return PageTitles[pathname as keyof typeof PageTitles];
}
// Try partial matches for dynamic routes
for (const [path, title] of Object.entries(PageTitles)) {
if (pathname.startsWith(path)) {
return title;
}
}
// Default title
return "پنل مدیریت";
};
+6 -6
View File
@@ -145,12 +145,12 @@ export const Pages = {
planUsers: "/support/plan-users/",
},
category: {
list: "/category/list",
create: "/category/create",
update: "/category/update/",
detail: "/category/",
variant: "/category/variant/",
attributes: "/category/attributes/",
list: "/products/category",
create: "/products/category/create",
update: "/products/category/update/",
detail: "/products/category/",
variant: "/products/category/variant/",
attributes: "/products/category/attributes/",
},
products: {
create: "/products/create",