summaryrefslogtreecommitdiff
path: root/apps/web/src/components/editor/editor-header.tsx
diff options
context:
space:
mode:
authorcashmere <cashmere@autistici.org>2026-07-27 01:21:29 +0200
committercashmere <cashmere@autistici.org>2026-07-27 01:21:29 +0200
commit9c3b788b47cc639ee463dd07e1a4cce91e6376cc (patch)
treef7bec9cc3ca35ad3cb3eb5b79497b934513259ef /apps/web/src/components/editor/editor-header.tsx
parent783e9ac8462751adc14d78b070095fd63e45bda0 (diff)
downloadopencut-9c3b788b47cc639ee463dd07e1a4cce91e6376cc.tar.gz
feat: wire versioning/transfer/voice-over actions and header UI
Shared wiring for the six roadmap slices in one commit: action ids and handlers for create-checkpoint, toggle-versions-panel, export-project-archive, and voice-over; the freeze-frame handler awaits the duration prompt before capture; editor header gains the versions popover and export menu item (and loses the feedback popover and Discord item, part of the branding strip).
Diffstat (limited to 'apps/web/src/components/editor/editor-header.tsx')
-rw-r--r--apps/web/src/components/editor/editor-header.tsx26
1 files changed, 9 insertions, 17 deletions
diff --git a/apps/web/src/components/editor/editor-header.tsx b/apps/web/src/components/editor/editor-header.tsx
index 6404dc01..37a37a68 100644
--- a/apps/web/src/components/editor/editor-header.tsx
+++ b/apps/web/src/components/editor/editor-header.tsx
@@ -6,24 +6,21 @@ import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
- DropdownMenuSeparator,
DropdownMenuTrigger,
} from "../ui/dropdown-menu";
-import Link from "next/link";
import { RenameProjectDialog } from "@/project/components/rename-project-dialog";
import { DeleteProjectDialog } from "@/project/components/delete-project-dialog";
import { useRouter } from "next/navigation";
-import { FaDiscord } from "react-icons/fa6";
import { ExportButton } from "./export-button";
-import { FeedbackPopover } from "@/feedback/components/feedback-popover";
+import { VersionsButton } from "@/versions/components/versions-popover";
import { ThemeToggle } from "../theme-toggle";
import { DEFAULT_LOGO_URL } from "@/site/brand";
-import { SOCIAL_LINKS } from "@/site/social";
import { toast } from "sonner";
import { useEditor } from "@/editor/use-editor";
-import { CommandIcon, Logout05Icon } from "@hugeicons/core-free-icons";
+import { CommandIcon, Download01Icon, Logout05Icon } from "@hugeicons/core-free-icons";
import { HugeiconsIcon } from "@hugeicons/react";
import { ShortcutsDialog } from "@/actions/components/shortcuts-dialog";
+import { invokeAction } from "@/actions";
import Image from "next/image";
import { cn } from "@/utils/ui";
@@ -35,7 +32,7 @@ export function EditorHeader() {
<EditableProjectName />
</div>
<nav className="flex items-center gap-2">
- <FeedbackPopover />
+ <VersionsButton />
<ExportButton />
<ThemeToggle />
</nav>
@@ -137,16 +134,11 @@ function ProjectDropdown() {
Shortcuts
</DropdownMenuItem>
- <DropdownMenuSeparator />
-
- <DropdownMenuItem asChild icon={<FaDiscord className="size-4!" />}>
- <Link
- href={SOCIAL_LINKS.discord}
- target="_blank"
- rel="noopener noreferrer"
- >
- Discord
- </Link>
+ <DropdownMenuItem
+ onClick={() => invokeAction("export-project-archive")}
+ icon={<HugeiconsIcon icon={Download01Icon} />}
+ >
+ Export project
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>