From 848c4b7f6a7d069a23082d5b99641cf56a1abc03 Mon Sep 17 00:00:00 2001
From: Jicheng Lu <103353@smsassist.com>
Date: Mon, 4 May 2026 13:55:49 -0500
Subject: [PATCH] add full screen for embedding page
---
src/lib/common/embedding/EmbeddingPage.svelte | 34 +++++++++++++++++++
src/lib/helpers/types/pluginTypes.js | 1 +
.../agent/[embed]/[embedType]/+page.svelte | 6 ----
.../[embed]/[embedType]/+page.svelte | 6 ++--
4 files changed, 38 insertions(+), 9 deletions(-)
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 = '';
-
+