Skip to content

Commit 9f353a8

Browse files
authored
Merge pull request #79 from kleros/feat/address-explorer
feat(web): explorer-link-for-address-in-account-display
2 parents 7fce0f1 + 6a00810 commit 9f353a8

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

web/src/layout/Header/navbar/Menu/Settings/General.tsx

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from "react";
1+
import React, { useMemo } from "react";
22
import styled from "styled-components";
33
import { useAccount, useDisconnect } from "wagmi";
44
import { Button } from "@kleros/ui-components-library";
@@ -64,13 +64,29 @@ const UserContainer = styled.div`
6464
gap: 12px;
6565
`;
6666

67+
const StyledA = styled.a`
68+
text-decoration: none;
69+
label {
70+
cursor: pointer;
71+
color: ${({ theme }) => theme.primaryBlue};
72+
}
73+
:hover {
74+
text-decoration: underline;
75+
}
76+
`;
77+
6778
export const DisconnectWalletButton: React.FC = () => {
6879
const { disconnect } = useDisconnect();
6980
return <Button text="Disconnect" onClick={() => disconnect()} />;
7081
};
7182

7283
const General: React.FC = () => {
73-
const { address } = useAccount();
84+
const { address, chain } = useAccount();
85+
86+
const addressExplorerLink = useMemo(() => {
87+
return `${chain?.blockExplorers?.default.url}/address/${address}`;
88+
}, [address, chain]);
89+
7490
return (
7591
<EnsureChainContainer>
7692
<EnsureChain>
@@ -81,7 +97,9 @@ const General: React.FC = () => {
8197
<IdenticonOrAvatar size="48" />
8298
</StyledAvatarContainer>
8399
<StyledAddressContainer>
84-
<AddressOrName />
100+
<StyledA href={addressExplorerLink} rel="noreferrer" target="_blank">
101+
<AddressOrName />
102+
</StyledA>
85103
</StyledAddressContainer>
86104
<StyledChainContainer>
87105
<ChainDisplay />
@@ -97,4 +115,4 @@ const General: React.FC = () => {
97115
);
98116
};
99117

100-
export default General;
118+
export default General;

0 commit comments

Comments
 (0)