21 lines
626 B
TypeScript
21 lines
626 B
TypeScript
|
|
/**
|
|||
|
|
* webViewStore.ts — 应用内网页容器(WebPage)的宿主无关状态。
|
|||
|
|
*
|
|||
|
|
* OS 桌面模式(/os)下容器走 os 窗口(core.web-view,openApp);
|
|||
|
|
* MainLayout / 浏览器模式(/console 等)下没有窗口系统,容器以
|
|||
|
|
* 全屏覆盖层形式渲染在 MainLayout 顶层,由本 store 驱动开关。
|
|||
|
|
*/
|
|||
|
|
import { create } from "zustand";
|
|||
|
|
|
|||
|
|
interface WebViewState {
|
|||
|
|
url: string | null;
|
|||
|
|
open: (url: string) => void;
|
|||
|
|
close: () => void;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export const useWebViewStore = create<WebViewState>((set) => ({
|
|||
|
|
url: null,
|
|||
|
|
open: (url) => set({ url }),
|
|||
|
|
close: () => set({ url: null }),
|
|||
|
|
}));
|