commons/client/src/components/molecules/NetworkSwitcher.tsx

31 lines
1.0 KiB
TypeScript

import React, { useState, useContext } from 'react'
import { CONNECTIONS } from '../../config'
import { User } from '../../context'
/* NETWORK SWITCHER */
const urlParams = new URLSearchParams(window.location.search)
const networkFromParam = urlParams.get('network') || 'pacific'
// console.log(Object.keys(CONNECTIONS))
export function NetworkSwitcher() {
const userContext = useContext(User)
const switchNetwork = (networkName: string): any => {
const idx = Object.keys(CONNECTIONS).indexOf(networkName)
userContext.switchNetwork(networkName, Object.values(CONNECTIONS)[idx]) // TypeScript won't let me access CONNECTIONS[networkName] directly
}
return (
<div>
<ul>
{Object.keys(CONNECTIONS).map((networkName, i) => (
<li key={i} onClick={() => switchNetwork(networkName)}>
{networkName}
</li>
))}
</ul>
<em>{userContext.network}</em>
</div>
)
}