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

[$250] Update the workspace connected bank account page for clarity and consistency #47578

Open
anmurali opened this issue Aug 16, 2024 · 37 comments
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. External Added to denote the issue can be worked on by a contributor Reviewing Has a PR in review Weekly KSv2

Comments

@anmurali
Copy link

anmurali commented Aug 16, 2024

Users are confused when they go to add a bank account to their workspace and cannot select their linked personal bank accounts. So let's add some explainer text that educates them on the need for a Business Bank Account. While we're at it, let's also update the page to our newest pattern for consistency.

Today
image

Update to
image

Final copy for the note:

Note: Personal bank accounts can't be used for payments on workspaces.

cc @shawnborton @maddylewis @jamesdeanexpensify

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01a8923a1af5c75af2
  • Upwork Job ID: 1824502151817768637
  • Last Price Increase: 2024-08-23
  • Automatic offers:
    • BhuvaneshPatil | Contributor | 103689249
Issue OwnerCurrent Issue Owner: @Ollyws
@anmurali anmurali added the External Added to denote the issue can be worked on by a contributor label Aug 16, 2024
Copy link

melvin-bot bot commented Aug 16, 2024

Job added to Upwork: https://www.upwork.com/jobs/~01a8923a1af5c75af2

@melvin-bot melvin-bot bot changed the title Update the workspace connected bank account page for clarity and consistency [$250] Update the workspace connected bank account page for clarity and consistency Aug 16, 2024
@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Aug 16, 2024
Copy link

melvin-bot bot commented Aug 16, 2024

Triggered auto assignment to Contributor-plus team member for initial proposal review - @Ollyws (External)

@melvin-bot melvin-bot bot added the Daily KSv2 label Aug 16, 2024
@cretadn22
Copy link
Contributor

cretadn22 commented Aug 16, 2024

Proposal

Please re-state the problem that we are trying to solve in this issue.

Update the workspace connected bank account page for clarity and consistency (New design)

What is the root cause of that problem?

New design

What changes do you think we should make in order to solve the problem?

We need to update this Section Component


to

<Section
       title={translate('workspace.bankAccount.streamlinePayments')}
       subtitle={translate('bankAccount.toGetStarted')}
       subtitleMuted
       illustration={LottieAnimations.Safe}.  // Need to use the new design 
       titleStyles={styles.titleStyle}  // Need to define
       childrenStyles={styles.childrenStyles}  // Need to define
>

Also need to add new note (detai in the PR)

What alternative solutions did you explore? (Optional)

@Nodebrute
Copy link
Contributor

Nodebrute commented Aug 16, 2024

Edited by proposal-police: This proposal was edited at 2024-08-17T14:15:00Z.

Proposal

Please re-state the problem that we are trying to solve in this issue.

Add a note

What is the root cause of that problem?

Feature request

What changes do you think we should make in order to solve the problem?

We can add following styles here. We should conditionally render these styles and display this note only when the user has added a personal bank account. We can use this key to check if plaidAccountID is stored in Onyx.

 key: ONYXKEYS.PERSONAL_BANK_ACCOUNT
     <View style={[styles.flexRow, styles.mb4, styles.alignItemsCenter, styles.pb1, styles.pt1]}>
                        <Icon
                            src={Expensicons.Lightbulb}
                            fill={theme.icon}
                            additionalStyles={styles.mr2}
                            small
                        />
                        <Text
                            style={[styles.textLabelSupportingNormal]}
                            suppressHighlighting
                        >
                            {translate('note')} // we can add note here
                        </Text>
                    </View>

We should also add the note in en.ts and es.ts file

Further styles can be modified according to the design in the PR.

We can update this section here. Additionally, I think we should add the illustrationBackgroundColor to align with the design.

 <Section
                        illustration={LottieAnimations.FastMoney} //Animation of our choice
                        title={translate('workspace.bankAccount.streamlinePayments')}
                        subtitle={translate('bankAccount.toGetStarted')}
                        subtitleMuted
                    >

Note

As noted by a fellow contributor regarding the use of isCentralPane, I believe we should avoid using it. This prop is specifically for when the section is located in the central pane of the layout.

The main issue here is that we’re only checking isCentralPane, but we should also be checking for illustration. We need to update the check to (isCentralPane || !!illustration).

<View style={[styles.w100, isCentralPane && (shouldUseNarrowLayout ? styles.p5 : contentPaddingOnLargeScreens ?? styles.p8)]}>

Additionally, I noticed that the design uses the same styles for 'Connect Manually' and 'Connect with Plaid'. Therefore, we should also update the styles for 'Connect with Plaid' to match.
Screenshot 2024-08-17 at 2 15 00 PM

