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

Give users visual feedback when declining an IOU #3346

Closed
5 tasks done
Beamanator opened this issue Jun 3, 2021 · 15 comments · Fixed by #3498
Closed
5 tasks done

Give users visual feedback when declining an IOU #3346

Beamanator opened this issue Jun 3, 2021 · 15 comments · Fixed by #3498
Assignees
Labels
Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor

Comments

@Beamanator
Copy link
Contributor

Beamanator commented Jun 3, 2021

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Expected Result:

Users should see some visual feedback that their IOU declining is "in progress" with a simple spinner

Actual Result:

No visual feedback is given, so for a second (or more, if internet is slow) it can be confusing whether the IOU decline worked or not

Screen.Recording.2021-06-03.at.5.59.06.PM.mov

Action Performed:

  1. Make sure you have two accounts you can log into in e.cash
  2. On account A, request some money from account B
  3. Log in to account B and click "View Details" on the request that just came in
  4. Click "Decline"

Screen Shot 2021-06-03 at 5 57 45 PM

Workaround:

Can the user still use Expensify without this being fixed? Have you informed them of the workaround?

Platform:

Where is this issue occurring?

  • Web
  • iOS
  • Android
  • Desktop App
  • Mobile Web

Version Number: latest
Logs: n/a
Notes/Photos/Videos: See above photo & video
Expensify/Expensify Issue URL: n/a

View all open jobs on Upwork

Upwork job: https://www.upwork.com/jobs/~01e87cad52166458c7

@Beamanator Beamanator added External Added to denote the issue can be worked on by a contributor Engineering Weekly KSv2 labels Jun 3, 2021
@Beamanator Beamanator self-assigned this Jun 3, 2021
@MelvinBot
Copy link

Triggered auto assignment to @puneetlath (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

@MelvinBot MelvinBot added Daily KSv2 and removed Weekly KSv2 labels Jun 3, 2021
@Beamanator Beamanator removed the External Added to denote the issue can be worked on by a contributor label Jun 3, 2021
@Beamanator Beamanator assigned puneetlath and unassigned puneetlath Jun 3, 2021
@Beamanator Beamanator added the External Added to denote the issue can be worked on by a contributor label Jun 3, 2021
@rushatgabhane
Copy link
Member

rushatgabhane commented Jun 4, 2021

Proposal

In src/components/ReportTransaction.js
Create a new state isLoading which is false by default.

On pressing "Decline" rejectTransaction method is called.
Set the state of isLoading to true in rejectTransaction method.

Conditionally render rejectButtonLabelText and React Native Activity Indicator.

Result

On pressing "Decline", a spinner is rendered instead of "Decline".

@Beamanator
Copy link
Contributor Author

Nice @rushatgabhane , this is how I imagined the implementation going 👍 Once @puneetlath creates the job on Upwork, please apply there and we'll hire you for this job - then please submit a PR 💪

@Beamanator
Copy link
Contributor Author

Hey @rushatgabhane just to make sure we're going the right way, I wanted to get some thoughts on this approach vs another possible solution (see slack discussion here). I'm unassigning you for now while we get some thoughts, hope you don't mind!

@rushatgabhane
Copy link
Member

rushatgabhane commented Jun 7, 2021

@Beamanator yeah sure!
My bad, I wasn't aware of Onyx.
I think we shouldn't use my proposal, and instead drive state from Onyx for consistency of implementation and offline-first architecture.

@Beamanator
Copy link
Contributor Author

No worries @rushatgabhane ! I think we're going to wait a day for people to see & respond to my post in Slack, but yeah it kinda looks like we're going to go that way haha 👍

@Beamanator
Copy link
Contributor Author

Ok @rushatgabhane as expected, we're going to go the Onyx route :D Looks like you already understand how that will work, so I'll assign the issue back to you!

@Beamanator
Copy link
Contributor Author

@puneetlath please create the job on Upwork when you have a chance :)

@puneetlath
Copy link
Contributor

Sorry for the delay. Job is here: https://www.upwork.com/jobs/~01e87cad52166458c7

@Santhosh-Sellavel
Copy link
Collaborator

Applied for job on Upwork.

I am proposing that,

On pressing decline, will show an alert to confirm the decline request. When the user agrees to decline, it will initiate API and display a spinning wheel with In progress text.

On completion of API call will dismiss all, show the list.

Or will do the same without the user confirmation part.

Whatever you prefer.

@rushatgabhane
Copy link
Member

rushatgabhane commented Jun 9, 2021

Update: Created a pull request. #3498 & applied for job.

@puneetlath
Copy link
Contributor

@rushatgabhane just want to double-check that this was the job you applied to? I'm not seeing it in there https://www.upwork.com/jobs/~01e87cad52166458c7

@rushatgabhane
Copy link
Member

rushatgabhane commented Jun 10, 2021

@puneetlath Yes that's the job I have applied to.
Here's the upwork profile with which I applied from https://www.upwork.com/freelancers/~01990b51632551e540
You can see that my github is linked with that account.

@Beamanator
Copy link
Contributor Author

@Santhosh-Sellavel thanks for your proposal, but I've already selected Rushat's proposal for this job / issue :) Please feel free to propose solutions for other jobs / issues that have not had a proposal selected yet 👍

@puneetlath
Copy link
Contributor

Paid in upwork!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants