diff --git a/src/components/antd/tabs/s.module.scss b/src/components/antd/tabs/s.module.scss
index 8785d5ce..9aa28708 100644
--- a/src/components/antd/tabs/s.module.scss
+++ b/src/components/antd/tabs/s.module.scss
@@ -13,7 +13,11 @@
> :global(.ant-tabs-nav-wrap) {
> :global(.ant-tabs-nav-list) {
+ overflow-y: auto;
+
> :global(.ant-tabs-tab) {
+ flex-shrink: 0;
+
> :global(.ant-tabs-tab-btn) {
@include font-p1-semi-bold;
display: flex;
@@ -21,6 +25,7 @@
column-gap: 8px;
align-items: center;
color: var(--theme-secondary-color);
+ flex-shrink: 0;
&:hover {
color: var(--theme-primary-color);
diff --git a/src/components/custom/icon/index.tsx b/src/components/custom/icon/index.tsx
index 0c02d902..4964f37c 100644
--- a/src/components/custom/icon/index.tsx
+++ b/src/components/custom/icon/index.tsx
@@ -146,7 +146,8 @@ export type IconNames =
| 'youtube'
| 'medium'
| 'polymorphs'
- | 'core-drops';
+ | 'core-drops'
+ | 'static/add-token';
export type IconProps = {
name: IconNames;
diff --git a/src/layout/components/layout-header/index.tsx b/src/layout/components/layout-header/index.tsx
index 38dd200d..ec78bcbf 100644
--- a/src/layout/components/layout-header/index.tsx
+++ b/src/layout/components/layout-header/index.tsx
@@ -14,8 +14,10 @@ import Grid from 'components/custom/grid';
import Icon from 'components/custom/icon';
import { Text } from 'components/custom/typography';
import { useGeneral } from 'components/providers/general-provider';
+import { XyzToken } from 'components/providers/known-tokens-provider';
import { useWarning } from 'components/providers/warning-provider';
import ConnectedWallet from 'wallets/components/connected-wallet';
+import { MetamaskConnector } from 'wallets/connectors/metamask';
import { useWallet } from 'wallets/wallet';
import s from './s.module.scss';
@@ -50,6 +52,25 @@ const LayoutHeader: React.FC = () => {
const isGovernancePage = useRouteMatch('/governance');
+ async function handleAddProjectToken() {
+ if (wallet.connector?.id === 'metamask') {
+ try {
+ const connector = new MetamaskConnector({ supportedChainIds: [] });
+ await connector.addToken({
+ type: 'ERC20',
+ options: {
+ address: XyzToken.address,
+ symbol: XyzToken.symbol,
+ decimals: XyzToken.decimals,
+ image: `${window.location.origin}/android-chrome-192x192.png`,
+ },
+ });
+ } catch (e) {
+ console.error(e);
+ }
+ }
+ }
+
return (
@@ -199,6 +220,13 @@ const LayoutHeader: React.FC = () => {
+ {!isMobile && wallet.isActive && wallet.connector?.id === 'metamask' && (
+
+
+
+ )}
}
diff --git a/src/resources/svg/static-sprite.svg b/src/resources/svg/static-sprite.svg
index a74e2eaf..5770d996 100644
--- a/src/resources/svg/static-sprite.svg
+++ b/src/resources/svg/static-sprite.svg
@@ -248,4 +248,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/wallets/components/connected-wallet/index.tsx b/src/wallets/components/connected-wallet/index.tsx
index 639d0ee7..04a78945 100644
--- a/src/wallets/components/connected-wallet/index.tsx
+++ b/src/wallets/components/connected-wallet/index.tsx
@@ -85,7 +85,7 @@ const ConnectedWallet: React.FC = () => {
-
+