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: settings screen fresh look #2893

Merged
merged 6 commits into from
Apr 5, 2024
Merged

feat: settings screen fresh look #2893

merged 6 commits into from
Apr 5, 2024

Conversation

sandipndev
Copy link
Member

@sandipndev sandipndev commented Dec 8, 2023

Settings Screen Revamp with better UI/UX

This PR uses the latest designs and design elements from our Figma Board and implements them in the settings screen. The scope of this PR is only UI updates and it doesn't touch logic anywhere unless it is needed.

Apart from functionality, some semantics of this PR:

  • Settings into newer component wise layout
  • Uses Skeleton when data inside the component loads
  • Provides user feedback every time (Spinner or Alerts) so that the user never feels stuck

Screenshots: #2893 (comment)

If you like this PR, a +1 would be appreciated

@sandipndev
Copy link
Member Author

sandipndev commented Dec 12, 2023

Comments I received via Mattermost:

  • Explore Wallet Settings: Have all the settings visible
  • Red cross for Email and Phone (I'm using just basic primary color instead, looks better and not scary imo)
  • Move default account and notifications to Preferences
  • Transaction Limits straight in Settings
  • 2FA/TOTP in Security

Things for another PR because it requires new screen additions:

  • Developer Dashboard in advanced
  • POS Information Screen

@sandipndev sandipndev force-pushed the settings-revamp branch 2 times, most recently from 6e6648d to f8aaf9f Compare December 12, 2023 10:26
@sandipndev sandipndev marked this pull request as ready for review December 12, 2023 17:42
@sandipndev
Copy link
Member Author

FYI this also would fail the end to end tests, but I will fix it in a different PR. Don't want to clutter the diff of this.

app/i18n/en/index.ts Outdated Show resolved Hide resolved
app/i18n/en/index.ts Outdated Show resolved Hide resolved
app/i18n/en/index.ts Outdated Show resolved Hide resolved
@nicolasburtey
Copy link
Member

I made some comment looking over the code. have not checked the code yet. The restructuring of the screens with smaller component is great. I'd love to explore them with the storybook if that one worked :(

we have to be mindful of the refactoring and the effect to network queries and how the cache is been managed. this was curated before to be updated when necessary (fetchPolicy: cache-and-network) but it doesn't seem this PR is considering this cache behavior right now.

I think we should wait to merge the PR until the e2e tests also pass:

  • there is no urgency to merge this PR
  • I don't think there would be many merge conflict if we wait a little longer, no one is really going to do lot of work on those screens in the upcoming days

@sandipndev sandipndev force-pushed the settings-revamp branch 2 times, most recently from 0fb89b2 to 314bea1 Compare December 13, 2023 04:40
@sandipndev
Copy link
Member Author

we have to be mindful of the refactoring and the effect to network queries and how the cache is been managed. this was curated before to be updated when necessary (fetchPolicy: cache-and-network) but it doesn't seem this PR is considering this cache behavior right now.

Wherever a fetchPolicy was being used, I have made sure the same is transferred to the split components in this PR as well. To my testing, there has been no side effects regarding this.

@sandipndev
Copy link
Member Author

Storybook is now working: #2921
Once that gets merged I'll rebase and add the storybook components in this PR.

@nicolasburtey
Copy link
Member

I'm planning to cleanup the translations file in a separate PR. would be best if there's a Python script to do this.

Why a python script? We don't use python in our stack

@sandipndev
Copy link
Member Author

@nicolasburtey @UncleSamtoshi This PR is working on device correctly - although the E2E tests fail because of the flakiness, since it contains a lot of the "top3" stuff, it'd be good if you can review this PR. Let's accelerate this.

@nicolasburtey
Copy link
Member

my first comments trying the PR locally

  • first loading the settings is flacky. I don't think the loading template is defined correctly
  • the username is not consistent. we have username in the Settings page, where we have @username in the Account page
  • the fact we need to scroll in the Account page to see the main option is not too great. I'm not sure to know the goal of having this big logo here (as long as we don't have the ability to upload a picture, this is just taking the most important real estate space on this page). I'm also not sure why the username has to be back here.
  • the point of sale button is not super obvious to me how it's designed. if you talk the copy icon then it copy it, but if you tap anywhere else it's opening a new tab. this is not what I would have expected given the opening a new tab is just an appendix to the text "Point of Sales" and smaller in size than the Copy --> my expectation would be that copy would be the default action. but maybe the default / action should indeed be the tab opening, but then it should be the bigger icon here.
  • the fact that 2fa is a screen behind Security is akward in the flow, because all the other element in this Security screen do not open a new screen but are rather button that are present in app
  • in the security screen, the hide balance button might not be visible if not scrolling down. the button should probably be appearing next to Hide Balance, not at the bottom of the text.

@sandipndev sandipndev force-pushed the settings-revamp branch 3 times, most recently from 7fffdb6 to e005366 Compare March 17, 2024 10:23
@sandipndev
Copy link
Member Author

sandipndev commented Mar 17, 2024

@nicolasburtey I have addressed all your comments and made the requested changes in this PR.

The Point of Sale is the only one which I am blank about and it needs further inputs from @designsats

the point of sale button is not super obvious to me how it's designed. if you talk the copy icon then it copy it, but if you tap anywhere else it's opening a new tab. this is not what I would have expected given the opening a new tab is just an appendix to the text "Point of Sales" and smaller in size than the Copy --> my expectation would be that copy would be the default action. but maybe the default / action should indeed be the tab opening, but then it should be the bigger icon here.

