返回 DeepSeek-Reasonix
useNativeSettingsEvent.ts
根目录 / desktop / frontend / src / app-runtime / useNativeSettingsEvent.ts
1 import { useEffect } from "react";
2 import { desktopHost } from "../lib/desktopHost";
3 import { useAppNavigationStore } from "../store/appNavigation";
4
5 export function useNativeSettingsEvent(input: {
6 closeTransientOverlays: () => void;
7 setSettingsTarget: (target: ReturnType<typeof useAppNavigationStore.getState>["lastSettingsTarget"]) => void;
8 }) {
9 const { closeTransientOverlays, setSettingsTarget } = input;
10 useEffect(() => {
11 const host = desktopHost();
12 if (host.kind === "none") return;
13 return host.events.on("app:open-settings", () => {
14 closeTransientOverlays();
15 setSettingsTarget(useAppNavigationStore.getState().lastSettingsTarget);
16 });
17 }, [closeTransientOverlays, setSettingsTarget]);
18 }
19
19 lines TYPESCRIPT