summaryrefslogtreecommitdiff
path: root/apps/web/src/components/editor/layout-guide-overlay.tsx
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-08-04 17:17:48 +0200
committerMaze Winther <mazewinther@gmail.com>2025-08-04 17:17:48 +0200
commit9ec5a022520aa3a2d1e18b4e3b4056f2ff5dcd35 (patch)
tree3fb53ec6ca8ead167aed3ba69c5f8b0dfd40b6ef /apps/web/src/components/editor/layout-guide-overlay.tsx
parent0386624ff5fd6d82d64d6b103ddc1a7e5045f45b (diff)
downloadopencut-9ec5a022520aa3a2d1e18b4e3b4056f2ff5dcd35.tar.gz
feat: layout guide for tiktok
Diffstat (limited to 'apps/web/src/components/editor/layout-guide-overlay.tsx')
-rw-r--r--apps/web/src/components/editor/layout-guide-overlay.tsx27
1 files changed, 27 insertions, 0 deletions
diff --git a/apps/web/src/components/editor/layout-guide-overlay.tsx b/apps/web/src/components/editor/layout-guide-overlay.tsx
new file mode 100644
index 00000000..ff4cde57
--- /dev/null
+++ b/apps/web/src/components/editor/layout-guide-overlay.tsx
@@ -0,0 +1,27 @@
+"use client";
+
+import { useEditorStore } from "@/stores/editor-store";
+import Image from "next/image";
+
+function TikTokGuide() {
+ return (
+ <div className="absolute inset-0 pointer-events-none">
+ <Image
+ src="/platform-guides/tiktok-blueprint.png"
+ alt="TikTok layout guide"
+ className="absolute inset-0 w-full h-full object-contain"
+ draggable={false}
+ fill
+ />
+ </div>
+ );
+}
+
+export function LayoutGuideOverlay() {
+ const { layoutGuide } = useEditorStore();
+
+ if (layoutGuide.platform === null) return null;
+ if (layoutGuide.platform === "tiktok") return <TikTokGuide />;
+
+ return null;
+}