diff --git a/src/lib/common/embedding/EmbeddingPage.svelte b/src/lib/common/embedding/EmbeddingPage.svelte index 7d9c8dda..cf8bd979 100644 --- a/src/lib/common/embedding/EmbeddingPage.svelte +++ b/src/lib/common/embedding/EmbeddingPage.svelte @@ -13,6 +13,39 @@ /** @type {string} */ let curSlug = $state(''); + /** @type {boolean} */ + let fullScreen = $state(false); + + $effect(() => { + const footer = document.querySelector('.footer'); + const pageContent = document.querySelector('.page-content'); + + if (fullScreen) { + if (footer instanceof HTMLElement) { + footer.style.display = 'none'; + } + if (pageContent instanceof HTMLElement) { + pageContent.style.paddingBottom = '0'; + } + } else { + if (footer instanceof HTMLElement) { + footer.style.display = ''; + } + if (pageContent instanceof HTMLElement) { + pageContent.style.paddingBottom = ''; + } + } + + return () => { + if (footer instanceof HTMLElement) { + footer.style.display = ''; + } + if (pageContent instanceof HTMLElement) { + pageContent.style.paddingBottom = ''; + } + }; + }); + // @ts-ignore let slug = $derived($page.params[slugName]); @@ -34,6 +67,7 @@ found = subFound?.subMenu?.find(x => getCleanPath(x.link) === url); label = found?.label || ''; } + fullScreen = found?.embeddingInfo?.fullScreen || false; embed(found?.embeddingInfo || null); }); diff --git a/src/lib/helpers/types/pluginTypes.js b/src/lib/helpers/types/pluginTypes.js index 95fb65d7..02d9475a 100644 --- a/src/lib/helpers/types/pluginTypes.js +++ b/src/lib/helpers/types/pluginTypes.js @@ -30,6 +30,7 @@ * @property {string?} [htmlTag] * @property {string?} [htmlStyle] * @property {string?} [appendTokenName] + * @property {boolean} fullScreen */ /** diff --git a/src/routes/page/agent/[embed]/[embedType]/+page.svelte b/src/routes/page/agent/[embed]/[embedType]/+page.svelte index 0b29c39d..4afeac50 100644 --- a/src/routes/page/agent/[embed]/[embedType]/+page.svelte +++ b/src/routes/page/agent/[embed]/[embedType]/+page.svelte @@ -9,12 +9,6 @@ let label = $state(''); - - - - import { _ } from 'svelte-i18n'; - import { page } from '$app/stores'; + import { page } from '$app/state'; import lodash from 'lodash'; import HeadTitle from "$lib/common/shared/HeadTitle.svelte"; import Breadcrumb from '$lib/common/shared/Breadcrumb.svelte'; import EmbeddingPage from '$lib/common/embedding/EmbeddingPage.svelte'; - /** @type {string?} */ + /** @type {string | undefined} */ let label = ''; - +