mirror of
https://github.com/MetaFam/TheGame.git
synced 2026-01-14 00:48:18 -05:00
* linting 🃡 * removing MetaMask specificity 🃢 * moving `StrictMode` to Next.js 🃣 * compressing & commafying 🃤 * upgrading eslint 👘 * removing preface from guild name 🃥 * removing unnecessary ESLint `no-console` directives 🌂 * fixing a typo in a comment 🃦 * updating GraphQL codegen for paid subgraph 🦏 * replacing Discord invite link 📌 * passing through The Graph API token to Docker ♾ * setting Docker ARG to set ENV 📟 * missed a file rename in frontend Docker config 🦀 * adding ts-node to fix Docker build issue ⸙ * trying to narrow down the 500 error's source in the test instance ⛄ * exposing The Graph API token on Cloud Run 🦃 * more logging to try & find server error 🐠 * more logging 🧱 * trying to run Node.js in development mode on Cloud Run 🎁 * reconfiguring frontend Dockerfile to also run the dev environment 🌿 * dev mode seems to function 🧨 * 768MiB wasn't enough memory 🍁 * 1GiB wasn't enough memory 🔱 * 1.5GiB was interpreted as 1GiB 🥃 * 1536MiB wasn't enough memory 👾 * 2GiB wasn't enough memory 🧲 * 3GiB wasn't enough memory 🆎 * 4GiB might have been enough, but it still doesn't load 🧻 * 5GiB requires two CPUs 📝 * giving up on dev server; unexplained HTTP 429s 🎨 * disabling Honeybadger in test instances 📮 * trying an `ErrorBoundary` to gather more info 🕷 * setting GraphQL endpoint 🇲🇰 * exposing environment variables ⛈ * trying to expose `` 📻 * the Next compiled version still references `node_modules` 🦢 * removing Alchemy API key from sources ⛺ * trying a different Docker build action 💉 * removing logging 🍿 * switching to Docker Buildx 👠 * missed an escaped newline 🗿 * trying a newer gcloud setup action 🦝 * hopefully fixing authentication 📴 * bunch of changes to the meTokens profile section 🦜 * need credentials file 🐆 * hunting for layout load error & pushing debug statements to testing 🥁 * updating eslint 💓 * trying to debug the missing Breadchain Coop 🧀 * apparently chose the wrong changeset 🐚 * removing logging 🥀
42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
import { Button, MetaMaskIcon, Tooltip } from '@metafam/ds';
|
|
import { useWeb3 } from 'lib/hooks';
|
|
import React, { useCallback, useState } from 'react';
|
|
import { switchChain } from 'utils/metamask';
|
|
import { NETWORK_INFO } from 'utils/networks';
|
|
|
|
export const SwitchNetworkButton: React.FC<{ chainId?: string }> = ({
|
|
chainId = '0x1',
|
|
}) => {
|
|
const { connected } = useWeb3();
|
|
const networkInfo = NETWORK_INFO[chainId];
|
|
|
|
const [isLoading, setLoading] = useState(false);
|
|
|
|
const onClick = useCallback(async () => {
|
|
if (connected) {
|
|
setLoading(true);
|
|
await switchChain(chainId);
|
|
setLoading(false);
|
|
}
|
|
}, [connected, chainId]);
|
|
|
|
if (!connected || !networkInfo) return null;
|
|
|
|
const { name } = networkInfo;
|
|
|
|
return (
|
|
<Tooltip label="Click to switch network." hasArrow>
|
|
<Button
|
|
size="sm"
|
|
fontSize="md"
|
|
px={2}
|
|
colorScheme="pink"
|
|
leftIcon={<MetaMaskIcon />}
|
|
{...{ isLoading, onClick }}
|
|
>
|
|
{name}
|
|
</Button>
|
|
</Tooltip>
|
|
);
|
|
};
|