All the font sizes and other styles can be further adjusted in the pull request.

What alternative solutions did you explore? (Optional)

@BhuvaneshPatil
Copy link
Contributor

BhuvaneshPatil commented Aug 16, 2024

Proposal

Please re-state the problem that we are trying to solve in this issue.

Update the workspace connected bank account page for clarity and consistency [Design Update]

What is the root cause of that problem?

New Feature

What changes do you think we should make in order to solve the problem?

  1. We should use Section component's prop to apply new design.
    <Section
    icon={Illustrations.MoneyWings}
    title={translate('workspace.bankAccount.streamlinePayments')}
    >
<Section
  title={translate("workspace.bankAccount.streamlinePayments")}
  illustration={LottieAnimations.Coin}
  isCentralPane
  subtitle={translate("bankAccount.toGetStarted")}
  subtitleMuted
></Section>;
  1. By passing illustration instead of icon, we can achieve given design. With this prop, we need to add extra prop isCentralPane (which is missing in both proposals), and if it's passed the content doesn't have padding. With these props we need to pass subtitle prop as well, with subtitleMuted.
  2. For showing new content (one with Bulb icon in design), we will need to add following view - Inside
    component (styles can be modified according to design)
<View
  style={[
    styles.flexRow,
    styles.mv3,
    styles.alignItemsStart,
    styles.gap2,
    styles.mln1,
  ]}
>
  <Icon
    src={Expensicons.Lightbulb}
    height={variables.iconSizeLarge}
    width={variables.iconSizeLarge}
    fill={theme.icon}
    additionalStyles={styles.p1}
  />
  <Text style={[styles.textLabelSupporting, styles.textAlignLeft]}>
    Lorem ipsum dolor sit amet consectetur adipisicing elit. Eligendi fugiat
    facilis nisi alias
  </Text>
</View>;

Result -
Screenshot 2024-08-17 at 2 57 19 AM

Without isCentralPane Screenshot 2024-08-17 at 2 58 26 AM

What alternative solutions did you explore? (Optional)

@shawnborton
Copy link
Contributor

Just adding a note that we do have an existing lottie animation to use in the top green area of the card, so it will match other places in our app (like in Settings) where the header area is animated.

@melvin-bot melvin-bot bot added the Overdue label Aug 19, 2024
@Ollyws
Copy link
Contributor

Ollyws commented Aug 19, 2024

Looking at the timestamps of the proposal edits it seems that @BhuvaneshPatil had the first fully fleshed-out proposal so lets go with them.
🎀👀🎀 C+ reviewed

Copy link

melvin-bot bot commented Aug 19, 2024

Triggered auto assignment to @francoisl, see https://stackoverflow.com/c/expensify/questions/7972 for more details.

@Nodebrute
Copy link
Contributor

@Ollyws When @BhuvaneshPatil proposed the solution, the only difference between his proposal and mine was the usage of isCentralPane, which was incorrect in his proposal. The main difference between our proposals was indeed the usage of isCentralPane. I later pointed out the correct root cause analysis (RCA). Could you please review the proposal again?

@Nodebrute
Copy link
Contributor

Hey @Ollyws, I wanted to clarify that isCentralPane isn't applicable here, as it is specifically meant for central panel layouts. I was the first to propose the note code and subsequently suggested the correct approach for adding animation.

@BhuvaneshPatil
Copy link
Contributor

@Nodebrute By looking at timestamps, when I posted my proposal, your proposal didn't mention about updating /adding illustration prop in. <Section/> component

@Nodebrute
Copy link
Contributor

@BhuvaneshPatil Hey, I missed that we were also supposed to add the illustration. I've since updated my code to include the illustrations, but my approach is quite different from yours. Just like in your proposal, it looks like you missed mentioning the 'Connect Online with Plaid' button

@Nodebrute
Copy link
Contributor

Nodebrute commented Aug 19, 2024

Hey @Ollyws, here's a timeline of all the proposals:

  • @cretadn22 was the first to mention the section code.
  • I then introduced the note code.
  • @BhuvaneshPatil's proposal addressed both the section and note codes and pointed out that the isCentralPane was missing from the previous proposals.
  • I subsequently updated my proposal by adding a note explaining why we should avoid using isCentralPane and correct section code. I also added the change for the 'Connect Online with Plaid' button.

@Nodebrute
Copy link
Contributor

Hi @Ollyws, just a gentle reminder to let me know your thoughts on this when you have a moment. Thanks!

@melvin-bot melvin-bot bot added the Overdue label Aug 21, 2024
@tgolen
Copy link
Contributor

tgolen commented Aug 22, 2024

