Files
mnote/wolai-frontend/src/store/ai-agent-ui.ts
T

33 lines
1.0 KiB
TypeScript
Raw Normal View History

2026-01-10 23:08:56 +08:00
"use client";
import { create } from "zustand";
type AiAgentUiState = {
2026-04-13 19:21:42 +08:00
globalAgentOpen: boolean;
2026-01-10 23:08:56 +08:00
documentAgentAvailable: boolean;
documentAgentOpen: boolean;
2026-04-13 19:21:42 +08:00
setGlobalAgentOpen: (open: boolean) => void;
toggleGlobalAgentOpen: () => void;
2026-01-10 23:08:56 +08:00
setDocumentAgentAvailable: (available: boolean) => void;
setDocumentAgentOpen: (open: boolean) => void;
toggleDocumentAgentOpen: () => void;
};
export const useAiAgentUiStore = create<AiAgentUiState>((set, get) => ({
2026-04-13 19:21:42 +08:00
globalAgentOpen: false,
2026-01-10 23:08:56 +08:00
documentAgentAvailable: false,
documentAgentOpen: false,
2026-04-13 19:21:42 +08:00
setGlobalAgentOpen: (open) => set({ globalAgentOpen: open }),
toggleGlobalAgentOpen: () => {
const s = get();
set({ globalAgentOpen: !s.globalAgentOpen });
},
2026-01-10 23:08:56 +08:00
setDocumentAgentAvailable: (available) => set({ documentAgentAvailable: available }),
setDocumentAgentOpen: (open) => set({ documentAgentOpen: open }),
toggleDocumentAgentOpen: () => {
const s = get();
if (!s.documentAgentAvailable) return;
set({ documentAgentOpen: !s.documentAgentOpen });
},
}));