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;