fix: sync llmwiki embed theme

This commit is contained in:
Administrator committed 2026-08-13 10:25:49 +08:00
1 parent c4fd9dd7da
commit e189349eeb
2 files changed
+48 -5

No files matched your search

@@ -28,7 +28,7 @@ function cssVar(name: string, fallback = ""): string {
function collectThemePayload(): DeerFlowThemePayload {
const isDark =
document.documentElement.classList.contains("dark") ||
document.documentElement.dataset.theme === "dark";
document.documentElement.getAttribute("theme-mode") === "dark";
return {
type: "deerflow-weknora-theme",
theme: isDark ? "dark" : "light",
@@ -91,7 +91,9 @@ export function WeKnoraKnowledgeDetailPage() {
const path = session.frame_path.startsWith("/")
? session.frame_path
: `/${session.frame_path}`;
setFrameSrc(`${base}${path}`);
const nextUrl = new URL(`${base}${path}`);
nextUrl.searchParams.set("theme", collectThemePayload().theme);
setFrameSrc(nextUrl.toString());
})
.catch((error: unknown) => {
if (cancelled) return;
@@ -112,7 +114,7 @@ export function WeKnoraKnowledgeDetailPage() {
const observer = new MutationObserver(send);
observer.observe(document.documentElement, {
attributes: true,
attributeFilter: ["class", "style", "data-theme"],
attributeFilter: ["class", "style", "data-theme", "theme-mode"],
});
window.addEventListener("storage", send);
return () => {