summaryrefslogtreecommitdiff
path: root/apps/web/src/components/editor/export-button.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/components/editor/export-button.tsx')
-rw-r--r--apps/web/src/components/editor/export-button.tsx51
1 files changed, 16 insertions, 35 deletions
diff --git a/apps/web/src/components/editor/export-button.tsx b/apps/web/src/components/editor/export-button.tsx
index 942efcff..f39c18e2 100644
--- a/apps/web/src/components/editor/export-button.tsx
+++ b/apps/web/src/components/editor/export-button.tsx
@@ -15,7 +15,7 @@ import { Progress } from "@/components/ui/progress";
import { Checkbox } from "@/components/ui/checkbox";
import { cn } from "@/utils/ui";
import { getExportMimeType, getExportFileExtension } from "@/lib/export";
-import { Check, Copy, Download, RotateCcw, X } from "lucide-react";
+import { Check, Copy, Download, RotateCcw } from "lucide-react";
import {
EXPORT_FORMAT_VALUES,
EXPORT_QUALITY_VALUES,
@@ -44,9 +44,7 @@ export function ExportButton() {
type="button"
className={cn(
"flex items-center gap-1.5 rounded-md bg-[#38BDF8] px-[0.12rem] py-[0.12rem] text-white",
- hasProject
- ? "cursor-pointer"
- : "cursor-not-allowed opacity-50",
+ hasProject ? "cursor-pointer" : "cursor-not-allowed opacity-50",
)}
onClick={hasProject ? handleExport : undefined}
disabled={!hasProject}
@@ -141,20 +139,12 @@ function ExportPopover({
}
};
- const handleClose = () => {
- if (!isExporting) {
- onOpenChange(false);
- setExportResult(null);
- setProgress(0);
- }
- };
-
const handleCancel = () => {
cancelRequestedRef.current = true;
};
return (
- <PopoverContent className="bg-background mr-4 flex w-80 flex-col gap-3">
+ <PopoverContent className="bg-background mr-4 flex w-80 flex-col p-0">
{exportResult && !exportResult.success ? (
<ExportError
error={exportResult.error || "Unknown error occurred"}
@@ -162,23 +152,20 @@ function ExportPopover({
/>
) : (
<>
- <div className="flex items-center justify-between">
- <h3 className="font-medium">
+ <div className="flex items-center justify-between p-3 border-b">
+ <h3 className="font-medium text-sm">
{isExporting ? "Exporting project" : "Export project"}
</h3>
- <Button variant="text" size="icon" onClick={handleClose}>
- <X className="text-foreground/85 !size-5" />
- </Button>
</div>
<div className="flex flex-col gap-4">
{!isExporting && (
<>
- <div className="flex flex-col gap-3">
+ <div className="flex flex-col">
<PropertyGroup
title="Format"
- titleClassName="text-sm"
defaultExpanded={false}
+ hasBorderTop={false}
>
<RadioGroup
value={format}
@@ -203,11 +190,7 @@ function ExportPopover({
</RadioGroup>
</PropertyGroup>
- <PropertyGroup
- title="Quality"
- titleClassName="text-sm"
- defaultExpanded={false}
- >
+ <PropertyGroup title="Quality" defaultExpanded={false}>
<RadioGroup
value={quality}
onValueChange={(value) => {
@@ -237,11 +220,7 @@ function ExportPopover({
</RadioGroup>
</PropertyGroup>
- <PropertyGroup
- title="Audio"
- titleClassName="text-sm"
- defaultExpanded={false}
- >
+ <PropertyGroup title="Audio" defaultExpanded={false}>
<div className="flex items-center space-x-2">
<Checkbox
id="include-audio"
@@ -257,15 +236,17 @@ function ExportPopover({
</PropertyGroup>
</div>
- <Button onClick={handleExport} className="w-full gap-2">
- <Download className="size-4" />
- Export
- </Button>
+ <div className="p-3 pt-0">
+ <Button onClick={handleExport} className="w-full gap-2">
+ <Download className="size-4" />
+ Export
+ </Button>
+ </div>
</>
)}
{isExporting && (
- <div className="space-y-4">
+ <div className="space-y-4 p-3">
<div className="flex flex-col">
<div className="flex items-center justify-between text-center">
<p className="text-muted-foreground mb-2 text-sm">