fix: sync llmwiki embed theme
This commit is contained in:
1 parent
c4fd9dd7da
commit
e189349eeb
2 files changed
+48
-5
No files matched your search
+5
-3
@@ -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 () => {
|
||||
|
||||
Reference in new issue
Block a user