wallet-connect-web-examples/wallets/react-wallet-v2/src/store/SettingsStore.ts
2022-02-25 15:48:54 +02:00

52 lines
898 B
TypeScript

import { proxy } from 'valtio'
/**
* Types
*/
interface State {
testNets: boolean
account: number
eip155Address: string
cosmosAddress: string
}
/**
* State
*/
const state = proxy<State>({
testNets: typeof localStorage !== 'undefined' ? Boolean(localStorage.getItem('TEST_NETS')) : true,
account: 0,
eip155Address: '',
cosmosAddress: ''
})
/**
* Store / Actions
*/
const SettingsStore = {
state,
setAccount(value: number) {
state.account = value
},
setEIP155Address(eip155Address: string) {
state.eip155Address = eip155Address
},
setCosmosAddress(cosmosAddresses: string) {
state.cosmosAddress = cosmosAddresses
},
toggleTestNets() {
state.testNets = !state.testNets
if (state.testNets) {
localStorage.setItem('TEST_NETS', 'YES')
} else {
localStorage.removeItem('TEST_NETS')
}
}
}
export default SettingsStore