all repos — caroster @ 68430377196034bec52512f4676e78f5c9edd770

[Octree] Group carpool to your event https://caroster.io

frontend/stores/useRedirectUrl.ts (view raw)

 1import create from 'zustand';
 2import {persist} from 'zustand/middleware';
 3
 4type State = {
 5  redirectUrl: string | null;
 6  setRedirectUrl: (redirectUrl: string) => void;
 7  getRedirectUrl: () => string;
 8};
 9
10const useRedirectUrlStore = create<State>(
11  persist((set, get) => ({
12    redirectUrl: null,
13    setRedirectUrl: redirectUrl => set({redirectUrl}),
14    getRedirectUrl: () => {
15      const redirectUrl = get().redirectUrl;
16      set({redirectUrl: null});
17      return redirectUrl;
18    },
19  })),
20  {
21    name: 'currentUrl',
22    getStorage: () => sessionStorage,
23  }
24);
25
26export default useRedirectUrlStore;