Skip to content

Commit fb05a3d

Browse files
authored
Hide the tooltip on the button whenever the dropdown is open (#3193)
Resolves #3151
1 parent 8ef13bb commit fb05a3d

File tree

5 files changed

+20
-10
lines changed

5 files changed

+20
-10
lines changed

ui/address/SolidityscanReport.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import solidityScanIcon from 'icons/brands/solidity_scan.svg';
88
import useFetchReport from 'lib/solidityScan/useFetchReport';
99
import { Link } from 'toolkit/chakra/link';
1010
import { PopoverBody, PopoverContent, PopoverRoot } from 'toolkit/chakra/popover';
11+
import { useDisclosure } from 'toolkit/hooks/useDisclosure';
1112
import SolidityscanReportButton from 'ui/shared/solidityscanReport/SolidityscanReportButton';
1213
import SolidityscanReportDetails from 'ui/shared/solidityscanReport/SolidityscanReportDetails';
1314
import SolidityscanReportScore from 'ui/shared/solidityscanReport/SolidityscanReportScore';
@@ -17,7 +18,7 @@ interface Props {
1718
}
1819

1920
const SolidityscanReport = ({ hash }: Props) => {
20-
21+
const popover = useDisclosure();
2122
const { data, isPlaceholderData, isError } = useFetchReport({ hash });
2223

2324
if (isError || !data) {
@@ -35,10 +36,11 @@ const SolidityscanReport = ({ hash }: Props) => {
3536
const vulnerabilitiesCount = vulnerabilitiesCounts.reduce((acc, val) => acc + val, 0);
3637

3738
return (
38-
<PopoverRoot>
39+
<PopoverRoot open={ popover.open } onOpenChange={ popover.onOpenChange }>
3940
<SolidityscanReportButton
4041
score={ score }
4142
isLoading={ isPlaceholderData }
43+
tooltipDisabled={ popover.open }
4244
/>
4345
<PopoverContent w={{ base: '100vw', lg: '328px' }}>
4446
<PopoverBody textStyle="sm">

ui/address/clusters/AddressClusters.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { Link } from 'toolkit/chakra/link';
2020
import { PopoverBody, PopoverContent, PopoverRoot, PopoverTrigger } from 'toolkit/chakra/popover';
2121
import { Skeleton } from 'toolkit/chakra/skeleton';
2222
import { Tooltip } from 'toolkit/chakra/tooltip';
23+
import { useDisclosure } from 'toolkit/hooks/useDisclosure';
2324
import ClustersEntity from 'ui/shared/entities/clusters/ClustersEntity';
2425
import IconSvg from 'ui/shared/IconSvg';
2526

@@ -48,6 +49,8 @@ const ClustersGrid = ({ data }: ClustersGridProps) => {
4849
const AddressClusters = ({ query, addressHash }: Props) => {
4950
const { data, isPending, isError } = query;
5051

52+
const popover = useDisclosure();
53+
5154
if (isError) {
5255
return null;
5356
}
@@ -71,8 +74,8 @@ const AddressClusters = ({ query, addressHash }: Props) => {
7174
const showMoreLink = hasMoreClusters(ownedClusters.length, 10);
7275

7376
return (
74-
<PopoverRoot>
75-
<Tooltip content="List of clusters registered to this address" disableOnMobile>
77+
<PopoverRoot open={ popover.open } onOpenChange={ popover.onOpenChange }>
78+
<Tooltip content="List of clusters registered to this address" disabled={ popover.open } disableOnMobile closeOnClick>
7679
<div>
7780
<PopoverTrigger>
7881
<Button

ui/address/ensDomains/AddressEnsDomains.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { Link } from 'toolkit/chakra/link';
1414
import { PopoverBody, PopoverContent, PopoverRoot, PopoverTrigger } from 'toolkit/chakra/popover';
1515
import { Skeleton } from 'toolkit/chakra/skeleton';
1616
import { Tooltip } from 'toolkit/chakra/tooltip';
17+
import { useDisclosure } from 'toolkit/hooks/useDisclosure';
1718
import EnsEntity from 'ui/shared/entities/ens/EnsEntity';
1819
import IconSvg from 'ui/shared/IconSvg';
1920

@@ -38,6 +39,7 @@ const DomainsGrid = ({ data }: { data: Array<bens.Domain> }) => {
3839

3940
const AddressEnsDomains = ({ query, addressHash, mainDomainName }: Props) => {
4041
const { data, isPending, isError } = query;
42+
const popover = useDisclosure();
4143

4244
if (isError) {
4345
return null;
@@ -82,8 +84,8 @@ const AddressEnsDomains = ({ query, addressHash, mainDomainName }: Props) => {
8284
const totalRecords = data.items.length > 40 ? '40+' : data.items.length;
8385

8486
return (
85-
<PopoverRoot>
86-
<Tooltip content="List of names resolved or owned by this address" disableOnMobile>
87+
<PopoverRoot open={ popover.open } onOpenChange={ popover.onOpenChange }>
88+
<Tooltip content="List of names resolved or owned by this address" disabled={ popover.open } disableOnMobile closeOnClick>
8789
<div>
8890
<PopoverTrigger>
8991
<Button

ui/shared/VerifyWith.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import React from 'react';
44
import { Button } from 'toolkit/chakra/button';
55
import { PopoverBody, PopoverContent, PopoverRoot, PopoverTrigger } from 'toolkit/chakra/popover';
66
import { Tooltip } from 'toolkit/chakra/tooltip';
7+
import { useDisclosure } from 'toolkit/hooks/useDisclosure';
78
import IconSvg from 'ui/shared/IconSvg';
89

910
interface Props {
@@ -15,10 +16,11 @@ interface Props {
1516
}
1617

1718
const VerifyWith = ({ className, links, label, longText, shortText }: Props) => {
19+
const popover = useDisclosure();
1820

1921
return (
20-
<PopoverRoot>
21-
<Tooltip content={ label } disableOnMobile>
22+
<PopoverRoot open={ popover.open } onOpenChange={ popover.onOpenChange }>
23+
<Tooltip content={ label } disabled={ popover.open } disableOnMobile closeOnClick>
2224
<Box className={ className }>
2325
<PopoverTrigger>
2426
<Button

ui/shared/solidityscanReport/SolidityscanReportButton.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,16 @@ import useScoreLevelAndColor from './useScoreLevelAndColor';
1313
interface Props extends ButtonProps {
1414
score: number;
1515
isLoading?: boolean;
16+
tooltipDisabled?: boolean;
1617
}
1718

18-
const SolidityscanReportButton = ({ score, isLoading, ...rest }: Props) => {
19+
const SolidityscanReportButton = ({ score, isLoading, tooltipDisabled, ...rest }: Props) => {
1920
const { scoreColor } = useScoreLevelAndColor(score);
2021
const colorLoading = { _light: 'gray.300', _dark: 'gray.600' };
2122
const onFocusCapture = usePreventFocusAfterModalClosing();
2223

2324
return (
24-
<Tooltip content="Security score" disableOnMobile>
25+
<Tooltip content="Security score" disabled={ tooltipDisabled } disableOnMobile closeOnClick>
2526
<Box>
2627
<PopoverTrigger>
2728
<Button

0 commit comments

Comments
 (0)