[dyad] Add clear button to remove video - wrote 1 file(s)
This commit is contained in:
@@ -7,7 +7,7 @@ import { Input } from "@/components/ui/input";
|
|||||||
import { Label } from "@/components/ui/label";
|
import { Label } from "@/components/ui/label";
|
||||||
import { Slider } from "@/components/ui/slider";
|
import { Slider } from "@/components/ui/slider";
|
||||||
import { Progress } from "@/components/ui/progress";
|
import { Progress } from "@/components/ui/progress";
|
||||||
import { UploadCloud, Scissors, Download, Loader2, RotateCcw } from "lucide-react";
|
import { UploadCloud, Scissors, Download, Loader2, RotateCcw, Trash2 } from "lucide-react";
|
||||||
import { getFFmpeg } from "@/lib/ffmpeg";
|
import { getFFmpeg } from "@/lib/ffmpeg";
|
||||||
import { fetchFile } from "@ffmpeg/util";
|
import { fetchFile } from "@ffmpeg/util";
|
||||||
|
|
||||||
@@ -148,6 +148,19 @@ export function VideoEditor() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleClear = () => {
|
||||||
|
if (videoSrc) {
|
||||||
|
URL.revokeObjectURL(videoSrc);
|
||||||
|
}
|
||||||
|
setVideoSrc(null);
|
||||||
|
setVideoFile(null);
|
||||||
|
setDuration(0);
|
||||||
|
setTrimValues([0, 0]);
|
||||||
|
setIsTrimming(false);
|
||||||
|
setTrimmedVideoUrl(null);
|
||||||
|
setProgress(0);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card className="w-full shadow-lg rounded-2xl border">
|
<Card className="w-full shadow-lg rounded-2xl border">
|
||||||
<CardHeader className="text-center">
|
<CardHeader className="text-center">
|
||||||
@@ -220,7 +233,12 @@ export function VideoEditor() {
|
|||||||
)}
|
)}
|
||||||
</CardContent>
|
</CardContent>
|
||||||
{videoSrc && (
|
{videoSrc && (
|
||||||
<CardFooter className="flex justify-end space-x-4 p-6">
|
<CardFooter className="flex justify-between items-center p-6">
|
||||||
|
<Button variant="destructive" size="lg" onClick={handleClear} disabled={isTrimming}>
|
||||||
|
<Trash2 className="mr-2 h-5 w-5" />
|
||||||
|
Clear
|
||||||
|
</Button>
|
||||||
|
<div className="flex space-x-4">
|
||||||
<Button variant="ghost" size="lg" onClick={handleReset} disabled={isTrimming}>
|
<Button variant="ghost" size="lg" onClick={handleReset} disabled={isTrimming}>
|
||||||
<RotateCcw className="mr-2 h-5 w-5" />
|
<RotateCcw className="mr-2 h-5 w-5" />
|
||||||
Reset
|
Reset
|
||||||
@@ -239,6 +257,7 @@ export function VideoEditor() {
|
|||||||
Export
|
Export
|
||||||
</a>
|
</a>
|
||||||
</Button>
|
</Button>
|
||||||
|
</div>
|
||||||
</CardFooter>
|
</CardFooter>
|
||||||
)}
|
)}
|
||||||
</Card>
|
</Card>
|
||||||
|
|||||||
Reference in New Issue
Block a user