Polish business FA layout and wire special-group keys plus SSL sync.

RTL carousels/FABs, special key+title fields, slider gallery fixes, and dashboard SSL sync agent for super-admin.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-08-03 00:06:44 +03:30
co-authored by Cursor
parent 66004a0fba
commit 672091d1f5
113 changed files with 4154 additions and 1451 deletions
+48 -33
View File
@@ -11,75 +11,85 @@ import {
} from 'lucide-react'
import { SectionCard } from '../components/SectionCard'
import { Breadcrumbs } from '../components/Breadcrumbs'
import { useT } from '../i18n/useT'
import type { BusinessMessageKey } from '../i18n/messages'
import styles from '../components/PageContent.module.css'
const websiteSections = [
const websiteSections: {
icon: typeof Images
titleKey: BusinessMessageKey
descKey: BusinessMessageKey
linkKey: BusinessMessageKey
href: string
}[] = [
{
icon: Images,
title: 'Sliders',
description: 'Manage homepage banner sliders and promotional image carousels.',
linkText: 'Manage sliders',
titleKey: 'nav.website.sliders',
descKey: 'website.card.sliders.desc',
linkKey: 'website.card.sliders.link',
href: '/website/sliders',
},
{
icon: LayoutGrid,
title: 'Special Categories',
description: 'Highlight selected product categories on your website homepage.',
linkText: 'Manage categories',
titleKey: 'nav.website.specialCategories',
descKey: 'website.card.specialCategories.desc',
linkKey: 'website.card.specialCategories.link',
href: '/website/special-categories',
},
{
icon: Building2,
title: 'Special Brands',
description: 'Showcase partner or featured brands on your website homepage.',
linkText: 'Manage brands',
titleKey: 'nav.website.specialBrands',
descKey: 'website.card.specialBrands.desc',
linkKey: 'website.card.specialBrands.link',
href: '/website/special-brands',
},
{
icon: Sparkles,
title: 'Special Items',
description: 'Curate featured store items into categories for your website carousels.',
linkText: 'Manage special items',
titleKey: 'nav.website.specialItems',
descKey: 'website.card.specialItems.desc',
linkKey: 'website.card.specialItems.link',
href: '/website/special-items',
},
{
icon: Mail,
title: 'Contact Us Form',
description: 'View submissions from your website contact form.',
linkText: 'View submissions',
titleKey: 'nav.website.contact',
descKey: 'website.card.contact.desc',
linkKey: 'website.card.contact.link',
href: '/website/contact',
},
{
icon: BellRing,
title: 'Subscriptions',
description: 'Manage newsletter sign-ups and subscription options for visitors.',
linkText: 'Manage subscriptions',
titleKey: 'nav.website.subscriptions',
descKey: 'website.card.subscriptions.desc',
linkKey: 'website.card.subscriptions.link',
href: '/website/subscriptions',
},
{
icon: CircleHelp,
title: 'FAQ',
description: 'Create and organize frequently asked questions for your website.',
linkText: 'Manage FAQ',
titleKey: 'nav.website.faq',
descKey: 'website.card.faq.desc',
linkKey: 'website.card.faq.link',
href: '/website/faq',
},
{
icon: Award,
title: 'Badges',
description: 'Show trust badges, certifications, and highlights on your website.',
linkText: 'Manage badges',
titleKey: 'nav.website.badges',
descKey: 'website.card.badges.desc',
linkKey: 'website.card.badges.link',
href: '/website/badges',
},
{
icon: CreditCard,
title: 'E-Payment',
description: 'Configure online payment gateways and checkout payment options.',
linkText: 'Manage e-payment',
titleKey: 'nav.website.ePayment',
descKey: 'website.card.ePayment.desc',
linkKey: 'website.card.ePayment.link',
href: '/website/e-payment',
},
]
export function WebsitePage() {
const t = useT()
return (
<main className={styles.content}>
<Breadcrumbs
@@ -90,16 +100,21 @@ export function WebsitePage() {
/>
<div className={styles.pageHeader}>
<div>
<h2 className={styles.pageTitle}>Website</h2>
<p className={styles.pageSubtitle}>
Manage public website content, forms, and customer-facing settings.
</p>
<h2 className={styles.pageTitle}>{t('title.website')}</h2>
<p className={styles.pageSubtitle}>{t('website.page.subtitle')}</p>
</div>
</div>
<div className={styles.gridHome}>
{websiteSections.map((section) => (
<SectionCard key={section.title} {...section} />
<SectionCard
key={section.href}
icon={section.icon}
title={t(section.titleKey)}
description={t(section.descKey)}
linkText={t(section.linkKey)}
href={section.href}
/>
))}
</div>
</main>