import { Skeleton } from "@/components/ui/skeleton"
import { Loader2, RefreshCw, Brain, Sparkles } from "lucide-react"
// Memory Card Skeleton with enhanced animation
export function MemoryCardSkeleton() {
return (
{/* Shimmer effect */}
{/* Header */}
{/* Title and content */}
{/* Tags */}
{/* Footer */}
)
}
// Table Row Skeleton
export function TableRowSkeleton() {
return (
|
|
|
|
|
|
)
}
// Enhanced Full Page Loading with brain animation
export function PageLoadingSpinner() {
return (
{/* Outer ring */}
{/* Inner brain icon */}
{/* Sparkles */}
)
}
// Enhanced Refresh Indicator
export function RefreshSpinner({ className = "" }: { className?: string }) {
return (
)
}
// Enhanced Button Loading Spinner
export function ButtonSpinner({ size = "sm" }: { size?: "sm" | "md" }) {
const iconSize = size === "sm" ? "h-3 w-3" : "h-4 w-4"
return (
)
}
// Memory Cards Grid Skeleton
export function MemoryCardsGridSkeleton({ count = 8 }: { count?: number }) {
return (
{Array.from({ length: count }, (_, i) => (
))}
)
}
// Memory Table Skeleton
export function MemoryTableSkeleton({ count = 10 }: { count?: number }) {
return (
{Array.from({ length: count }, (_, i) => (
))}
)
}
// Empty State
export function EmptyState({
title = "No memories found",
description = "Create your first memory to get started",
icon = "🧠"
}: {
title?: string
description?: string
icon?: string
}) {
return (
)
}