Skip to content

Commit

Permalink
feat(suite): no search results screen for nfts and hidden tokens
Browse files Browse the repository at this point in the history
  • Loading branch information
enjojoy committed Dec 19, 2024
1 parent cd7eef8 commit 7aa29d0
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 8 deletions.
17 changes: 14 additions & 3 deletions packages/suite/src/views/wallet/nfts/NftsTablesSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { getTokens } from 'src/utils/wallet/tokenUtils';

import { NoTokens } from '../tokens/common/NoTokens';
import NftsTable from './NftsTable/NftsTable';
import { NoSearchResultsWrapped } from '../tokens/common/TokensTable/TokensTable';

type EvmNftsTablesProps = {
selectedAccount: SelectedAccountLoaded;
Expand Down Expand Up @@ -73,14 +74,24 @@ export const NftsTablesSection = ({
};

if (isShown) {
return areNoShownNfts ? (
<NoTokens isNft={true} title={<Translation id={getNoTokensTitle()} />} />
) : (
if (areNoShownNfts) {
if (searchQuery) {
return <NoSearchResultsWrapped />;
}

return <NoTokens isNft={true} title={<Translation id={getNoTokensTitle()} />} />;
}

return (
<NftsTable selectedAccount={selectedAccount} isShown={isShown} verified nfts={nfts} />
);
}

if (areNoHiddenNfts && areNoUnverifiedNfts) {
if (searchQuery) {
return <NoSearchResultsWrapped />;
}

return <NoTokens isNft={true} title={<Translation id="TR_HIDDEN_NFT_EMPTY" />} />;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,18 @@ import { useCoinmarketLoadData } from 'src/hooks/wallet/coinmarket/useCoinmarket
import { TokenRow } from './TokenRow';
import { DropdownRow } from '../../DropdownRow';

const NoSearchResults = () => (
<Paragraph margin={{ top: spacings.xxl, bottom: spacings.xxl }} align="center">
<Translation id="TR_NO_SEARCH_RESULTS" />
</Paragraph>
);

export const NoSearchResultsWrapped = () => (
<Card paddingType="none" overflow="hidden">
<NoSearchResults />
</Card>
);

interface TokensTableProps {
account: Account;
tokensWithBalance: EnhancedTokenInfo[];
Expand Down Expand Up @@ -39,9 +51,7 @@ export const TokensTable = ({
return (
<Card paddingType="none" overflow="hidden">
{tokensWithBalance.length === 0 && tokensWithoutBalance.length === 0 && searchQuery ? (
<Paragraph margin={{ top: spacings.xxl, bottom: spacings.xxl }} align="center">
<Translation id="TR_NO_SEARCH_RESULTS" />
</Paragraph>
<NoSearchResults />
) : (
<Table
margin={{ top: spacings.xs }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { useSelector } from 'src/hooks/suite';
import { Translation } from 'src/components/suite';

import { NoTokens } from '../common/NoTokens';
import { TokensTable } from '../common/TokensTable/TokensTable';
import { NoSearchResultsWrapped, TokensTable } from '../common/TokensTable/TokensTable';

interface HiddenTokensTableProps {
selectedAccount: SelectedAccountLoaded;
Expand Down Expand Up @@ -46,7 +46,13 @@ export const HiddenTokensTable = ({ selectedAccount, searchQuery }: HiddenTokens
return (
<Column gap={spacings.xxl}>
{hiddenTokensCount === 0 && unverifiedTokensCount === 0 && (
<NoTokens title={<Translation id="TR_HIDDEN_TOKENS_EMPTY" />} />
<>
{searchQuery ? (
<NoSearchResultsWrapped />
) : (
<NoTokens title={<Translation id="TR_HIDDEN_TOKENS_EMPTY" />} />
)}
</>
)}
{hiddenTokensCount > 0 && (
<TokensTable
Expand Down

0 comments on commit 7aa29d0

Please sign in to comment.