41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
"use client";
|
|
|
|
import {
|
|
Dialog,
|
|
DialogContent,
|
|
DialogDescription,
|
|
DialogHeader,
|
|
DialogTitle,
|
|
} from "@/components/ui/dialog";
|
|
import { useEditor } from "@/hooks/use-editor";
|
|
import { Loader2 } from "lucide-react";
|
|
|
|
export function MigrationDialog() {
|
|
const editor = useEditor();
|
|
const migrationState = editor.project.getMigrationState();
|
|
|
|
if (!migrationState.isMigrating) return null;
|
|
|
|
return (
|
|
<Dialog open={true}>
|
|
<DialogContent
|
|
className="sm:max-w-md"
|
|
onPointerDownOutside={(event) => event.preventDefault()}
|
|
onEscapeKeyDown={(event) => event.preventDefault()}
|
|
>
|
|
<DialogHeader>
|
|
<DialogTitle>Updating project</DialogTitle>
|
|
<DialogDescription>
|
|
Upgrading "{migrationState.projectName}" from v
|
|
{migrationState.fromVersion} to v{migrationState.toVersion}
|
|
</DialogDescription>
|
|
</DialogHeader>
|
|
|
|
<div className="flex items-center justify-center py-4">
|
|
<Loader2 className="text-muted-foreground h-8 w-8 animate-spin" />
|
|
</div>
|
|
</DialogContent>
|
|
</Dialog>
|
|
);
|
|
}
|