Open roryabraham opened 2 weeks ago
Triggered auto assignment to Contributor-plus team member for initial proposal review - @ZhenjaHorbach (External
)
Triggered auto assignment to @Christinadobrzyn (NewFeature
), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero%20process%20steps%20for%20feature%20requests for more details. Please add this Feature request to a GH project, as outlined in the SO.
:warning: It looks like this issue is labelled as a New Feature but not tied to any GitHub Project. Keep in mind that all new features should be tied to GitHub Projects in order to properly track external CAP software time :warning:
Current assignee @dubielzyk-expensify is eligible for the NewFeature assigner, not assigning anyone new.
@dubielzyk-expensify has volunteered to help finalize the design here.
Emphasize completed payments with animation
Improvement
playSound
in the button component from SOUNDS.DONE
to SOUNDS. SUCCESS
buttonOptions.push({ text: translate('iou.PaymentComplete') });
📣 @othmanekahtal! 📣 Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork. Please follow these steps:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>
📣 @AMSNX! 📣 Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork. Please follow these steps:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>
Contributor details Your Expensify account email: othmanekahtal@gmail.com
Upwork Profile Link: https://www.upwork.com/freelancers/~01a4cd3d656dcf35f6
✅ Contributor details stored successfully. Thank you for contributing to Expensify!
@othmanekahtal Thanks for your proposal ! But could you update your proposal and provide some links to the code where you plan to make changes, please?
@ZhenjaHorbach Hi Yauheni thanks for noticing, i forked the repo and i made the changes take a look at this link : https://github.com/Expensify/App/commit/d2c943a9ba2745e1aea262cfac926ad0fb82e48a
@othmanekahtal Thanks for your updates But I'm not sure that it is a good idea to modify the memoized paymentButtonOptions array like this
Plus If I understand correctly We are waiting for confirmation of designs from @dubielzyk-expensify
I think @dubielzyk-expensify and I have an understanding on the animation. What we want will be very similar to this:
Exactly. Let's try to replicate exactly what's above 👍
@roryabraham, @Christinadobrzyn, @ZhenjaHorbach, @dubielzyk-expensify Eep! 4 days overdue now. Issues have feelings too...
Not overdue
Edited by proposal-police: This proposal was edited at 2024-09-03 11:34:45 UTC.
Add animation and press feedback when paying report.
Feature request.
AnimatedSettlementButton
which handles the animation. The new component will contain the pay button and the payment complete text. There are 2 animations, scaling and fading. The animation will start if shouldStartPaidAnimation
prop is true.Set shouldStartPaidAnimation
prop to true once we press the pay button and trigger the haptic feedback.
const [shouldStartPaidAnimation, setShouldStartPaidAnimation] = useState(false);
setShouldStartPaidAnimation(true);
HapticFeedback.longPress(); // longPress feedback will trigger a strong feedback
Replace SettlementButton with AnimatedSettlementButton and pass the shouldStartPaidAnimation
prop.
https://github.com/Expensify/App/blob/4fe86eb6baf6d71aa8757b2362a788d20ee42109/src/components/ReportActionItem/ReportPreview.tsx#L467-L469
To keep the button rendered while animating, we need to update shouldShowSettlementButton
to include shouldStartPaidAnimation
.
https://github.com/Expensify/App/blob/4fe86eb6baf6d71aa8757b2362a788d20ee42109/src/components/ReportActionItem/ReportPreview.tsx#L306
const shouldShowSettlementButton = shouldStartPaidAnimation || ((shouldShowPayButton || shouldShowApproveButton) && !showRTERViolationMessage);
Hide the button after the animation finishes by passing onAnimationFinish
prop to the component.
onAnimationFinish={() => setShouldStartPaidAnimation(false)}
https://github.com/user-attachments/assets/863d8aaf-1dfd-4c0a-97fc-98cb40305bb8
@bernhardoj Thanks for your detailed proposal ! I like it ! The only thing I think we can make the new component even more flexible and universal But we can discuss this in PR
🎀👀🎀 C+ reviewed
Current assignee @roryabraham is eligible for the choreEngineerContributorManagement assigner, not assigning anyone new.
Triggered auto assignment to @isabelastisser (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.
Heads up - I'm going to be ooo 9/4-9/10. I think this will be fine without any BZ work while I'm away, but I'm assigning a buddy just in case.
@isabelastisser we are reviewing the propsoal at this time.
@roryabraham, can you check out the proposal review when you have a moment? TY!
Yeah, that sounds like a strange implementation to me. We're creating a settlement button then having a boolean prop to determine whether the animation should start or not?
Seems like we should be able to encapsulate the logic to trigger the animation within the component itself, no?
I decided to create a wrapper around the SettlementButton so the animation logic is decoupled from the SettlementButton.
not sure I agree that it's cleaner to control the animation in ReportPreview when it seems like it could be controlled internally by the AnimatedSettlementButton
. But I guess we can hash it out in the PR
PR is ready cc: @ZhenjaHorbach
MEDIUM priorities are debugging tools - moving this to LOW
Just a heads up that I'm back - thanks for watching @isabelastisser
slack discussion: https://expensify.slack.com/archives/CC7NECV4L/p1724447142877389
Strategy
Expensify is a financial collaboration app, and in any financial conversation, money moving hands from one person to another tends to be the most critical part. That critical moment needs to be clear, unambiguous, and confidence-inspiring.
Problem
When you receive a money request in NewDot, you’ll see a big green Pay button, and one tap instantly pays the request and changes and a checkmark appears saying that it’s paid. It’s such a crucial moment, but it’s unclear whether the payment was sent or not. As a user, I always find I have to double-take and make sure that the request was actually paid.
Solution
Update the payment flow slightly to draw more attention to it and celebrate the transfer of funds. To do this, update NewDot such that when you tap the Pay button:
Payment Complete
text, which collapses a few moments laterPayment Complete
text finishes collapsing:assets/sounds/success.mp3
sound, instead ofassets/sounds/done.mp3
like we do todayExample:
Issue Owner
Current Issue Owner: @ZhenjaHorbach