Skip to content

Commit

Permalink
fix(reference): fix for wallet ref pages (#1571)
Browse files Browse the repository at this point in the history
* fix(reference): fix for wallet ref pages

* fix(reference): refactored func names
  • Loading branch information
TrofimovAnton85 authored Sep 24, 2024
1 parent 2ab87a9 commit 645627d
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 19 deletions.
4 changes: 2 additions & 2 deletions src/components/NavbarWallet/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const NavbarWalletComponent: FC = ({

const COPY_TEXT = "Copy to clipboard";
const COPIED_TEXT = "Copied!";
const { metaMaskAccount, sdk, metaMaskConnectHandler, metaMaskDisconnect } =
const { metaMaskAccount, sdk, metaMaskWalletIdConnectHandler, metaMaskDisconnect } =
useContext(MetamaskProviderContext);
const [dropdownOpen, setDropdownOpen] = useState(false);
const [copyMessage, setCopyMessage] = useState(COPY_TEXT);
Expand Down Expand Up @@ -67,7 +67,7 @@ const NavbarWalletComponent: FC = ({
return !metaMaskAccount ? (
<Button
thin
onClick={metaMaskConnectHandler}
onClick={metaMaskWalletIdConnectHandler}
className={styles.navbarButton}
>
{!isExtensionActive ? "Install MetaMask" : "Connect MetaMask"}
Expand Down
10 changes: 7 additions & 3 deletions src/components/ParserOpenRPC/AuthBox/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,19 @@ import clsx from "clsx";
import { trackClickForSegment } from "@site/src/lib/segmentAnalytics";
import { MetamaskProviderContext } from "@site/src/theme/Root";

export const AuthBox = () => {
const { metaMaskConnectHandler } = useContext(MetamaskProviderContext);
interface AuthBoxProps {
isMetamaskNetwork?: boolean;
}

export const AuthBox = ({ isMetamaskNetwork = false }: AuthBoxProps) => {
const { metaMaskConnectHandler, metaMaskWalletIdConnectHandler } = useContext(MetamaskProviderContext);
const connectHandler = () => {
trackClickForSegment({
eventName: "Connect wallet",
clickType: "Connect wallet",
userExperience: "B",
});
metaMaskConnectHandler();
isMetamaskNetwork ? metaMaskConnectHandler() : metaMaskWalletIdConnectHandler();
};
return (
<div className={styles.msgWrapper}>
Expand Down
4 changes: 2 additions & 2 deletions src/components/ParserOpenRPC/ProjectsBox/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ const ProjectsBox = () => {
projects,
metaMaskAccount,
walletLinked,
metaMaskConnectHandler,
metaMaskWalletIdConnectHandler,
walletLinkUrl,
} = useContext(MetamaskProviderContext);
const options = Object.keys(projects).map((v) => ({
Expand Down Expand Up @@ -98,7 +98,7 @@ const ProjectsBox = () => {
<Button
thin
className={styles.connectButton}
onClick={metaMaskConnectHandler}
onClick={metaMaskWalletIdConnectHandler}
>
Connect Wallet
</Button>
Expand Down
2 changes: 1 addition & 1 deletion src/components/ParserOpenRPC/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ export default function ParserOpenRPC({
<div className={global.colRight}>
<div className={global.stickyCol}>
{pathname.startsWith(REF_PATH) && <ProjectsBox />}
{!pathname.startsWith(REF_PATH) && !metaMaskAccount && <AuthBox />}
{!pathname.startsWith(REF_PATH) && !metaMaskAccount && <AuthBox isMetamaskNetwork={isMetamaskNetwork} />}
<RequestBox
isMetamaskInstalled={!!metaMaskAccount}
method={method}
Expand Down
25 changes: 14 additions & 11 deletions src/theme/Root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ interface IMetamaskProviderContext {
setProjects: (arg: { [key: string]: Project }) => void;
metaMaskConnectHandler: () => Promise<void>;
metaMaskDisconnect: () => Promise<void>;
metaMaskWalletIdConnectHandler: () => Promise<void>;
userId: string | undefined;
metaMaskAccount: string;
setMetaMaskAccount: (arg: string[] | string) => void;
Expand All @@ -64,6 +65,7 @@ export const MetamaskProviderContext = createContext<IMetamaskProviderContext>({
setProjects: () => {},
metaMaskConnectHandler: () => new Promise(() => {}),
metaMaskDisconnect: () => new Promise(() => {}),
metaMaskWalletIdConnectHandler: () => new Promise(() => {}),
userId: undefined,
metaMaskAccount: undefined,
setMetaMaskAccount: () => {},
Expand Down Expand Up @@ -123,6 +125,16 @@ export const LoginProvider = ({ children }) => {
} catch (e) {}
};

const metaMaskConnectHandler = async () => {
try {
const accounts = await sdk.connect();
setMetaMaskAccount(accounts);
if (accounts && accounts.length > 0) {
setMetaMaskAccount(accounts[0]);
}
} catch (e) {}
};

useEffect(() => {
const provider = sdk?.getProvider();
setMetaMaskProvider(provider);
Expand Down Expand Up @@ -180,17 +192,7 @@ export const LoginProvider = ({ children }) => {
}
}, []);

useEffect(() => {
if ((window as any)?.Sentry) {
(window as any)?.Sentry?.setUser({
name: metaMaskAccount,
id: metaMaskAccount,
username: metaMaskAccount,
});
}
}, [metaMaskAccount]);

const metaMaskConnectHandler = useCallback(async () => {
const metaMaskWalletIdConnectHandler = useCallback(async () => {
try {
setOpenAuthModal(true);
} catch (err) {
Expand Down Expand Up @@ -224,6 +226,7 @@ export const LoginProvider = ({ children }) => {
setProjects,
metaMaskConnectHandler,
metaMaskDisconnect,
metaMaskWalletIdConnectHandler,
userId,
metaMaskProvider,
setMetaMaskProvider,
Expand Down

0 comments on commit 645627d

Please sign in to comment.