-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[Due for payment 2025-03-10] [$250] Make the Schedule Demo a primary static button and place it on the discount banner when there is one #55879
Comments
Triggered auto assignment to @dubielzyk-expensify ( |
Ill add an |
🚨 Edited by proposal-police: This proposal was edited at 2025-01-30 12:13:59 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.Make the Schedule Demo a primary static button and place it on the discount banner when there is one What is the root cause of that problem?N/A UI improvement What changes do you think we should make in order to solve the problem?
App/src/pages/settings/Subscription/CardSection/BillingBanner/EarlyDiscountBanner.tsx Line 34 in f7f5df4
to const {isDismissed, setIsDismissed} = useContext(EarlyDiscountContext);
const {isDismissed} = useContext(EarlyDiscountContext); And update App/src/pages/home/HeaderView.tsx Line 161 in f7f5df4
to const shouldShowGuideBooking = !!account && isDismissed && report?.reportID === account?.adminsRoomReportID && !!account?.guideDetails?.calendarLink;
{!isSmallScreenWidth && (
<Button
text={translate('getAssistancePage.scheduleADemo')}
onPress={() => {
openExternalLink(account?.guideDetails?.calendarLink ?? '');
}}
style={shouldUseNarrowLayout && styles.flex1}
/>)} This way we can display Edit: After 24 hours here in <View style={[styles.flexRow, styles.gap2, smallScreenStyle]}>
<Button
success
style={shouldUseNarrowLayout && styles.flex1}
text={translate('subscription.billingBanner.earlyDiscount.claimOffer')}
onPress={() => Navigation.navigate(ROUTES.SETTINGS_SUBSCRIPTION)}
/>
{discountInfo?.discountType === 25 && (
<Button
style={shouldUseNarrowLayout && styles.flex1}
text={translate('subscription.billingBanner.earlyDiscount.noThanks')}
onPress={() => setIsDismissed()}
/>
)}
{(!shouldUseNarrowLayout || discountInfo?.discountType === 50) && (
<Button
text={translate('getAssistancePage.scheduleADemo')}
onPress={() => {
openExternalLink(account?.guideDetails?.calendarLink ?? '');
}}
style={shouldUseNarrowLayout && styles.flex1}
/>)}
</View> What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?N/A What alternative solutions did you explore? (Optional)![]() on Screen.Recording.2025-01-29.at.11.50.39.AM.mov |
🚨 Edited by proposal-police: This proposal was edited at 2025-02-06 18:26:27 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.
What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?
App/src/pages/settings/Subscription/CardSection/BillingBanner/EarlyDiscountBanner.tsx Line 23 in f7f5df4
introduce new prop App/src/pages/settings/Subscription/CardSection/BillingBanner/EarlyDiscountBanner.tsx Line 49 in f7f5df4
App/src/pages/home/HeaderView.tsx Line 339 in f7f5df4
{!shouldShowGuideBookingButtonInEarlyDiscountBanner && shouldShowGuideBookingButton && guideBookingButton} and App/src/pages/home/HeaderView.tsx Line 389 in f7f5df4
{shouldShowEarlyDiscountBanner && (
<EarlyDiscountBanner
guideBookingButton={shouldShowGuideBookingButtonInEarlyDiscountBanner ? guideBookingButton : undefined}
isSubscriptionPage={false}
/>
)}
const shouldShowGuideBookingButton = true;
const shouldShowEarlyDiscountBanner = true;
const shouldShowGuideBookingButtonInEarlyDiscountBanner = shouldShowGuideBookingButton && shouldShowEarlyDiscountBanner;
App/src/pages/home/HeaderView.tsx Line 209 in f7f5df4
can apply the primary static style to the schedule demo button.
App/src/pages/home/HeaderView.tsx Line 220 in f7f5df4
and App/src/pages/home/HeaderView.tsx Line 369 in f7f5df4
App/src/pages/settings/Subscription/CardSection/BillingBanner/EarlyDiscountBanner.tsx Line 56 in f7f5df4
use
App/src/pages/settings/Subscription/CardSection/BillingBanner/EarlyDiscountBanner.tsx Line 87 in f7f5df4
use:
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?
What alternative solutions did you explore? (Optional)Alternative solution 1
App/src/pages/home/HeaderView.tsx Line 209 in f7f5df4
can apply the primary static style to the schedule demo button. Alternative solution 2
|
|
Updates
|
Assigning C+ from dupe issue that I just closed. |
@fedirjh Draft PR #56208 |
@fedirjh, @dubielzyk-expensify Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Any updates here? |
@fedirjh @dubielzyk-expensify Please let me know what you think about my proposal. Thank you |
I'll let @youssef-lr handle the proposal bit 😄 |
@dubielzyk-expensify it seems this is awaiting the design mockups before it’s exported to external : #55879 (comment) |
We'll wanna do this to avoid to much logic with the banner having two buttons sometimes and not others. Also we might make it dismissible in the future which would complicate things. cc @Expensify/design for viz |
I think that's fair. I had originally wanted to put both buttons in the banner but you make a great point about it getting funky with three buttons. That being said... what does mobile look like here? That might be a good reason to use the side-by-side buttons in the banner and then figure something else out for the dismiss button. |
I like doing the side-by-side buttons to avoid that super tall header with the full-width buttons. If this banner needs to also be dismissible, I think we can just add a |
Sounds good 👍 I'll update the OP |
Current assignee @fedirjh is eligible for the External assigner, not assigning anyone new. |
@dubielzyk-expensify when you get a moment, can you update the original comment with the final mock we landed on? Thanks! |
Updated! |
@fedirjh - can you pick a proposal here? |
Not overdue, Melvin |
Triggered auto assignment to @MonilBhavsar, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
📣 @truph01 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
Like the side by side design and proposal looks good 👍 |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.1.7-2 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2025-03-10. 🎊 For reference, here are some details about the assignees on this issue:
|
Problem:
The schedule demo and claim offer CTAs are competing on #admins for a new lead. We want the claim offer to be the focus.
It looks like this today:

Solution
Schedule Demo
a primary static action button styleClaim offer
CTA on the bannerUpwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @Issue Owner
Current Issue Owner: @fedirjhThe text was updated successfully, but these errors were encountered: