Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Filters UI (desktop & mobile) #12299

Merged
merged 174 commits into from
Mar 20, 2024
Merged

Conversation

nhsz
Copy link
Member

@nhsz nhsz commented Feb 26, 2024

[WIP] This PR implements the UI updates and changes for the wallet filters

Preview: https://deploy-preview-12299--ethereumorg.netlify.app/en/wallets/find-wallet/

Description

  • components
    • updates WalletFilterProfile component
    • updates WalletFilterSidebar component
    • updates WalletsTable styles
      • change background color to background.highlight when expanded
    • updates WalletMoreInfo styles
    • updates WalletMoreInfoCategory styles
    • adds WalletFilterPersona component
    • adds SupportedLanguagesTooltip component
    • adds MobileFiltersMenu component (see new mobile menu design)
    • adds ResetFiltersButton component
    • adds LanguageSupportFilter component
    • adds MobileFiltersButton component
  • filters
    • updates featureDropdownItems
    • updates filterOptions
    • adds persona filter title
    • adds Advanced label/category to filters
    • removes eip_1559_support feature filter
    • features filter
      • remove description for devices
  • utils
    • adds getPersonaBorderColor util
    • adds getLocaleFormattedDate util
    • adds getLanguageCodeNameutil
    • adds capitalize util
    • adds getAllWalletsLanguages util
    • adds walletsListingCount util
    • adds getWalletsTopLanguages util
  • hooks
    • moves useWalletTable inside /hooks dir
    • moves useWalletFilterFeature inside /hooks dir
  • constants
    • adds WALLETS_FILTERS_DEFAULT constant
  • types
    • adds WalletFilter type
    • adds WalletSupportedLanguageContextType type
  • icons
    • removes unused EIP1559Icon
  • wallets data
    • fixes inconsistent wallet.last_updated format
  • translations
    • adds page-find-wallet-personas-title key
    • adds page-find-wallet-see-wallets key
    • updates page-find-wallet-non-custodial value
    • updates page-find-wallet-connect-to-dapps-desc value
    • removes page-find-choose-to-compare unused key
    • removes page-find-wallet-choose-to-compare unused key
    • removes page-find-wallet-persona-desc unused key
    • removes page-find-wallet-profile-filters unused key
    • removes page-find-wallet-feature-filters unused key
    • removes page-find-wallet-fee-optimization unused key
    • removes page-find-wallet-fee-optimization-desc unused key
    • removes page-find-wallet-mobile-desc unused key
    • removes page-find-wallet-desktop-desc unused key
    • removes page-find-wallet-browser-desc unused key
    • removes page-find-wallet-hardware-desc unused key
    • removes page-find-wallet-choose-features unused key
    • removes page-find-wallet-walletconnect unused key
    • removes page-find-wallet-walletconnect-desc unused key
    • removes page-find-wallet-token-support unused key

@nhsz nhsz self-assigned this Feb 26, 2024
@github-actions github-actions bot added review needed 👀 tooling 🔧 Changes related to tooling of the project translation 🌍 This is related to our Translation Program labels Feb 26, 2024
Base automatically changed from wallettable-desktop-updates to find-wallet-revamp February 26, 2024 21:38
@nhsz nhsz removed translation 🌍 This is related to our Translation Program tooling 🔧 Changes related to tooling of the project labels Feb 26, 2024
Copy link
Member

@pettinarip pettinarip left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the functional testing side, I think the only thing I would question is the language selector. It doesn’t work in the same way as the other filters. When you select a language:

  • I would expect to see the selected language displayed instead of the “Search language” placeholder
  • The filter is working fine but it is not shown in the “Filters (0)” counter

These issues can cause confusion for the user when trying to understand what filters are being applied.

image

I see a visual bug in mobile. The modal footer sometimes gets behind the content
image

=======
On the code side, I've left a couple of suggestions/questions, nothing blocking. Looks good overall.

Great job @nhsz 💯

>
<Box mx={{ base: 0, md: 0, lg: 2 }} w="100%">
{/* Category label */}
<Heading as="h4" lineHeight={1.4} fontSize="md" fontWeight="bold" mb={2}>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<Heading as="h4" lineHeight={1.4} fontSize="md" fontWeight="bold" mb={2}>
<Heading as="h4" size="md" mb={2}>

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

size="md" is not the same font size defined in the design @konopkja

Copy link
Member

@wackerow wackerow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small note, if I select a filter, then select a persona, the filter toggle stays on, but the checkboxes get unchecked.

Screen.Recording.2024-03-19.at.09.32.27.mov

Otherwise this is looking great.. functionally it's working as expected aside from the couple things noted. Just left some clean up notes, and a few things we could discuss to address separately (ie using standard sizes for a handful of things)

Nice job @nhsz! Excited to move this forward

key={feature.label}
spacing="0.2rem"
fontSize="0.9rem"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again not a blocker, but cc: @nloureiro if there is a way we can try to work our way towards standard font sizes

outline="1.5px solid"
outlineColor="primary.base"
outlineOffset="3px"
fontSize={8}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fontSize={8} is 2rem correct? @nloureiro Do you know how often we're trying to use this font size? Not blocking for this, but again noting we have some standard font sizes that would be nice to be able to stick to:

image

@nhsz nhsz requested review from wackerow and pettinarip March 19, 2024 21:01
Copy link
Member

@pettinarip pettinarip left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome @nhsz, lgtm! gj

The only thing left for me (which I don't see as a blocker) is this issue on mobile:
image

I keep seeing this on a physical phone when the top frame of the browser (where the url input is) is shown.

Copy link
Member

@wackerow wackerow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thanks @nhsz! Just left one comment about the hideFrom syntax, but we don't need to deal with that here, just noting. Pulling in when build finishes! 🎉

@wackerow wackerow merged commit 119bfa3 into find-wallet-revamp Mar 20, 2024
9 of 10 checks passed
@wackerow wackerow deleted the filters-ui-desktop branch March 20, 2024 16:49
This was referenced Mar 26, 2024
@wackerow wackerow added documentation 📖 Change or add documentation and removed documentation 📖 labels Apr 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
content 🖋️ This involves copy additions or edits dependencies 📦 Changes related to project dependencies documentation 📖 Change or add documentation epic 💪 This issue is an epic on our product roadmap feature ✨ This is enhancing something existing or creating something new high priority This has a high priority tooling 🔧 Changes related to tooling of the project translation 🌍 This is related to our Translation Program wallet 👛 This issue relates to adding or changing a wallet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants