import { createContext, useContext, type ReactNode } from "react"; import { useAppStore } from "../../shared/store/appStore"; import controls from "../../shared/ui/Controls.module.scss"; import styles from "./CursorSettings.module.scss"; const CaReady = createContext(false); const ModelsReady = createContext(false); export function CursorCaProvider({ children }: { children: ReactNode }) { const { cursorHarness } = useAppStore(); return {children}; } export function CursorCaGate({ busy, waitingForRefresh, onInitialize, onRefresh, children }: { busy: boolean; waitingForRefresh: boolean; onInitialize: () => void; onRefresh: () => void; children: ReactNode }) { const ready = useContext(CaReady); const { cursorHarness } = useAppStore(); if (ready) return children; const installedLocally = cursorHarness?.ca === "untrusted"; return
{installedLocally ? t("需要在系统中信任本地 CA") : t("需要先初始化本地 CA")} {installedLocally ? t("请在终端中粘贴授权命令并输入密码,完成后点击下方按钮") : t("CA 仅保存在本机,用于安全解析 Cursor 的 HTTPS 请求。")}
; } export function CursorModelProvider({ children }: { children: ReactNode }) { const { models } = useAppStore(); return 0}>{children}; } export function CursorModelGate({ busy, previewingImport, onAdd, onImport, children }: { busy: boolean; previewingImport: boolean; onAdd: () => void; onImport: () => void; children: ReactNode }) { const ready = useContext(ModelsReady); if (ready) return children; return
{t("还没有可供 Cursor 使用的模型")} {t("Cursor 接管已生效;添加模型配置后即可使用 BYOK 模型。")}
; }