From d94bf77522c266a60fac209364989f5368da1b06 Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Thu, 2 Jul 2026 12:08:29 +0330 Subject: [PATCH] background video --- .../catalogue/components/CatalogPreview.tsx | 1 + src/pages/editor/components/EditorCanvas.tsx | 37 ++++++--- src/pages/editor/components/PagesPanel.tsx | 3 + src/pages/editor/components/SettingsPanel.tsx | 76 ++++++++++++++++++- src/pages/editor/store/editorStore.helpers.ts | 1 + src/pages/editor/store/editorStore.ts | 5 ++ src/pages/editor/store/editorStore.types.ts | 4 +- src/pages/viewer/components/BookPage.tsx | 48 +++++++++--- src/pages/viewer/components/BookViewer.tsx | 6 +- .../viewer/components/Magnifier/Magnifier.tsx | 1 + src/pages/viewer/types/index.ts | 3 +- src/pages/viewer/utils/dataTransformer.ts | 4 +- src/pages/viewer/utils/pageBackground.ts | 4 +- src/pages/viewer/utils/pageMediaUrls.ts | 4 + 14 files changed, 164 insertions(+), 33 deletions(-) diff --git a/src/pages/catalogue/components/CatalogPreview.tsx b/src/pages/catalogue/components/CatalogPreview.tsx index c1cacab..3a3333c 100644 --- a/src/pages/catalogue/components/CatalogPreview.tsx +++ b/src/pages/catalogue/components/CatalogPreview.tsx @@ -32,6 +32,7 @@ function getPageDataFromEditorPage(page: Page): PageData | null { backgroundColor: page.backgroundColor, backgroundGradient: page.backgroundGradient, backgroundImageUrl: page.backgroundImageUrl, + backgroundVideoUrl: page.backgroundVideoUrl, objects: page.objects, }, ], diff --git a/src/pages/editor/components/EditorCanvas.tsx b/src/pages/editor/components/EditorCanvas.tsx index ae40bf9..0daa528 100644 --- a/src/pages/editor/components/EditorCanvas.tsx +++ b/src/pages/editor/components/EditorCanvas.tsx @@ -76,6 +76,9 @@ const EditorCanvas = ({ catalogSize }: EditorCanvasProps) => { ? currentPage.backgroundColor : '#ffffff'; const bgGradient = currentPage?.backgroundGradient; + const hasVideoBackground = + currentPage?.backgroundType === "video" && + Boolean(currentPage.backgroundVideoUrl); const [bgImage] = useImage( currentPage?.backgroundType === 'image' @@ -527,10 +530,20 @@ const EditorCanvas = ({ catalogSize }: EditorCanvasProps) => {
+ {hasVideoBackground && ( +