源文件超过50行,已替换为不超过50行的伪代码。辅助函数为逻辑抽象,不直接执行。
1function createSidebarState(config, viewport, cookies) {2 const defaults = getSidebarDefaults(config, viewport);3 const state = { ...defaults, ...cookies.read("sidebars") };45 function setRightPanel(panel) {6 // 功能未开放时,聊天入口降级为隐藏。7 state.right = panel === "chat" && !config.chatEnabled8 ? "hidden"9 : panel;1011 if (viewport.isNarrow && state.right !== "hidden") {12 state.left = "minimized";13 }14 cookies.write("sidebars", state);15 }1617 function expandLeftPanel() {18 state.left = "expanded";19 if (viewport.isNarrow) state.right = "hidden";20 cookies.write("sidebars", state);21 }2223 return { state, setRightPanel, expandLeftPanel };24}已确认说明
- 侧栏默认值及持久化
- 右栏状态经过白名单和能力检查
- 窄屏避免左右栏同时抢空间
- 通知入口复用widget开关
- Service Worker注册有10秒就绪边界