import {create} from "zustand"; type ExtensionState = { isInstalled: boolean; // 中文备注:是否已完成“检测扩展是否安装”的流程(避免页面刚刷新时先闪一下“安装扩展”卡片) checked: boolean; isFirst: boolean; isFetching: boolean; lastScanError: string; extensionInfo: ExtensionInfo; setInstalled: (status: boolean) => void; setChecked: (value: boolean) => void; setFetching: (status: boolean) => void; setLastScanError: (message: string) => void; } type ExtensionInfo = { downloadUrl: string; chromeUrl: string; } const useExtensionStore = create((set) => ({ isInstalled: false, checked: false, isFirst: true, isFetching: false, lastScanError: "", extensionInfo: { downloadUrl: "/extensions/storeai-extension-v0.1.4.zip", chromeUrl:"chrome://extensions" }, setInstalled: (value) => set({isInstalled: value}), setChecked: (value) => set({checked: value}), setFetching: (value) => set({isFetching: value}), setLastScanError: (value) => set({lastScanError: value}), })) export default useExtensionStore