Skip to content

Commit 65c8b2b

Browse files
Merge pull request #104 from autonomys/feat-add-persistent-storage-zustand
feat: ✨ add persist to zustand store
2 parents 381d42d + c98d928 commit 65c8b2b

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

Diff for: web-app/store/useStore.ts

+18-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// store/useStore.ts
22
import { Network, networks } from '@autonomys/auto-utils'
33
import { create } from 'zustand'
4+
import { createJSONStorage, persist } from 'zustand/middleware'
45

56
export enum NetworkOptions {
67
AUTO_EVM = 'auto-evm-taurus',
@@ -11,12 +12,23 @@ interface NetworkState {
1112
network: NetworkOptions
1213
setNetwork: (network: NetworkOptions) => void
1314
networks: Network[]
15+
version: number
1416
setNetworks: (networks: Network[]) => void
1517
}
1618

17-
export const useNetworkStore = create<NetworkState>((set) => ({
18-
network: NetworkOptions.AUTO_EVM,
19-
setNetwork: (network: NetworkOptions) => set({ network }),
20-
networks: networks,
21-
setNetworks: (networks: Network[]) => set({ networks })
22-
}))
19+
export const useNetworkStore = create<NetworkState>()(
20+
persist(
21+
(set) => ({
22+
network: NetworkOptions.AUTO_EVM,
23+
setNetwork: (network: NetworkOptions) => set({ network }),
24+
networks: networks,
25+
version: 1,
26+
setNetworks: (networks: Network[]) => set({ networks })
27+
}),
28+
{
29+
name: 'network-storage',
30+
storage: createJSONStorage(() => localStorage),
31+
version: 1
32+
}
33+
)
34+
)

0 commit comments

Comments
 (0)