From f4e127f2d4fb8e50555be0104f7a5844fb0e2aa3 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Fri, 15 Aug 2025 23:44:19 +0200 Subject: [PATCH 1/5] feat: export notice dialog --- apps/web/src/components/editor-header.tsx | 45 +++++++++++++++-------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/apps/web/src/components/editor-header.tsx b/apps/web/src/components/editor-header.tsx index 88deaf0cd..bb72f1e1e 100644 --- a/apps/web/src/components/editor-header.tsx +++ b/apps/web/src/components/editor-header.tsx @@ -21,6 +21,7 @@ import { FaDiscord } from "react-icons/fa6"; import { useTheme } from "next-themes"; import { TransitionUpIcon } from "./icons"; import { PanelPresetSelector } from "./panel-preset-selector"; +import { Dialog, DialogContent, DialogHeader, DialogTitle } from "./ui/dialog"; export function EditorHeader() { const { activeProject, renameProject, deleteProject } = useProjectStore(); @@ -139,25 +140,39 @@ export function EditorHeader() { } function ExportButton() { + const [isExportDialogOpen, setIsExportDialogOpen] = useState(false); + const handleExport = () => { - // TODO: Implement export functionality - // NOTE: This is already being worked on - console.log("Export project"); - window.open("https://youtube.com/watch?v=dQw4w9WgXcQ", "_blank"); + setIsExportDialogOpen(true); }; return ( - + + + + + Export Project + +
+

+ Export functionality is not ready yet. We're currently working on + a custom pipeline to make this possible. +

+
+
+
+ ); } From 1b1486ad940c33db8efc3955329ee49e36d58d55 Mon Sep 17 00:00:00 2001 From: enkei64 Date: Sat, 16 Aug 2025 15:37:30 +1000 Subject: [PATCH 2/5] fix color of icon in footer when in light mode (#552) --- apps/web/src/components/footer.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/web/src/components/footer.tsx b/apps/web/src/components/footer.tsx index a7aa724f4..0087502e4 100644 --- a/apps/web/src/components/footer.tsx +++ b/apps/web/src/components/footer.tsx @@ -36,7 +36,13 @@ export function Footer() { {/* Brand Section */}
- OpenCut + OpenCut OpenCut

From e96682f89e2c72b55025b7fe38bf10cfabad0ca7 Mon Sep 17 00:00:00 2001 From: karansingh21202 <131647871+karansingh21202@users.noreply.github.com> Date: Sat, 16 Aug 2025 11:09:32 +0530 Subject: [PATCH 3/5] fix: enable removing background color in text back to transparent and remember last selection (#510) --- .../properties-panel/text-properties.tsx | 44 +++++++++++++++---- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/apps/web/src/components/editor/properties-panel/text-properties.tsx b/apps/web/src/components/editor/properties-panel/text-properties.tsx index a06624eb2..744c2be50 100644 --- a/apps/web/src/components/editor/properties-panel/text-properties.tsx +++ b/apps/web/src/components/editor/properties-panel/text-properties.tsx @@ -6,7 +6,8 @@ import { useTimelineStore } from "@/stores/timeline-store"; import { Slider } from "@/components/ui/slider"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; -import { useState } from "react"; +import { Switch } from "@/components/ui/switch"; // Add Switch import +import { useState, useRef } from "react"; import { PropertyItem, PropertyItemLabel, @@ -30,6 +31,9 @@ export function TextProperties({ Math.round(element.opacity * 100).toString() ); + // Track the last selected color for toggling + const lastSelectedColor = useRef("#000000"); + const parseAndValidateNumber = ( value: string, min: number, @@ -86,6 +90,20 @@ export function TextProperties({ updateTextElement(trackId, element.id, { opacity: opacityPercent / 100 }); }; + // Update last selected color when a new color is picked + const handleColorChange = (color: string) => { + if (color !== "transparent") { + lastSelectedColor.current = color; + } + updateTextElement(trackId, element.id, { backgroundColor: color }); + }; + + // Toggle between transparent and last selected color + const handleTransparentToggle = (isTransparent: boolean) => { + const newColor = isTransparent ? "transparent" : lastSelectedColor.current; + updateTextElement(trackId, element.id, { backgroundColor: newColor }); + }; + return (