diff --git a/app/web/src/nova/ed/panel/header/right/responsive-toggle.tsx b/app/web/src/nova/ed/panel/header/right/responsive-toggle.tsx index 2620ca8e..c80fbfc8 100644 --- a/app/web/src/nova/ed/panel/header/right/responsive-toggle.tsx +++ b/app/web/src/nova/ed/panel/header/right/responsive-toggle.tsx @@ -20,6 +20,15 @@ export const ResponsiveToggle = () => { p.render(); }; + const mroot = p.page.doc?.getMap("map")?.get("root"); + const responsive = mroot?.get("responsive"); + if (responsive && responsive !== p.mode) { + p.mode = responsive; + w.isMobile = responsive === "mobile"; + w.isDesktop = responsive === "desktop"; + localStorage.setItem("prasi-editor-mode", responsive); + } + const box = { mobile: { onClick() { @@ -27,6 +36,7 @@ export const ResponsiveToggle = () => { w.isMobile = true; w.isDesktop = false; localStorage.setItem("prasi-editor-mode", "mobile"); + mroot?.set("responsive", "mobile"); render(); }, className: cx(mode === "mobile" && activeModeClassName), @@ -44,6 +54,7 @@ export const ResponsiveToggle = () => { d="M4 2.5a.5.5 0 01.5-.5h6a.5.5 0 01.5.5v10a.5.5 0 01-.5.5h-6a.5.5 0 01-.5-.5v-10zM4.5 1A1.5 1.5 0 003 2.5v10A1.5 1.5 0 004.5 14h6a1.5 1.5 0 001.5-1.5v-10A1.5 1.5 0 0010.5 1h-6zM6 11.65a.35.35 0 100 .7h3a.35.35 0 100-.7H6z" clipRule="evenodd" > + {mroot?.get("responsive")} ), }, @@ -53,6 +64,8 @@ export const ResponsiveToggle = () => { w.isMobile = false; w.isDesktop = true; localStorage.setItem("prasi-editor-mode", "desktop"); + + mroot?.set("responsive", "desktop"); render(); }, className: cx(mode === "desktop" && activeModeClassName), diff --git a/app/web/src/nova/ed/panel/popup/page/page-tree.tsx b/app/web/src/nova/ed/panel/popup/page/page-tree.tsx index b86f6654..6011c90b 100644 --- a/app/web/src/nova/ed/panel/popup/page/page-tree.tsx +++ b/app/web/src/nova/ed/panel/popup/page/page-tree.tsx @@ -19,6 +19,11 @@ export const edPageTreeRender: NodeRender = ( const item = node.data; if (!item) return <>; + if (p.page.cur.id === item.id) { + p.page.cur.url = item.url || ""; + p.page.cur.name = item.name || ""; + } + return (
; component_ids?: string[]; + responsive?: "mobile" | "desktop"; }>; export type DPage = TypedDoc<{