import { createPersistStore } from "../utils/store";

const state = {
  documents: [] as {
    id: string,
    name: string,
    url: string,
  }[],
  isChatActive: true,
  showMenu: false,
  selectedAppId: "",
  currentSession: {
    appId: '',
    dialogName: '',
    id: '',
    messages: [],
  },
};

export const useGlobalStore = createPersistStore(
  { ...state },
  (set, get) => ({
    setDocuments(list: {
      id: string,
      name: string,
      url: string,
    }[]) {
      set({ documents: list });
    },
    setIsChatActive(status: boolean) {
      set({ isChatActive: status });
    },
    setShowMenu(status: boolean) {
      set({ showMenu: status });
    },
    setSelectedAppId(appId: string) {
      set({ selectedAppId: appId });
    },
    setCurrentSession(session: any) {
      set({ currentSession: session });
    },
  }),
  {
    name: "Global",
    version: 1,
  },
);