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,8 +1,9 @@
import { ChevronLeft, ChevronRight, Plus } from 'lucide-react'
import { ChevronLeft, ChevronRight, Images, Plus } from 'lucide-react'
import { useRef } from 'react'
import { useLocale } from '@meshkee/dashboard-ui'
import { useT } from '../i18n/useT'
import type { WebsiteSliderSlide } from '../types/websiteSlider'
import { EmptyState } from './EmptyState'
import { Tooltip } from './Tooltip'
import { WebsiteSliderSlideCard } from './WebsiteSliderSlideCard'
import styles from './WebsiteSliderGallery.module.css'
@@ -33,6 +34,17 @@ export function WebsiteSliderGallery({
const showNav = slides.length > 0
const addText = addLabel ?? t('website.sliders.addSlide')
if (slides.length === 0) {
return (
<EmptyState
icon={Images}
message={t('website.sliders.empty')}
actionLabel={showAdd ? addText : undefined}
onAction={showAdd ? onAddSlide : undefined}
/>
)
}
function scrollBy(direction: -1 | 1) {
const track = trackRef.current
if (!track) return