"use client" import * as React from "react" import { Button } from "@/components/ui/button" import { Package, ShoppingBag, Users, Truck, MessageCircle, Plus, Share2, LucideIcon } from "lucide-react" import Link from "next/link" interface EmptyStateProps { icon?: LucideIcon title: string description: string actionLabel?: string actionHref?: string actionOnClick?: () => void secondaryActionLabel?: string secondaryActionHref?: string className?: string } /** * EmptyState - Reusable component for empty tables/lists * Shows an icon, title, description, and optional action button */ export function EmptyState({ icon: Icon = Package, title, description, actionLabel, actionHref, actionOnClick, secondaryActionLabel, secondaryActionHref, className = "" }: EmptyStateProps) { return (

{title}

{description}

{actionLabel && ( actionHref ? ( ) : actionOnClick ? ( ) : null )} {secondaryActionLabel && secondaryActionHref && ( )}
) } // Preset empty states for common scenarios export function OrdersEmptyState() { return ( ) } export function ProductsEmptyState({ onAddProduct }: { onAddProduct?: () => void }) { return ( ) } export function CustomersEmptyState() { return ( ) } export function ShippingEmptyState({ onAddMethod }: { onAddMethod?: () => void }) { return ( ) } export function ChatsEmptyState() { return ( ) }