Files
natreex d4765e6576 Add foundational components and logic for migration, UI design, and input handling
- Introduced foundational UI components (`Badge`, `LockCard`, `SectionHeader`, `AvatarIcon`, etc.) for flexible layouts and consistent design.
- Added migration support with the `MigrationModal` component and backend integration for exporting/importing data between Electron and Tauri.
- Extended form components with `TextAreaInput`, `OrderInput`, `ToggleField`, and `ToolbarSelect` for improved input handling.
- Updated `ScribeShell` with migration popup logic to prompt users for data migration.
- Integrated `AlertStack` for better alert handling and notification management.
- Enhanced Rust/Tauri services with migration command implementations.
- Added translations and styles for new components.
2026-04-05 12:52:54 -04:00

34 lines
1015 B
TypeScript

import React, {ReactNode} from "react";
import {LucideIcon} from "lucide-react";
import IconContainer from "@/components/ui/IconContainer";
interface EmptyStateProps {
icon: LucideIcon;
title: string;
description?: string;
action?: ReactNode;
}
export default function EmptyState(
{
icon,
title,
description,
action,
}: EmptyStateProps) {
return (
<div className="h-full flex flex-col items-center justify-center py-12 text-center p-8">
<div className="mb-6">
<IconContainer icon={icon} size="xl" shape="rounded"/>
</div>
<h3 className="text-xl font-['ADLaM_Display'] text-text-primary mb-3">{title}</h3>
{description && (
<p className="text-muted max-w-md text-lg leading-relaxed">{description}</p>
)}
{action && (
<div className="mt-6">{action}</div>
)}
</div>
);
}