SPB Git forge

spb/fetcha

Public
11commits 1branches 0releases
1.5 MBsize
maindefault branch
16 days agolast push
TypeScript 97.5% SQL 1.4% Python 0.8%
1.1 KB · 33 lines tsx
Raw Blame History
1import * as React from "react";2import type { LucideIcon } from "lucide-react";3import { cn } from "@/lib/utils";45export function EmptyState({6  icon: Icon,7  title,8  description,9  action,10  className,11  compact,12}: {13  icon?: LucideIcon;14  title: string;15  description?: React.ReactNode;16  action?: React.ReactNode;17  className?: string;18  compact?: boolean;19}) {20  return (21    <div className={cn("flex flex-col items-center justify-center text-center rounded-lg border border-dashed border-border bg-bg-subtle/40", compact ? "px-6 py-10" : "px-6 py-16", className)}>22      {Icon ? (23        <div className="mb-4 flex size-10 items-center justify-center rounded-lg border border-border bg-bg shadow-xs">24          <Icon className="size-5 text-fg-muted" aria-hidden />25        </div>26      ) : null}27      <h3 className="text-[15px] font-semibold tracking-tight">{title}</h3>28      {description ? <div className="mt-1.5 max-w-sm text-[13px] text-fg-muted leading-relaxed">{description}</div> : null}29      {action ? <div className="mt-5 flex items-center gap-2">{action}</div> : null}30    </div>31  );32}33