import { Menu, Transition } from '@headlessui/react' import { useRouter } from 'next/router' import { Fragment, useCallback, useContext, useEffect } from 'react' import { ClusterContext, DEFAULT_CLUSTER } from '../contexts/ClusterContext' import Arrow from '@images/icons/down.inline.svg' import { PythCluster } from '@pythnetwork/client' const ClusterSwitch = ({ light }: { light?: boolean | null }) => { const router = useRouter() const { cluster, setCluster } = useContext(ClusterContext) const handleChange = useCallback( (event: any) => { if (event.target.value) { router.query.cluster = event.target.value setCluster(event.target.value) router.push( { pathname: router.pathname, query: router.query, }, undefined, { scroll: false } ) } }, [setCluster, router] ) useEffect(() => { router?.query?.cluster ? setCluster(router.query.cluster as PythCluster) : setCluster(DEFAULT_CLUSTER) }, [setCluster, router]) const clusters = [ { value: 'pythnet', name: 'pythnet', }, { value: 'mainnet-beta', name: 'mainnet-beta', }, { value: 'testnet', name: 'testnet', }, { value: 'devnet', name: 'devnet', }, { value: 'pythtest-conformance', name: 'pythtest-conformance', }, { value: 'pythtest-crosschain', name: 'pythtest-crosschain', }, ] return (
) } export default ClusterSwitch