Skip to content

Commit

Permalink
move noMetamask check into useNetworkCheck
Browse files Browse the repository at this point in the history
  • Loading branch information
weeebr committed Mar 6, 2023
1 parent a8b6ed8 commit 8e3ef12
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 22 deletions.
22 changes: 3 additions & 19 deletions src/ui/internal/components/ScopedModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ import {
} from "../../../ui/internal/components/Modal";
import { CloseIcon } from "../assets/CloseIcon";
import { useNetworkCheck } from "../hooks/useNetworkCheck";
import { isWeb3WalletInstalled } from "../../../wallet";
import { ModalError } from "./ModalError";
import { metamaskUrl } from "../../../helpers/constants";
import { Forbidden } from "./Forbidden";
import { ModalBodySkeleton } from "./ModalBodySkeleton";
import { stopAsync } from "../hooks/useAsync";
Expand All @@ -30,7 +27,6 @@ export const ScopedModal: React.FunctionComponent<ScopedModalProps> = (
props,
): JSX.Element => {
const { WithNetworkCheck } = useNetworkCheck();
const metamaskInstalled = isWeb3WalletInstalled();
const { isForbidden = false, reason } = props.modalAction || {};
const [bodyIsEmpty, setBodyIsEmpty] = React.useState(true);

Expand All @@ -52,13 +48,8 @@ export const ScopedModal: React.FunctionComponent<ScopedModalProps> = (
{isForbidden && (
<Forbidden description={reason} onClose={props.onClose} />
)}
{!metamaskInstalled && (
<ModalError
onClick={() => window.open(metamaskUrl)}
type="noMetaMask"
/>
)}
{!isForbidden && metamaskInstalled && (

{!isForbidden && (
<ModalBody>
{bodyIsEmpty && <ModalBodySkeleton />}
{!bodyIsEmpty && (
Expand All @@ -73,14 +64,7 @@ export const ScopedModal: React.FunctionComponent<ScopedModalProps> = (
)}
</>,
),
[
props.body,
props.footer,
WithNetworkCheck,
metamaskInstalled,
isForbidden,
reason,
],
[props.body, props.footer, WithNetworkCheck, isForbidden, reason],
);

return (
Expand Down
12 changes: 9 additions & 3 deletions src/ui/internal/hooks/useNetworkCheck.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
import React from "react";
import {
isCorrectNetworkConnected,
isWeb3WalletInstalled,
startListeningNetwork,
stopListeningNetwork,
switchNetwork,
} from "wallet";
import { ModalError } from "ui/internal/components/ModalError";
import { DefaultNetwork } from "typing";
import { metamaskUrl } from "../../../helpers/constants";

export const useNetworkCheck = () => {
const metamaskInstalled = isWeb3WalletInstalled();
const [isCorrectNetwork, setIsCorrectNetwork] = React.useState<
boolean | undefined
>(undefined);
Expand Down Expand Up @@ -41,14 +44,17 @@ export const useNetworkCheck = () => {

const WithNetworkCheck = React.useCallback(
(Body: JSX.Element) =>
isCorrectNetwork === undefined ? (
<></>
!metamaskInstalled ? (
<ModalError
onClick={() => window.open(metamaskUrl)}
type="noMetaMask"
/>
) : isCorrectNetwork ? (
Body
) : (
<ModalError type="wrongNetwork" onClick={onNetworkSwitch} />
),
[isCorrectNetwork],
[isCorrectNetwork, metamaskInstalled],
);

return {
Expand Down

0 comments on commit 8e3ef12

Please sign in to comment.