Polish dashboard page chrome and user access UI.

Rename Customers to Users with FA/EN titles, compact headers and filter bars across apps, and refine manager role copy plus a customer-header link to the business dashboard.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-08-11 00:00:09 +03:30
co-authored by Cursor
parent beec3035e5
commit 6c52ce1247
55 changed files with 395 additions and 122 deletions
+30 -18
View File
@@ -27,7 +27,7 @@ const en = {
'nav.store.shipping': 'Shipping Fees',
'nav.store.cards': 'Shopping Cards',
'nav.store.settings': 'Settings',
'nav.customers': 'Customers',
'nav.customers': 'Users',
'nav.customerProducts': 'Customer products',
'nav.settings': 'Settings',
'nav.blog': 'Blog',
@@ -158,7 +158,7 @@ const en = {
'home.card.store.desc': 'Manage your store settings, pages and themes.',
'home.card.store.link': 'View store',
'home.card.store.count': 'on sale',
'home.card.customers.title': 'Customers',
'home.card.customers.title': 'Users',
'home.card.customers.desc': 'View and manage your customers and their activity.',
'home.card.customers.link': 'View customers',
'home.card.customers.count': 'people',
@@ -185,7 +185,7 @@ const en = {
'home.chart.orders.error': 'Unable to load order activity.',
'home.chart.orders.bar': '{day}: {count} orders',
'home.chart.orders.cartBar': '{day}: {count} added to basket',
'home.chart.customers.title': 'Customers',
'home.chart.customers.title': 'Users',
'home.chart.customers.subtitle': 'Registrations and active users in the last 30 days',
'home.chart.customers.legend': 'Registered ({count})',
'home.chart.customers.activeLegend': 'Active ({count})',
@@ -766,7 +766,7 @@ const en = {
'storeSettings.error.saveSteps': 'Unable to save order process steps.',
'storeSettings.stepsSaved': 'Order process steps saved.',
'customers.title': 'Customers',
'customers.title': 'Users',
'customers.subtitle':
'View customers who have registered or ordered from your business.',
'customers.filters': 'Filters',
@@ -785,6 +785,7 @@ const en = {
'customers.loading': 'Loading customers...',
'customers.pageMeta': 'Page {page} / {totalPages} · {pageSize} per page · {total} total',
'customers.col.name': 'Name',
'customers.col.role': 'Role',
'customers.col.cell': 'Cell number',
'customers.col.email': 'Email',
'customers.col.orders': 'Orders',
@@ -839,11 +840,16 @@ const en = {
'customers.access.manager': 'Manager',
'customers.access.role.admin': 'Admin',
'customers.access.role.editor': 'Editor',
'customers.access.role.viewer': 'Viewer',
'customers.access.role.viewer': 'Observer',
'customers.access.role.admin.desc':
'Can view and edit content, and also assign editors and observers.',
'customers.access.role.editor.desc': 'Can view content and edit it.',
'customers.access.role.viewer.desc':
'Can only view content. Best for order management and content quality review.',
'customers.access.hintSuperAdmin':
'Admin can manage other managers (except other admins). Editor and viewer manage content only.',
'customers.access.hintBusiness':
'Managers can be Editor or Viewer. Only a super admin can assign Admin.',
'Managers can be Editor or Observer. Only a super admin can assign Admin.',
'customers.access.cancel': 'Cancel',
'customers.access.save': 'Save',
'customers.access.error': 'Unable to update access.',
@@ -853,7 +859,7 @@ const en = {
'customers.access.badge.owner': 'Owner',
'customers.access.badge.admin': 'Admin',
'customers.access.badge.editor': 'Editor',
'customers.access.badge.viewer': 'Viewer',
'customers.access.badge.viewer': 'Observer',
'customers.access.badge.manager': 'Manager',
'customers.toast.accessUpdated': 'Access updated to {role}.',
@@ -1261,7 +1267,7 @@ const en = {
'title.storeItems': 'My Store Items',
'title.orders': 'My Orders',
'title.shoppingCards': 'Shopping Cards',
'title.customers': 'Customers',
'title.customers': 'Users',
'title.customerProducts': 'Customer products',
'title.blog': 'Blog',
'title.myBlogs': 'My Blogs',
@@ -1396,7 +1402,7 @@ const fa: Record<MessageKey, string> = {
'nav.store.shipping': 'هزینه ارسال',
'nav.store.cards': 'کارت‌های خرید',
'nav.store.settings': 'تنظیمات',
'nav.customers': 'مشتریان',
'nav.customers': 'کاربران',
'nav.customerProducts': 'محصولات مشتریان',
'nav.settings': 'تنظیمات',
'nav.blog': 'بلاگ',
@@ -1527,7 +1533,7 @@ const fa: Record<MessageKey, string> = {
'home.card.store.desc': 'تنظیمات، صفحات و ظاهر فروشگاه را مدیریت کنید.',
'home.card.store.link': 'مشاهده فروشگاه',
'home.card.store.count': 'محصول فروش',
'home.card.customers.title': 'مشتریان',
'home.card.customers.title': 'کاربران',
'home.card.customers.desc': 'مشتریان و فعالیت آن‌ها را ببینید و مدیریت کنید.',
'home.card.customers.link': 'مشاهده مشتریان',
'home.card.customers.count': 'نفر',
@@ -1554,7 +1560,7 @@ const fa: Record<MessageKey, string> = {
'home.chart.orders.error': 'بارگذاری فعالیت سفارش‌ها ممکن نشد.',
'home.chart.orders.bar': '{day}: {count} سفارش',
'home.chart.orders.cartBar': '{day}: {count} افزودن به سبد',
'home.chart.customers.title': 'مشتریان',
'home.chart.customers.title': 'کاربران',
'home.chart.customers.subtitle': 'ثبت‌نام و کاربران فعال در ۳۰ روز گذشته',
'home.chart.customers.legend': 'ثبت‌نام ({count})',
'home.chart.customers.activeLegend': 'فعال ({count})',
@@ -2133,7 +2139,7 @@ const fa: Record<MessageKey, string> = {
'storeSettings.error.saveSteps': 'ذخیره مراحل فرآیند سفارش ممکن نشد.',
'storeSettings.stepsSaved': 'مراحل فرآیند سفارش ذخیره شد.',
'customers.title': 'مشتریان',
'customers.title': 'کاربران',
'customers.subtitle':
'مشتریانی را ببینید که در کسب‌وکار شما ثبت‌نام کرده یا سفارش داده‌اند.',
'customers.filters': 'فیلترها',
@@ -2152,6 +2158,7 @@ const fa: Record<MessageKey, string> = {
'customers.loading': 'در حال بارگذاری مشتریان...',
'customers.pageMeta': 'صفحه {page} / {totalPages} · {pageSize} در هر صفحه · {total} کل',
'customers.col.name': 'نام',
'customers.col.role': 'نقش',
'customers.col.cell': 'شماره موبایل',
'customers.col.email': 'ایمیل',
'customers.col.orders': 'سفارش‌ها',
@@ -2206,21 +2213,26 @@ const fa: Record<MessageKey, string> = {
'customers.access.manager': 'مدیر',
'customers.access.role.admin': 'ادمین',
'customers.access.role.editor': 'ویرایشگر',
'customers.access.role.viewer': 'بیننده',
'customers.access.role.viewer': 'ناظر',
'customers.access.role.admin.desc':
'ادمین می‌تواند ببیند، ویرایش کند و همچنین دیگر ویرایشگران و ناظرین را مشخص کند.',
'customers.access.role.editor.desc': 'ویرایشگر می‌تواند محتواها را ببیند و آن‌ها را ویرایش کند.',
'customers.access.role.viewer.desc':
'ناظر می‌تواند فقط محتوا را ببیند. ناظر بیشتر برای مدیریت سفارشات و بررسی کیفی محتواها کاربرد دارد.',
'customers.access.hintSuperAdmin':
'ادمین می‌تواند مدیران دیگر را مدیریت کند (به‌جز ادمین‌های دیگر). ویرایشگر و بیننده فقط محتوا را مدیریت می‌کنند.',
'ادمین می‌تواند مدیران دیگر را مدیریت کند (به‌جز ادمین‌های دیگر). ویرایشگر و ناظر محتوا را مدیریت می‌کنند.',
'customers.access.hintBusiness':
'مدیران می‌توانند ویرایشگر یا بیننده باشند. فقط سوپرادمین می‌تواند ادمین تعیین کند.',
'مدیران می‌توانند ویرایشگر یا ناظر باشند. فقط سوپرادمین می‌تواند ادمین تعیین کند.',
'customers.access.cancel': 'انصراف',
'customers.access.save': 'ذخیره',
'customers.access.error': 'به‌روزرسانی دسترسی ممکن نشد.',
'customers.access.change': 'تغییر دسترسی',
'customers.access.ownerLocked': 'نقش صاحب کسب‌وکار قابل تغییر نیست',
'customers.access.adminLocked': 'فقط سوپرادمین می‌تواند ادمین را تغییر دهد',
'customers.access.badge.owner': 'صاحب',
'customers.access.badge.owner': 'مالک کسب و کار',
'customers.access.badge.admin': 'ادمین',
'customers.access.badge.editor': 'ویرایشگر',
'customers.access.badge.viewer': 'بیننده',
'customers.access.badge.viewer': 'ناظر',
'customers.access.badge.manager': 'مدیر',
'customers.toast.accessUpdated': 'دسترسی به {role} به‌روزرسانی شد.',
@@ -2627,7 +2639,7 @@ const fa: Record<MessageKey, string> = {
'title.storeItems': 'اقلام فروشگاه',
'title.orders': 'سفارش‌های من',
'title.shoppingCards': 'کارت‌های خرید',
'title.customers': 'مشتریان',
'title.customers': 'کاربران',
'title.customerProducts': 'محصولات مشتریان',
'title.blog': 'بلاگ',
'title.myBlogs': 'بلاگ‌های من',