diff --git a/apps/web/src/components/PosterEditorPane.tsx b/apps/web/src/components/PosterEditorPane.tsx
index b931305f..70b528a0 100644
--- a/apps/web/src/components/PosterEditorPane.tsx
+++ b/apps/web/src/components/PosterEditorPane.tsx
@@ -47,6 +47,7 @@ import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
+ DropdownMenuLabel,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu";
@@ -1445,6 +1446,16 @@ export default function PosterEditorPane({
{toast}
)}
+ {document.sourceMemoId && (
+
+ )}
{toolButton(
t("poster.save"),
saving ? (
@@ -1583,6 +1594,39 @@ export default function PosterEditorPane({
+
+
+
+
+
+
+ {document.width} × {document.height} px
+
+ { setAutoFit(true); setZoom(fitZoom); }}>
+ {t("poster.design.fit")}
+
+
+ { setAutoFit(false); setZoom(Math.max(0.1, zoom / 1.2)); }}>
+ {t("poster.design.zoomOut")}
+
+ { setAutoFit(false); setZoom(Math.min(2, zoom * 1.2)); }}>
+ {t("poster.design.zoomIn")}
+
+
+ {[0.25, 0.5, 0.75, 1, 1.5, 2].map((value) => (
+ { setAutoFit(false); setZoom(value); }}>
+ {value * 100}%
+
+ ))}
+
+
+ {t(selectedIds.length ? "poster.design.selectionCount" : "poster.design.canvasHint", { count: selectedIds.length })}
+
+
+
{toolButton(
t("poster.text"),
@@ -1978,75 +2022,6 @@ export default function PosterEditorPane({
)}
-