mirror of
https://git.meshkee.com/Meshkee/dashboards.git
synced 2026-08-12 06:40:57 +04:30
Add FA/EN locale, home activity charts, and theme-aware polish.
Ship shared LocaleProvider, business/customer i18n, branding defaultLocale, curated home tiles with dual 30-day charts, and chart/page aura tokens; refresh PROJECT_CONTEXT. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
co-authored by
Cursor
parent
f5b2193ba1
commit
66004a0fba
@@ -2,47 +2,51 @@ import { FolderTree, PlusCircle, Package, Settings, Tag } from 'lucide-react'
|
||||
import { SectionCard } from '../components/SectionCard'
|
||||
import { ProductActivityChart } from '../components/ProductActivityChart'
|
||||
import { Breadcrumbs } from '../components/Breadcrumbs'
|
||||
import { useT } from '../i18n/useT'
|
||||
import type { BusinessMessageKey } from '../i18n/messages'
|
||||
import styles from '../components/PageContent.module.css'
|
||||
|
||||
const productSections = [
|
||||
const productSections: {
|
||||
icon: typeof Package
|
||||
titleKey: BusinessMessageKey
|
||||
descKey: BusinessMessageKey
|
||||
href: string
|
||||
}[] = [
|
||||
{
|
||||
icon: Package,
|
||||
title: 'My Products',
|
||||
description: 'View, edit and manage all your existing products.',
|
||||
linkText: 'View products',
|
||||
titleKey: 'nav.products.list',
|
||||
descKey: 'products.card.list.desc',
|
||||
href: '/products/list',
|
||||
},
|
||||
{
|
||||
icon: PlusCircle,
|
||||
title: 'Add a New Product',
|
||||
description: 'Create and publish a new product to your store.',
|
||||
linkText: 'Add product',
|
||||
titleKey: 'products.card.new.title',
|
||||
descKey: 'products.card.new.desc',
|
||||
href: '/products/new',
|
||||
},
|
||||
{
|
||||
icon: FolderTree,
|
||||
title: 'Categories',
|
||||
description: 'Organize your products into categories and subcategories.',
|
||||
linkText: 'View categories',
|
||||
titleKey: 'nav.products.categories',
|
||||
descKey: 'products.card.categories.desc',
|
||||
href: '/products/categories',
|
||||
},
|
||||
{
|
||||
icon: Tag,
|
||||
title: 'Brands',
|
||||
description: 'Manage product brands and assign them when creating products.',
|
||||
linkText: 'View brands',
|
||||
titleKey: 'nav.products.brands',
|
||||
descKey: 'products.card.brands.desc',
|
||||
href: '/products/brands',
|
||||
},
|
||||
{
|
||||
icon: Settings,
|
||||
title: 'Settings',
|
||||
description: 'Configure product defaults, variants and display options.',
|
||||
linkText: 'View settings',
|
||||
titleKey: 'nav.products.settings',
|
||||
descKey: 'products.card.settings.desc',
|
||||
href: '/products/settings',
|
||||
},
|
||||
]
|
||||
|
||||
export function ProductsPage() {
|
||||
const t = useT()
|
||||
|
||||
return (
|
||||
<main className={styles.content}>
|
||||
<Breadcrumbs
|
||||
@@ -53,16 +57,20 @@ export function ProductsPage() {
|
||||
/>
|
||||
<div className={styles.pageHeader}>
|
||||
<div>
|
||||
<h2 className={styles.pageTitle}>Products</h2>
|
||||
<p className={styles.pageSubtitle}>
|
||||
Manage your products, inventory and categories.
|
||||
</p>
|
||||
<h2 className={styles.pageTitle}>{t('title.products')}</h2>
|
||||
<p className={styles.pageSubtitle}>{t('products.overview.subtitle')}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={styles.gridHome}>
|
||||
{productSections.map((section) => (
|
||||
<SectionCard key={section.title} {...section} />
|
||||
<SectionCard
|
||||
key={section.href}
|
||||
icon={section.icon}
|
||||
title={t(section.titleKey)}
|
||||
description={t(section.descKey)}
|
||||
href={section.href}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user