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.
This commit is contained in:
natreex
2026-04-05 12:52:54 -04:00
parent 2b6d4cc48b
commit d4765e6576
49 changed files with 3115 additions and 2 deletions

View File

@@ -0,0 +1,43 @@
import React, {ReactNode} from "react";
import {LucideIcon} from "lucide-react";
import Badge from "@/components/ui/Badge";
import IconContainer from "@/components/ui/IconContainer";
interface SectionHeaderProps {
icon?: LucideIcon;
title: string;
badge?: string;
description?: string;
actions?: ReactNode;
}
export default function SectionHeader(
{
icon,
title,
badge,
description,
actions,
}: SectionHeaderProps) {
return (
<div className="shrink-0">
<div className="flex justify-between items-center">
<div className="flex-1">
<h2 className="text-xl text-text-primary font-bold flex items-center gap-3 flex-wrap">
{icon && <IconContainer icon={icon} size="sm"/>}
<span className="tracking-wide">{title}</span>
{badge && <Badge>{badge}</Badge>}
</h2>
{description && (
<p className="text-text-secondary text-xs mt-2 ml-13">{description}</p>
)}
</div>
{actions && (
<div className="flex items-center gap-2">
{actions}
</div>
)}
</div>
</div>
);
}