27 lines
731 B
TypeScript
27 lines
731 B
TypeScript
import type { ReactNode } from 'react'
|
|
|
|
interface EmptyStateProps {
|
|
icon?: ReactNode
|
|
title: string
|
|
description?: string
|
|
action?: ReactNode
|
|
className?: string
|
|
}
|
|
|
|
export function EmptyState({
|
|
icon,
|
|
title,
|
|
description,
|
|
action,
|
|
className = '',
|
|
}: EmptyStateProps): React.ReactElement {
|
|
return (
|
|
<div className={`text-center py-12 ${className}`}>
|
|
{icon && <div className="mb-4 flex justify-center text-cyber-accent/50">{icon}</div>}
|
|
<h3 className="text-lg font-semibold text-neon-cyan mb-2">{title}</h3>
|
|
{description && <p className="text-sm text-cyber-accent/70 mb-4 max-w-md mx-auto">{description}</p>}
|
|
{action && <div className="flex justify-center">{action}</div>}
|
|
</div>
|
|
)
|
|
}
|