Commit 2f0804a6 authored by Igor Stuev's avatar Igor Stuev Committed by GitHub

Merge pull request #1989 from blockscout/multichain-mobile-fix

fix multichain button for mobile
parents cae815d8 a1b70701
import { Box } from '@chakra-ui/react';
import React from 'react'; import React from 'react';
import * as addressMock from 'mocks/address/address'; import * as addressMock from 'mocks/address/address';
...@@ -45,3 +46,18 @@ test('with multichain button external', async({ render, mockEnvs, mockAssetRespo ...@@ -45,3 +46,18 @@ test('with multichain button external', async({ render, mockEnvs, mockAssetRespo
await expect(component).toHaveScreenshot(); await expect(component).toHaveScreenshot();
}); });
test('with multichain button internal small screen', async({ render, mockEnvs, mockAssetResponse }) => {
await mockEnvs([
[
'NEXT_PUBLIC_MULTICHAIN_BALANCE_PROVIDER_CONFIG',
`{"name": "duck", "dapp_id": "duck", "url_template": "https://duck.url/{address}", "logo": "${ ICON_URL }"}` ],
]);
await mockAssetResponse(ICON_URL, './playwright/mocks/image_svg.svg');
const component = await render(
<Box w="300px"><AddressNetWorth addressData={ addressMock.token } addressHash={ ADDRESS_HASH }/></Box>,
);
await expect(component).toHaveScreenshot();
});
import { Image, Skeleton, Text } from '@chakra-ui/react'; import { Image, Skeleton, Text, Flex } from '@chakra-ui/react';
import _capitalize from 'lodash/capitalize'; import _capitalize from 'lodash/capitalize';
import React from 'react'; import React from 'react';
...@@ -75,8 +75,9 @@ const AddressNetWorth = ({ addressData, isLoading, addressHash }: Props) => { ...@@ -75,8 +75,9 @@ const AddressNetWorth = ({ addressData, isLoading, addressHash }: Props) => {
const dappId = multichainFeature.dappId; const dappId = multichainFeature.dappId;
multichainItem = ( multichainItem = (
<> <>
<TextSeparator mx={ 3 } color="gray.500"/> <TextSeparator mx={ 0 } color="gray.500"/>
<Text mr={ 2 }>Multichain</Text> <Flex alignItems="center" gap={ 2 }>
<Text>Multichain</Text>
{ typeof dappId === 'string' ? ( { typeof dappId === 'string' ? (
<LinkInternal <LinkInternal
href={ route({ pathname: '/apps/[id]', query: { id: dappId, url: portfolioUrl.toString() } }) } href={ route({ pathname: '/apps/[id]', query: { id: dappId, url: portfolioUrl.toString() } }) }
...@@ -92,6 +93,7 @@ const AddressNetWorth = ({ addressData, isLoading, addressHash }: Props) => { ...@@ -92,6 +93,7 @@ const AddressNetWorth = ({ addressData, isLoading, addressHash }: Props) => {
{ buttonContent } { buttonContent }
</LinkExternal> </LinkExternal>
) } ) }
</Flex>
</> </>
); );
} catch (error) {} } catch (error) {}
...@@ -99,7 +101,7 @@ const AddressNetWorth = ({ addressData, isLoading, addressHash }: Props) => { ...@@ -99,7 +101,7 @@ const AddressNetWorth = ({ addressData, isLoading, addressHash }: Props) => {
} }
return ( return (
<Skeleton display="flex" alignItems="center" isLoaded={ !isLoading && !(addressData?.has_tokens && isPending) }> <Skeleton display="flex" alignItems="center" flexWrap="wrap" isLoaded={ !isLoading && !(addressData?.has_tokens && isPending) } gap={ 2 }>
<Text> <Text>
{ (isError || !addressData?.exchange_rate) ? 'N/A' : `${ prefix }$${ totalUsd.toFormat(2) }` } { (isError || !addressData?.exchange_rate) ? 'N/A' : `${ prefix }$${ totalUsd.toFormat(2) }` }
</Text> </Text>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment