Commit 50db854a authored by Max Alekseenko's avatar Max Alekseenko

move MoreInfo button to separate component

parent 63448a8f
...@@ -7,7 +7,6 @@ import type { IconName } from 'ui/shared/IconSvg'; ...@@ -7,7 +7,6 @@ import type { IconName } from 'ui/shared/IconSvg';
import IconSvg from 'ui/shared/IconSvg'; import IconSvg from 'ui/shared/IconSvg';
export enum LinkButtonVariants { export enum LinkButtonVariants {
DEFAULT = 'default',
ALL_CONTRACTS = 'all contracts', ALL_CONTRACTS = 'all contracts',
VERIFIED_CONTRACTS = 'verified contracts', VERIFIED_CONTRACTS = 'verified contracts',
} }
...@@ -23,20 +22,15 @@ const values = { ...@@ -23,20 +22,15 @@ const values = {
iconColor: 'green.500', iconColor: 'green.500',
tooltip: `Number of verified contracts on ${ config.chain.name }`, tooltip: `Number of verified contracts on ${ config.chain.name }`,
}, },
[LinkButtonVariants.DEFAULT]: {
icon: null,
iconColor: null,
tooltip: null,
},
}; };
interface Props { interface Props {
children: string; children: string;
onClick: (event: MouseEvent) => void; onClick: (event: MouseEvent) => void;
variant?: LinkButtonVariants; variant: LinkButtonVariants;
} }
const LinkButton = ({ children, onClick, variant = LinkButtonVariants.DEFAULT }: Props) => { const LinkButton = ({ children, onClick, variant }: Props) => {
const { icon, iconColor, tooltip } = values[variant]; const { icon, iconColor, tooltip } = values[variant];
return ( return (
<Tooltip <Tooltip
......
...@@ -12,6 +12,7 @@ import ListItemMobile from 'ui/shared/ListItemMobile/ListItemMobile'; ...@@ -12,6 +12,7 @@ import ListItemMobile from 'ui/shared/ListItemMobile/ListItemMobile';
import AppLink from './AppLink'; import AppLink from './AppLink';
import AppSecurityReport from './AppSecurityReport'; import AppSecurityReport from './AppSecurityReport';
import LinkButton, { LinkButtonVariants } from './LinkButton'; import LinkButton, { LinkButtonVariants } from './LinkButton';
import MoreInfoButton from './MoreInfoButton';
type Props = { type Props = {
app: MarketplaceAppPreview & { securityReport?: any }; // eslint-disable-line @typescript-eslint/no-explicit-any app: MarketplaceAppPreview & { securityReport?: any }; // eslint-disable-line @typescript-eslint/no-explicit-any
...@@ -102,7 +103,7 @@ const ListItem = ({ app, onInfoClick, isFavorite, onFavoriteClick, isLoading, on ...@@ -102,7 +103,7 @@ const ListItem = ({ app, onInfoClick, isFavorite, onFavoriteClick, isLoading, on
<LinkButton onClick={ showVerifiedContracts } variant={ LinkButtonVariants.VERIFIED_CONTRACTS }>{ verifiedNumber }</LinkButton> <LinkButton onClick={ showVerifiedContracts } variant={ LinkButtonVariants.VERIFIED_CONTRACTS }>{ verifiedNumber }</LinkButton>
</Flex> </Flex>
{ !isLoading && ( { !isLoading && (
<LinkButton onClick={ handleInfoClick }>More info</LinkButton> <MoreInfoButton onClick={ handleInfoClick }/>
) } ) }
</Flex> </Flex>
</Flex> </Flex>
......
import { Link } from '@chakra-ui/react';
import React from 'react';
import type { MouseEvent } from 'react';
interface Props {
onClick: (event: MouseEvent) => void;
}
const MoreInfoButton = ({ onClick }: Props) => (
<Link
fontSize="sm"
onClick={ onClick }
fontWeight="500"
display="inline-flex"
>
More info
</Link>
);
export default MoreInfoButton;
...@@ -11,6 +11,7 @@ import IconSvg from 'ui/shared/IconSvg'; ...@@ -11,6 +11,7 @@ import IconSvg from 'ui/shared/IconSvg';
import AppLink from './AppLink'; import AppLink from './AppLink';
import AppSecurityReport from './AppSecurityReport'; import AppSecurityReport from './AppSecurityReport';
import LinkButton, { LinkButtonVariants } from './LinkButton'; import LinkButton, { LinkButtonVariants } from './LinkButton';
import MoreInfoButton from './MoreInfoButton';
type Props = { type Props = {
app: MarketplaceAppPreview & { securityReport?: any }; // eslint-disable-line @typescript-eslint/no-explicit-any app: MarketplaceAppPreview & { securityReport?: any }; // eslint-disable-line @typescript-eslint/no-explicit-any
...@@ -93,7 +94,7 @@ const TableItem = ({ ...@@ -93,7 +94,7 @@ const TableItem = ({
<LinkButton onClick={ showVerifiedContracts } variant={ LinkButtonVariants.VERIFIED_CONTRACTS }>{ verifiedNumber }</LinkButton> <LinkButton onClick={ showVerifiedContracts } variant={ LinkButtonVariants.VERIFIED_CONTRACTS }>{ verifiedNumber }</LinkButton>
</Td> </Td>
<Td verticalAlign="middle" isNumeric> <Td verticalAlign="middle" isNumeric>
<LinkButton onClick={ handleInfoClick }>More info</LinkButton> <MoreInfoButton onClick={ handleInfoClick }/>
</Td> </Td>
</Tr> </Tr>
); );
......
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