Skip to content

Commit

Permalink
fix: fix linter + tests
Browse files Browse the repository at this point in the history
  • Loading branch information
salimtb committed Jun 20, 2024
1 parent 3f38e5c commit ab2b46c
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 9 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, { useCallback, useEffect, useRef } from 'react';
import React, { useEffect, useRef } from 'react';
import PropTypes from 'prop-types';
import { useI18nContext } from '../../../hooks/useI18nContext';
import {
Expand Down
35 changes: 27 additions & 8 deletions ui/components/multichain/network-list-menu/network-list-menu.js
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ export const NetworkListMenu = ({ onClose }) => {
}, [dispatch, currentlyOnTestNetwork]);

const [searchQuery, setSearchQuery] = useState('');
const [focusSearch, setFocusSearch] = useState(false);
const onboardedInThisUISession = useSelector(getOnboardedInThisUISession);
const showNetworkBanner = useSelector(getShowNetworkBanner);
const showBanner =
Expand Down Expand Up @@ -190,9 +191,9 @@ export const NetworkListMenu = ({ onClose }) => {
? items
: [...notExistingNetworkConfigurations];

const isSearching = searchQuery !== '';
let searchTestNetworkResults = [...testNetworks];

if (isSearching) {
if (focusSearch && searchQuery !== '') {
const fuse = new Fuse(searchResults, {
threshold: 0.2,
location: 0,
Expand All @@ -212,18 +213,35 @@ export const NetworkListMenu = ({ onClose }) => {
keys: ['nickname', 'chainId', 'ticker'],
});

const fuseForTestsNetworks = new Fuse(searchTestNetworkResults, {
threshold: 0.2,
location: 0,
distance: 100,
maxPatternLength: 32,
minMatchCharLength: 1,
shouldSort: true,
keys: ['nickname', 'chainId', 'ticker'],
});

fuse.setCollection(searchResults);
fuseForPopularNetworks.setCollection(searchAddNetworkResults);
fuseForTestsNetworks.setCollection(searchTestNetworkResults);

const fuseResults = fuse.search(searchQuery);
const fuseForPopularNetworksResults =
fuseForPopularNetworks.search(searchQuery);
const fuseForTestsNetworksResults =
fuseForTestsNetworks.search(searchQuery);

searchResults = searchResults.filter((network) =>
fuseResults.includes(network),
);
searchAddNetworkResults = searchAddNetworkResults.filter((network) =>
fuseForPopularNetworksResults.includes(network),
);
searchTestNetworkResults = searchTestNetworkResults.filter((network) =>
fuseForTestsNetworksResults.includes(network),
);
}

const getOnDeleteCallback = (networkId) => {
Expand Down Expand Up @@ -265,8 +283,8 @@ export const NetworkListMenu = ({ onClose }) => {
name={network.nickname}
iconSrc={network?.rpcPrefs?.imageUrl}
key={network.id}
selected={isCurrentNetwork}
focus={isCurrentNetwork && !isSearching}
selected={isCurrentNetwork && !focusSearch}
focus={isCurrentNetwork && !focusSearch}
onClick={() => {
dispatch(toggleNetworkMenu());
if (network.providerType) {
Expand Down Expand Up @@ -312,6 +330,7 @@ export const NetworkListMenu = ({ onClose }) => {
<NetworkListSearch
searchQuery={searchQuery}
setSearchQuery={setSearchQuery}
setFocusSearch={setFocusSearch}
/>

<Box className="multichain-network-list-menu">
Expand Down Expand Up @@ -339,7 +358,7 @@ export const NetworkListMenu = ({ onClose }) => {
/>
) : null}
<Box className="multichain-network-list-menu">
{searchResults.length === 0 && isSearching ? (
{searchResults.length === 0 && focusSearch ? (
<Text
paddingLeft={4}
paddingRight={4}
Expand Down Expand Up @@ -382,8 +401,8 @@ export const NetworkListMenu = ({ onClose }) => {
name={network.nickname}
iconSrc={network?.rpcPrefs?.imageUrl}
key={network.id}
selected={isCurrentNetwork}
focus={isCurrentNetwork && !isSearching}
selected={isCurrentNetwork && !focusSearch}
focus={isCurrentNetwork && !focusSearch}
onClick={() => {
dispatch(toggleNetworkMenu());
if (network.providerType) {
Expand Down Expand Up @@ -458,7 +477,7 @@ export const NetworkListMenu = ({ onClose }) => {
</Box>
{showTestNetworks || currentlyOnTestNetwork ? (
<Box className="multichain-network-list-menu">
{generateMenuItems(testNetworks)}
{generateMenuItems(searchTestNetworkResults)}
</Box>
) : null}
</Box>
Expand Down

0 comments on commit ab2b46c

Please sign in to comment.