From e540fdd2060797a4ad768aca96bb0f9719ddb77e Mon Sep 17 00:00:00 2001 From: Antonio Ventilii Date: Thu, 10 Apr 2025 09:36:08 +0200 Subject: [PATCH 01/20] refactor(e2e): remove unnecessary matrix in E2E tests final step --- .github/workflows/e2e-tests.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index b1e71b49709..1432429a53b 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -283,12 +283,9 @@ jobs: may-merge-e2e: if: always() needs: ['check-e2e-changes', 'e2e', 'finalize-snapshots-update'] - runs-on: ${{ matrix.os }} + runs-on: ubuntu-24.04 permissions: contents: read - strategy: - matrix: - os: [ubuntu-24.04, macos-14] steps: - name: Cleared for merging run: | From 43a9b2b14df30135fd541aed8083222c8419b160 Mon Sep 17 00:00:00 2001 From: daviddecentage Date: Tue, 15 Apr 2025 17:29:11 +0200 Subject: [PATCH 02/20] update --- .../lib/components/manage/ManageTokens.svelte | 293 ++++++++---------- .../manage/ManageTokensModal.svelte | 4 +- .../lib/components/send/SendTokensList.svelte | 8 +- .../components/tokens/ModalTokensList.svelte | 32 +- src/frontend/src/lib/i18n/en.json | 1 + 5 files changed, 154 insertions(+), 184 deletions(-) diff --git a/src/frontend/src/lib/components/manage/ManageTokens.svelte b/src/frontend/src/lib/components/manage/ManageTokens.svelte index 3a3a413c4b3..8336bc9cf24 100644 --- a/src/frontend/src/lib/components/manage/ManageTokens.svelte +++ b/src/frontend/src/lib/components/manage/ManageTokens.svelte @@ -1,44 +1,46 @@ -
- -
- -{#if nonNullish($selectedNetwork)} -

- {replacePlaceholders($i18n.tokens.manage.text.manage_for_network, { - $network: $selectedNetwork.name - })} -

-{/if} - - +{@render infoElement()} -{#if noTokensMatch} - +{#if showNetworks} + (showNetworks = false)} /> {:else} -
-
- {#each tokens as token (`${token.network.id.description}-${token.id.description}`)} - - - - - - - {token.symbol} - - - - {#if icTokenIcrcCustomToken(token)} - - {:else if icTokenEthereumUserToken(token) || isTokenSplToggleable(token)} - - {:else if isBitcoinToken(token)} - - {:else if isSolanaToken(token)} - - {/if} - - - {/each} -
-
- - - - - dispatch('icClose')} /> - - + {#snippet tokenListItem(token: Token, onClick: () => void)} + + + + + + + {token.symbol} + + + + {#if icTokenIcrcCustomToken(token)} + + {:else if icTokenEthereumUserToken(token) || isTokenSplToggleable(token)} + + {:else if isBitcoinToken(token)} + + {:else if isSolanaToken(token)} + + {/if} + + + {/snippet} + {#snippet toolbar()} + + + {/snippet} + {/if} diff --git a/src/frontend/src/lib/components/manage/ManageTokensModal.svelte b/src/frontend/src/lib/components/manage/ManageTokensModal.svelte index cfbc5dbe0cd..e24b21e67eb 100644 --- a/src/frontend/src/lib/components/manage/ManageTokensModal.svelte +++ b/src/frontend/src/lib/components/manage/ManageTokensModal.svelte @@ -258,7 +258,9 @@ on:icSave={saveTokens} {initialSearch} > - + {#snippet infoElement()} + + {/snippet} {/if} diff --git a/src/frontend/src/lib/components/send/SendTokensList.svelte b/src/frontend/src/lib/components/send/SendTokensList.svelte index de6126066f9..580b09988a1 100644 --- a/src/frontend/src/lib/components/send/SendTokensList.svelte +++ b/src/frontend/src/lib/components/send/SendTokensList.svelte @@ -6,6 +6,7 @@ import ButtonCloseModal from '$lib/components/ui/ButtonCloseModal.svelte'; import { selectedNetwork } from '$lib/derived/network.derived'; import type { Token } from '$lib/types/token'; + import ModalTokensListItem from '$lib/components/tokens/ModalTokensListItem.svelte'; const dispatch = createEventDispatcher(); @@ -23,5 +24,10 @@ on:icTokenButtonClick={onIcTokenButtonClick} networkSelectorViewOnly={nonNullish($selectedNetwork)} > - + {#snippet tokenListItem(token: Token, onClick: () => void)} + + {/snippet} + {#snippet toolbar()} + + {/snippet} diff --git a/src/frontend/src/lib/components/tokens/ModalTokensList.svelte b/src/frontend/src/lib/components/tokens/ModalTokensList.svelte index 1a970e2645d..39a1cfc7000 100644 --- a/src/frontend/src/lib/components/tokens/ModalTokensList.svelte +++ b/src/frontend/src/lib/components/tokens/ModalTokensList.svelte @@ -1,6 +1,6 @@
@@ -63,10 +74,7 @@
    {#each $filteredTokens as token (token.id)}
  • - dispatch('icTokenButtonClick', token)} - data={token} - /> + {@render tokenListItem(token, () => dispatch('icTokenButtonClick', token))}
  • {/each}
@@ -76,5 +84,5 @@
- + {@render toolbar()} diff --git a/src/frontend/src/lib/i18n/en.json b/src/frontend/src/lib/i18n/en.json index 94a45cadba1..7a8d98d4804 100644 --- a/src/frontend/src/lib/i18n/en.json +++ b/src/frontend/src/lib/i18n/en.json @@ -668,6 +668,7 @@ "manage_list": "Manage tokens", "list_settings": "List settings", "do_not_see_import": "Don’t see your token? Import", + "import_token": "Import token", "manage_for_network": "Managing tokens for $network", "network": "Network", "all_tokens_zero_balance": "All tokens have zero balance." From 168bb9cf13bd7f6ccaf0fdbda6c03b9769857972 Mon Sep 17 00:00:00 2001 From: daviddecentage Date: Tue, 15 Apr 2025 17:47:59 +0200 Subject: [PATCH 03/20] update --- src/frontend/src/lib/components/manage/ManageTokens.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/frontend/src/lib/components/manage/ManageTokens.svelte b/src/frontend/src/lib/components/manage/ManageTokens.svelte index 8336bc9cf24..863eef27b37 100644 --- a/src/frontend/src/lib/components/manage/ManageTokens.svelte +++ b/src/frontend/src/lib/components/manage/ManageTokens.svelte @@ -71,7 +71,7 @@ tokens: $allTokens, filterZeroBalance: false, filterNetwork: $selectedNetwork, - filterQuery: initialSearch + filterQuery: nonNullish(initialSearch) ? initialSearch : '' }) ); From 60d8f5a951418a7c250b67c73050514e2c795140 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 15 Apr 2025 15:49:19 +0000 Subject: [PATCH 04/20] =?UTF-8?q?=F0=9F=A4=96=20Updated=20i18n=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/src/lib/types/i18n.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/frontend/src/lib/types/i18n.d.ts b/src/frontend/src/lib/types/i18n.d.ts index d82d0904024..96a072549ec 100644 --- a/src/frontend/src/lib/types/i18n.d.ts +++ b/src/frontend/src/lib/types/i18n.d.ts @@ -625,6 +625,7 @@ interface I18nTokens { manage_list: string; list_settings: string; do_not_see_import: string; + import_token: string; manage_for_network: string; network: string; all_tokens_zero_balance: string; From ba1e21d300e0748df5aed8b8fa61653755138b3d Mon Sep 17 00:00:00 2001 From: daviddecentage Date: Tue, 15 Apr 2025 18:03:53 +0200 Subject: [PATCH 05/20] update --- .../lib/components/manage/ManageTokens.svelte | 2 +- .../lib/components/send/SendTokensList.svelte | 8 +++++++- .../components/tokens/ModalTokensList.svelte | 17 +++++++++++------ src/frontend/src/lib/i18n/en.json | 3 ++- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/frontend/src/lib/components/manage/ManageTokens.svelte b/src/frontend/src/lib/components/manage/ManageTokens.svelte index 863eef27b37..347000b90c1 100644 --- a/src/frontend/src/lib/components/manage/ManageTokens.svelte +++ b/src/frontend/src/lib/components/manage/ManageTokens.svelte @@ -137,7 +137,7 @@ on:icSelectNetworkFilter={onSelectNetwork} networkSelectorViewOnly={nonNullish($selectedNetwork)} > - {#snippet tokenListItem(token: Token, onClick: () => void)} + {#snippet tokenListItem(token)} diff --git a/src/frontend/src/lib/components/send/SendTokensList.svelte b/src/frontend/src/lib/components/send/SendTokensList.svelte index 580b09988a1..c3ab7a98c0f 100644 --- a/src/frontend/src/lib/components/send/SendTokensList.svelte +++ b/src/frontend/src/lib/components/send/SendTokensList.svelte @@ -7,6 +7,7 @@ import { selectedNetwork } from '$lib/derived/network.derived'; import type { Token } from '$lib/types/token'; import ModalTokensListItem from '$lib/components/tokens/ModalTokensListItem.svelte'; + import { i18n } from '$lib/stores/i18n.store'; const dispatch = createEventDispatcher(); @@ -24,9 +25,14 @@ on:icTokenButtonClick={onIcTokenButtonClick} networkSelectorViewOnly={nonNullish($selectedNetwork)} > - {#snippet tokenListItem(token: Token, onClick: () => void)} + {#snippet tokenListItem(token, onClick)} {/snippet} + {#snippet noResults()} +

+ {$i18n.tokens.manage.text.all_tokens_zero_balance} +

+ {/snippet} {#snippet toolbar()} {/snippet} diff --git a/src/frontend/src/lib/components/tokens/ModalTokensList.svelte b/src/frontend/src/lib/components/tokens/ModalTokensList.svelte index 39a1cfc7000..8c04317b3d2 100644 --- a/src/frontend/src/lib/components/tokens/ModalTokensList.svelte +++ b/src/frontend/src/lib/components/tokens/ModalTokensList.svelte @@ -2,7 +2,6 @@ import { notEmptyString } from '@dfinity/utils'; import { createEventDispatcher, getContext, type Snippet } from 'svelte'; import NetworkSwitcherLogo from '$lib/components/networks/NetworkSwitcherLogo.svelte'; - import ModalTokensListItem from '$lib/components/tokens/ModalTokensListItem.svelte'; import TokensSkeletons from '$lib/components/tokens/TokensSkeletons.svelte'; import ButtonGroup from '$lib/components/ui/ButtonGroup.svelte'; import InputSearch from '$lib/components/ui/InputSearch.svelte'; @@ -18,12 +17,14 @@ networkSelectorViewOnly = false, loading = false, tokenListItem, - toolbar + toolbar, + noResults }: { networkSelectorViewOnly: boolean; loading: boolean; tokenListItem: Snippet<[Token, () => void]>; toolbar: Snippet; + noResults?: Snippet; } = $props(); const dispatch = createEventDispatcher(); @@ -37,7 +38,7 @@ setFilterQuery(filter); }); - let noTokensMatch = $filteredTokens.length === 0; + let noTokensMatch = $derived($filteredTokens.length === 0);
@@ -67,9 +68,13 @@
{#if noTokensMatch} -

- {$i18n.tokens.manage.text.all_tokens_zero_balance} -

+ {#if noResults} + {@render noResults()} + {:else} +

+ {$i18n.core.text.no_results} +

+ {/if} {:else}