diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index a390d1d0b04c..55006fa5b5f2 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -1902,6 +1902,9 @@
"experimental": {
"message": "Experimental"
},
+ "exploreweb3": {
+ "message": "Explore web3"
+ },
"exportYourData": {
"message": "Export your data"
},
@@ -2670,6 +2673,9 @@
"manageDefaultSettings": {
"message": "Manage default privacy settings"
},
+ "managePermissions": {
+ "message": "Manage permissions"
+ },
"marketCap": {
"message": "Market cap"
},
diff --git a/ui/components/multichain/connected-site-menu/connected-site-menu.js b/ui/components/multichain/connected-site-menu/connected-site-menu.js
index 5c490e9d6e04..5461cca7f251 100644
--- a/ui/components/multichain/connected-site-menu/connected-site-menu.js
+++ b/ui/components/multichain/connected-site-menu/connected-site-menu.js
@@ -44,7 +44,7 @@ export const ConnectedSiteMenu = ({
disabled,
}) => {
const t = useI18nContext();
- const [showPopover, setShowPopover] = useState(false);
+ const [showPopover, setShowPopover] = useState(false);
const handleMouseEnter = () => {
setShowPopover(true);
};
@@ -55,12 +55,10 @@ export const ConnectedSiteMenu = ({
const [referenceElement, setReferenceElement] = useState();
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- const setBoxRef = (ref: any) => {
+ const setBoxRef = (ref) => {
setReferenceElement(ref);
};
-
const selectedAccount = useSelector(getSelectedInternalAccount);
const subjectMetadata = useSelector(getSubjectMetadata);
const connectedOrigin = useSelector(getOriginOfCurrentTab);
@@ -145,7 +143,10 @@ export const ConnectedSiteMenu = ({
)}
{showPopover && (
-
+
)}
>
);
diff --git a/ui/components/multichain/connected-site-popover/connected-site-popover.stories.tsx b/ui/components/multichain/connected-site-popover/connected-site-popover.stories.tsx
index 80222c0385d8..e2e5958907e2 100644
--- a/ui/components/multichain/connected-site-popover/connected-site-popover.stories.tsx
+++ b/ui/components/multichain/connected-site-popover/connected-site-popover.stories.tsx
@@ -1,17 +1,20 @@
import React from 'react';
-import {ConnectedSitePopover} from './connected-site-popover';
+import { ConnectedSitePopover } from './connected-site-popover';
export default {
title: 'Components/Multichain/ConnectedSitePopover',
component: ConnectedSitePopover,
argTypes: {
- onRemove: {
- action: 'onRemove',
- },
- onViewOnOpensea: {
- action: 'onViewOnOpensea',
+ isOpen: {
+ control: 'boolean',
},
},
+ args: {
+ isOpen: true,
+ networkImageUrl: './images/eth_logo.svg',
+ networkName: 'Avalanche Network C-Chain',
+ isConnected: true,
+ },
};
export const DefaultStory = (args) => ;
diff --git a/ui/components/multichain/connected-site-popover/connected-site-popover.tsx b/ui/components/multichain/connected-site-popover/connected-site-popover.tsx
index cc2d8c4dde0a..80625b5b8fa0 100644
--- a/ui/components/multichain/connected-site-popover/connected-site-popover.tsx
+++ b/ui/components/multichain/connected-site-popover/connected-site-popover.tsx
@@ -1,12 +1,25 @@
-import React, { useState } from 'react';
-import { Box, Popover, PopoverPosition, Text } from '../../component-library';
+import React, { useContext, useState } from 'react';
+import {
+ AvatarNetwork,
+ AvatarNetworkSize,
+ Box,
+ Button,
+ ButtonLink,
+ ButtonSecondary,
+ IconName,
+ Popover,
+ PopoverPosition,
+ Text,
+} from '../../component-library';
import {
BackgroundColor,
Display,
+ FlexDirection,
JustifyContent,
TextColor,
TextVariant,
} from '../../../helpers/constants/design-system';
+import { I18nContext } from '../../../contexts/i18n';
type ConnectedSitePopoverProp = {
title: string;
@@ -14,7 +27,7 @@ type ConnectedSitePopoverProp = {
value?: string | null;
icon?: React.ReactNode;
buttonAddressValue?: React.ButtonHTMLAttributes | null;
- withPopover?: boolean;
+ isConnected?: boolean;
fullValue?: string;
};
@@ -28,7 +41,11 @@ export const ConnectedSitePopover: React.FC = ({
fullValue,
referenceElement,
isOpen,
+ networkImageUrl,
+ networkName,
+ isConnected,
}) => {
+ const t = useContext(I18nContext);
return (
= ({
referenceElement={referenceElement}
isOpen={isOpen}
position={PopoverPosition.BottomStart}
- hasArrow
flip
backgroundColor={BackgroundColor.overlayAlternative}
- className="tokenId-popover"
- paddingLeft={4}
- paddingRight={4}
+ paddingLeft={0}
+ paddingRight={0}
+ style={{
+ width: '256px',
+ }}
>
- Nidhi K Jha
+
+
+ sitename.domain.url
+ {isConnected ? (
+
+ {networkName}{' '}
+
+
+ ) : (
+ Not connected
+ )}
+
+
+
+
+ To connect to a site, select the "connect" button. MetaMask can
+ only connect to web3 sites.
+
+ Learn more
+
+
+
+
+
+ {isConnected ? t('managePermissions'): t('exploreweb3')}
+
+
+
);