global.ts 773 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { createPersistStore } from "../utils/store";
  2. const state = {
  3. showMenu: false,
  4. selectedAppId: "",
  5. rehydrated: false,
  6. currentSession: {
  7. appId: '',
  8. dialogName: '',
  9. id: '',
  10. messages: [],
  11. },
  12. };
  13. export const useGlobalStore = createPersistStore(
  14. { ...state },
  15. (set, get) => ({
  16. setShowMenu(status: boolean) {
  17. set({ showMenu: status });
  18. },
  19. setSelectedAppId(appId: string) {
  20. set({ selectedAppId: appId });
  21. },
  22. setCurrentSession(session: any) {
  23. set({ currentSession: session });
  24. },
  25. }),
  26. {
  27. name: "Global",
  28. version: 1,
  29. onRehydrateStorage() {
  30. return (state) => {
  31. // mark rehydration finished
  32. useGlobalStore.setState({ rehydrated: true } as any);
  33. };
  34. },
  35. },
  36. );