Here are the updated screenshots:

Explore Wallet Settings Page Explore Wallet Account Page
Simulator Screenshot - iPhone 15 Pro - 2024-03-17 at 17 31 12 Simulator Screenshot - iPhone 15 Pro - 2024-03-17 at 17 31 24
Logged In User Settings Page Logged In User Account Page
Simulator Screenshot - iPhone 15 Pro - 2024-03-17 at 17 32 53 Simulator Screenshot - iPhone 15 Pro - 2024-03-17 at 17 32 57
Logged In User Security Page
Simulator Screenshot - iPhone 15 Pro - 2024-03-17 at 17 45 07

feat: account banner on settings screen

feat: blink address

feat: account section ported

chore: stuff

feat: preferences

chore: security and privacy

feat: export tx

feat: login from banner

chore: empty right

feat: need help

fix: color profile for contact modal

feat: community

fix: tsx issue

chore: small stuff

feat: acc screen, auth email

feat: auth flow working

feat: tx limits

feat: perfected delete flow

chore: some more quirks

feat: upgrade trial acc

chore: upgrade for l1

feat: port complete

fix: check-code

fix: email issue

feat: ln addr

chore: addressing comments

feat: totp

feat: refetch totp and dont use caching

fix: check-code

fix: totp stuff

Update app/components/modal-tooltip/modal-tooltip.tsx

Co-authored-by: nicolasburtey <nicolasburtey@users.noreply.github.com>

Update app/i18n/en/index.ts

Co-authored-by: nicolasburtey <nicolasburtey@users.noreply.github.com>

Update app/i18n/en/index.ts

Co-authored-by: nicolasburtey <nicolasburtey@users.noreply.github.com>

Update app/screens/settings-screen/account/settings/phone.tsx

Co-authored-by: nicolasburtey <nicolasburtey@users.noreply.github.com>

Update app/screens/settings-screen/settings/account-ln-address.tsx

Co-authored-by: nicolasburtey <nicolasburtey@users.noreply.github.com>

fix: comments

test

test(e2e): updated settings screen (#2922)

chore: adding storybook

test

chore: addressing comments

fix: typo

fix: typo

fix: typo

test: e2e

test: e2e

test: e2e

test: e2e

test: e2e

fix: flickering issue save

test: e2e

chore: login method refresh in case

test: group suffix removed
@sandipndev sandipndev force-pushed the settings-revamp branch 4 times, most recently from f059c8d to b788896 Compare April 2, 2024 13:41
@nicolasburtey
Copy link
Member

spellcheck is going nuts lol

@UncleSamtoshi
Copy link
Contributor

UncleSamtoshi commented Apr 4, 2024

PR looks good, and I really like the changes! It looks a lot prettier and feels more intuitive using the settings.

Two issues that i found that should be address, but could be done in a follow up PR:

  • Deleting the account is slightly buggy and results in showing an alert for the session expiring. Likely the state is not being cleared correctly. This also might be something you didn't introduce.
  • When the lightning address is longer, the copy icon in the POS settings row is shifted right.

@sandipndev
Copy link
Member Author

Thank you @UncleSamtoshi for going through the PR thoroughly. I will address the two issues you flagged in a separate one now.

@sandipndev sandipndev merged commit 2f3a3e4 into main Apr 5, 2024
8 checks passed
2624789 pushed a commit to 2624789/galoy-mobile that referenced this pull request Apr 11, 2024
* feat: settings screen refactor

feat: account banner on settings screen

feat: blink address

feat: account section ported

chore: stuff

feat: preferences

chore: security and privacy

feat: export tx

feat: login from banner

chore: empty right

feat: need help

fix: color profile for contact modal

feat: community

fix: tsx issue

chore: small stuff

feat: acc screen, auth email

feat: auth flow working

feat: tx limits

feat: perfected delete flow

chore: some more quirks

feat: upgrade trial acc

chore: upgrade for l1

feat: port complete

fix: check-code

fix: email issue

feat: ln addr

chore: addressing comments

feat: totp

feat: refetch totp and dont use caching

fix: check-code

fix: totp stuff

Update app/components/modal-tooltip/modal-tooltip.tsx

Co-authored-by: nicolasburtey <nicolasburtey@users.noreply.github.com>

Update app/i18n/en/index.ts

Co-authored-by: nicolasburtey <nicolasburtey@users.noreply.github.com>

Update app/i18n/en/index.ts

Co-authored-by: nicolasburtey <nicolasburtey@users.noreply.github.com>

Update app/screens/settings-screen/account/settings/phone.tsx

Co-authored-by: nicolasburtey <nicolasburtey@users.noreply.github.com>

Update app/screens/settings-screen/settings/account-ln-address.tsx

Co-authored-by: nicolasburtey <nicolasburtey@users.noreply.github.com>

fix: comments

test

test(e2e): updated settings screen (GaloyMoney#2922)

chore: adding storybook

test

chore: addressing comments

fix: typo

fix: typo

fix: typo

test: e2e

test: e2e

test: e2e

test: e2e

test: e2e

fix: flickering issue save

test: e2e

chore: login method refresh in case

test: group suffix removed

* chore: LL utils - finding unused keys and removing Blink Address ones

* chore: comments

* chore: addressing most comments

* chore: security screen

* fix: rebased
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants