diff --git a/apps/desktop/src/components/EmptyState.tsx b/apps/desktop/src/components/EmptyState.tsx new file mode 100644 index 0000000..a54e991 --- /dev/null +++ b/apps/desktop/src/components/EmptyState.tsx @@ -0,0 +1,32 @@ +import type { ReactNode } from 'react'; + +interface Props { + icon: ReactNode; + title: string; + description: string; + action?: { label: string; onClick: () => void }; +} + +// Reusable empty-state placeholder: large icon + heading + description + +// optional primary CTA. Used everywhere there's a meaningfully-empty list +// (no chats, no friends, no search results, fresh conversation). +export function EmptyState({ icon, title, description, action }: Props) { + return ( +
{description}
+ {action && ( + + )} +