Initial commit with 🏗️ create-eth @ 2.0.4
This commit is contained in:
25
packages/nextjs/services/store/store.ts
Normal file
25
packages/nextjs/services/store/store.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { create } from "zustand";
|
||||
import scaffoldConfig from "~~/scaffold.config";
|
||||
import { ChainWithAttributes, NETWORKS_EXTRA_DATA } from "~~/utils/scaffold-eth";
|
||||
|
||||
/**
|
||||
* Zustand Store
|
||||
*
|
||||
* You can add global state to the app using this useGlobalState, to get & set
|
||||
* values from anywhere in the app.
|
||||
*
|
||||
* Think about it as a global useState.
|
||||
*/
|
||||
|
||||
type GlobalState = {
|
||||
targetNetwork: ChainWithAttributes;
|
||||
setTargetNetwork: (newTargetNetwork: ChainWithAttributes) => void;
|
||||
};
|
||||
|
||||
export const useGlobalState = create<GlobalState>(set => ({
|
||||
targetNetwork: {
|
||||
...scaffoldConfig.targetNetworks[0],
|
||||
...NETWORKS_EXTRA_DATA[scaffoldConfig.targetNetworks[0].id],
|
||||
},
|
||||
setTargetNetwork: (newTargetNetwork: ChainWithAttributes) => set(() => ({ targetNetwork: newTargetNetwork })),
|
||||
}));
|
||||
Reference in New Issue
Block a user