Add shared empty states, customer product filters, and SSO handoff across dashboards.

Standardize list empty UI, searchable country fields, customer-products filter row, password/login polish, and one-time business dashboard handoff from the customer app.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-08-19 19:46:57 +03:30
co-authored by Cursor
parent 832ac32a09
commit f8a9a28346
55 changed files with 1264 additions and 907 deletions
@@ -1,6 +1,7 @@
import { useEffect, useState } from 'react'
import { Plus } from 'lucide-react'
import { Award, Plus } from 'lucide-react'
import { Breadcrumbs } from '../components/Breadcrumbs'
import { EmptyState } from '../components/EmptyState'
import { PageTitle } from '../components/PageTitle'
import { ConfirmDeleteModal } from '../components/ConfirmDeleteModal'
import { PickWebsiteBrandsModal } from '../components/PickWebsiteBrandsModal'
@@ -215,7 +216,12 @@ export function WebsiteSpecialBrandsPage() {
{isLoading ? (
<p className={styles.empty}>{t('website.specialBrands.loading')}</p>
) : groups.length === 0 ? (
<p className={styles.empty}>{t('website.specialBrands.empty')}</p>
<EmptyState
icon={Award}
message={t('website.specialBrands.empty')}
actionLabel={t('website.specialBrands.addFab')}
onAction={() => setCreateOpen(true)}
/>
) : (
<div className={styles.carousels}>
{groups.map((group) => (