Hey, I'm just seeing this issue, but whoever works on this, can you please only make the new "Note" visible when the user has a personal bank account connected? I don't think the note needs to be visible if they haven't ever added a personal bank account and it could be just as confusing.

@Nodebrute
Copy link
Contributor

Proposal updated with the new requested changes.

Copy link

melvin-bot bot commented Aug 22, 2024

@francoisl, @Ollyws Whoops! This issue is 2 days overdue. Let's get this updated quick!

Copy link

melvin-bot bot commented Aug 23, 2024

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

@francoisl
Copy link
Contributor

Hi @Ollyws, can confirm the chosen proposal is still valid please, especially given the last request to only make the note visible after an account is connected, and also the discussion about using isCentralPane above in this comment?

@Ollyws
Copy link
Contributor

Ollyws commented Aug 26, 2024

I still stand by my initial selection of @BhuvaneshPatil

It was the first and only proposal that suggested adding all the required features including the illustration prop.
Although it was the second proposal to outline usage of the Section component, the first proposal to mention it would have caused a regression due to lack of the isCentralPane prop.

@Nodebrute then built upon @BhuvaneshPatil’s proposal suggesting we further modify what is essentially the functionality of the isCentralPane prop to check for the illustration, while it may be a nice addition it does not constitute a new, unique proposal in itself.

As for this note, it was added after I had selected the proposal so it can be considered a note addressed to the selected contributor for consideration in their PR.

@melvin-bot melvin-bot bot removed the Overdue label Aug 26, 2024
Copy link

melvin-bot bot commented Aug 26, 2024

📣 @BhuvaneshPatil 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app!

Offer link
Upwork job
Please accept the offer and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑‍💻
Keep in mind: Code of Conduct | Contributing 📖

@trjExpensify trjExpensify added the Bug Something is broken. Auto assigns a BugZero manager. label Aug 29, 2024
@melvin-bot melvin-bot bot added the Overdue label Aug 29, 2024
Copy link

melvin-bot bot commented Aug 29, 2024

Triggered auto assignment to @kadiealexander (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

@trjExpensify
Copy link
Contributor

Adding the Bug label to get a BZ assigned. Also, @BhuvaneshPatil can you provide an ETA for the PR? Thanks!

Copy link

melvin-bot bot commented Aug 29, 2024

@francoisl, @Ollyws, @BhuvaneshPatil Whoops! This issue is 2 days overdue. Let's get this updated quick!

Copy link

melvin-bot bot commented Aug 30, 2024

@francoisl @Ollyws @BhuvaneshPatil @kadiealexander this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

@BhuvaneshPatil
Copy link
Contributor

@trjExpensify I am facing trouble testing on IOS device. I will raise PR as soon as it works

@melvin-bot melvin-bot bot added the Overdue label Sep 1, 2024
@trjExpensify
Copy link
Contributor

Have you taken your questions to #expensify-open-source to get some help on what's blocking you from testing on iOS?

@maddylewis
Copy link
Contributor

@BhuvaneshPatil - bump on Tom's question when you have a sec! #47578 (comment)

@BhuvaneshPatil
Copy link
Contributor

PR is in review

@BhuvaneshPatil
Copy link
Contributor

@anmurali

While working on PR I found out that this page is also using old design shall we cover this page as well.

I would love to work on that as well. Let me know what you think.

Screenshot 2024-09-12 at 11 53 07 PM

@shawnborton
Copy link
Contributor

I think following up to fix that particular spot makes sense for consistency's sake.

I also think something we missed when implementing this is that we should use our standard edge-to-edge push rows here. Right now we use the old "rounded pill" option row style which I think we should kill:

CleanShot.2024-09-13.at.07.25.38.mp4

The correct style looks like this:

CleanShot.2024-09-13.at.07.26.46.mp4

@trjExpensify
Copy link
Contributor

@BhuvaneshPatil can you work on a PR to address Shawn's feedback please, and then tag Design for review? Thanks!

@BhuvaneshPatil
Copy link
Contributor

Sure. I will raise the PR.

@trjExpensify what do you think about this comment

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Sep 19, 2024
@BhuvaneshPatil
Copy link
Contributor

raised the PR, uploaded video for macos web. will update videos on other platforms next morning

@trjExpensify
Copy link
Contributor

I agree with Shawn:

I think following up to fix that particular spot makes sense for consistency's sake.

@BhuvaneshPatil
Copy link
Contributor

@trjExpensify @shawnborton PR is now merged 🎊

@trjExpensify
Copy link
Contributor

Great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is broken. Auto assigns a BugZero manager. External Added to denote the issue can be worked on by a contributor Reviewing Has a PR in review Weekly KSv2
Projects
None yet
Development

No branches or pull requests