-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[HOLD for payment 2021-11-04] Don't allow attendee deselection from the bill-split confirmation page #5295
Comments
Triggered auto assignment to @jboniface ( |
Proposed SolutionWe have to pass one prop that indicates that it is group split or not. So based on that we can disable interactivity on IOUConfirmationList.js screen. I will suggest to update code as shown below. /src/pages/iou/IOUModal.js add below code <IOUConfirmPage
...
isGroupSplit={this.steps.length === 2} // *** Add this code
/> src/pages/iou/steps/IOUConfirmPage.js add below code const propTypes = {
...
/** Amount split belongs to group or not */
isGroupSplit: PropTypes.bool.isRequired, // *** Add this prop type
};
<IOUConfirmationList
...
isGroupSplit={props.isGroupSplit} // *** Add this code
/> Within src/components/IOUConfirmationList.js add below code const propTypes = {
...
/** Amount split belongs to group or not */
isGroupSplit: PropTypes.bool.isRequired, // *** Add this prop type
...
};
<OptionsList
...
disableRowInteractivity={!this.props.isGroupSplit} // Update this line
...
/> Here is Screen Record - how it works after updates. Screen.Recording.2021-09-16.at.9.44.36.PM.mov |
@Julesssss should this be on n6-hold? |
Added. |
ProposalIt's clear we don't want to allow deselection in the confirmation list. So here App/src/components/IOUConfirmationList.js Lines 331 to 332 in 50cb8d4
We can straight away just pass This should be enough. Note: |
Thanks for the proposals. I think @Santhosh-Sellavel's is a simpler solution as we're reusing the
However, I'm not sure about this part. Wouldn't this still be necessary for the 'launch bill split from group chat' flow? |
We need expected result as under:
Flow1: When flow initiated via Flow2: Flow init from Group Chat My solution cover both flow. We need one props that indicates that current flow initiated via Group Chat > Split Bill OR FAB + > Split Bill, So thereafter we can control allow or not allow deselect for each flow as per need. In my screen record both flow works as expected. |
@Julesssss looks like we lost site of this since it's on n6-hold, do you have a response to the proposal? |
@PrashantMangukiya your solution seems to work well, but my issue with it is that we don't need to set up a new |
@Julesssss let me figure out if |
@Julesssss Ideally either we should allow/restrict in both cases it causes a inconsistency in the flow. I find it confusing |
I disagree about allowing both cases, the current flows are confusing as users can remove users on multiple steps. The only reason we added removal deselection in the first place is that there is no way to deselect if splitting a bill from within a group chat. |
I agree this change in this issue is necessary and well planned. |
@Julesssss I did research again on this solution and I understood below things: It looks like that we can not use Below are screenshot for Case1 and Case2 We need below expected result for this issue
So we need to take decision that Split Bill flow initiated via FAB button or from Group Chat. Based on that decision we can implement logic to Disable deselect attendees from FAB button Split Bill flow (case1), and allow to deselect if Split started from Group Chat (Case2). So we can not take this decision based on So based on that props we have to take decision on src/components/IOUConfirmationList.js component and disable or enable deselection. Based on my research at present I can not see other way to implement this solution. So the solution I suggested will work as expected and I can not see any other way to solve this problem. I will keep thinking and provide solution if found any other way. @Julesssss please guide me if I missed something, I will appreciate it. Thank you. |
Oh right. Thanks for explaining that, I forgot that the prop was used to distinguish between Send Money/Split Bills! In that case, I think we can move forward with your proposal once The N6 hold is cleared. |
Thanks @Julesssss, please message me once N6 hold cleared. So thereafter I will proceed to submit pr. |
still on hold |
Please refer to this post for updated information on the |
still on hold |
@jboniface thank you. I accepted Upwork offer. I will prepare and submit pr asap. |
I will be reviewing the PR and I will let you know @Julesssss when this is ready for final review and possibly for merge. See More |
|
On staging, not on production yet |
payment scheduled for tomorrow, not overdue |
paid with n6-hold bonus |
Thanks |
CC @trjExpensify
Action Performed:
Expected Result:
You should not be able to deselect attendees from this flow. But this should be possible if you split from within a group chat!
Actual Result:
You are able to deselect attendees from this flow.
Platform:
Where is this issue occurring?
Version Number: 1.0.98-0
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Bug5231690_Recording__1041.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:
View all open jobs on GitHub
view this job
The text was updated successfully, but these errors were encountered: