-
Notifications
You must be signed in to change notification settings - Fork 3.2k
[$250] Add Download app
promo banner on desktop upload expense flow
#61422
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
Comments
Download app
promo banner on desktop upload expense flowDownload app
promo banner on desktop upload expense flow
Job added to Upwork: https://www.upwork.com/jobs/~021919550128050687551 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @mananjadhav ( |
🚨 Edited by proposal-police: This proposal was edited at 2025-05-06 00:57:28 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.Add Download app promo banner on desktop upload expense flow What is the root cause of that problem?Improvement What changes do you think we should make in order to solve the problem?
// Pseudocode
{platform === 'desktop' && (
<View style={[styles.ph2, styles.w100]}>
<BillingBanner
icon={CreditCardsNewGreen}
title="Get the app"
subtitle="Scan receipts on the go"
subtitleStyle={[styles.mt1, styles.textLabel]}
style={[styles.borderRadiusComponentLarge]}
rightComponent={
<Button
success
text={'Download'}
onPress={() => openExternalLink(CONST.APP_DOWNLOAD_LINKS.DESKTOP, true)}
/>
}
/>
</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)N/A ResultMonosnap.screencast.2025-05-06.06-27-57.mp4 |
ProposalPlease re-state the problem that we are trying to solve in this issue.Add Download app promo banner on desktop upload expense flow What is the root cause of that problem?New improvement request What changes do you think we should make in order to solve the problem?
Add the following code here
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?None What alternative solutions did you explore? (Optional)We can create new component
Result |
@mananjadhav Whoops! This issue is 2 days overdue. Let's get this updated quick! |
@mananjadhav thoughts on the proposals? |
I’ll have them reviewed in an hour. |
Because we're reusing the existing component, both the proposals are almost similar. @nyomanjyotisa's proposal looks better. Minor kinks can be worked in the PR. 🎀 👀 🎀 C+ reviewed. |
Current assignee @puneetlath is eligible for the choreEngineerContributorManagement assigner, not assigning anyone new. |
@mananjadhav, what's missing in ny proposal? There is very minor difference between both proposal, so I believe my proposal should be considered first complete proposal. cc: @puneetlath |
Yes hence I said almost similar but your proposal has incorrect icon and uses openExternalLink. Will let @puneetlath decide here. |
@mananjadhav, I had already mentioned that we need to use the correct icon and translation, and also that we need to navigate to Navigation.navigate(ROUTES.SETTINGS_APP_DOWNLOAD_LINKS). I just forgot to update the pseudocode. I added random icon just for showing the result.
|
I agree the proposals are very similar, but I think it makes sense to go forward with @nyomanjyotisa's proposal given the circumstances described. Sometimes there isn't an obvious winner and a judgement call has to be made. |
📣 @nyomanjyotisa 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
The PR is ready |
Added a comment 👍 |
Sorry for the late feedback, but how do we feel about the two competing green buttons so close to each other here? I wonder if we should make the button in the banner use our smaller size? Also, should we consider making the banner dismissible OR can we detect if you have the mobile apps installed and not show it if you do? |
Ah I didn't really think about this before. I'd be down to try a smaller button or even just using our default button style instead of the green one?
Not against either of these ideas. Would we try to detect if a user had one of the mobile apps by checking their logins or something? Don't see how else we could possibly know. |
Yeah, my guess is that we have it stored as an NVP in the account or something? cc @trjExpensify for advice there |
Oh hm... maybe the That said, I haven't looked into whether this is being set reliably, but looks like there's lastLogin and platform distinctions stored in this NVP. |
I can't access the repo. @puneetlath could help here? |
Oh yeah, I should've thought of that too. Let's make it smaller 👍
If we can detect it, then that'd be awesome. If not, then yeah maybe we should make it dismissible. |
Good finds @trjExpensify. It does look like those are being set. These are from my account. But it doesn't look like those are sent to NewDot, so we need to update them to be. Then we can use them for deciding whether or not to show the banner. |
Do we then add the scope here too? This would mean updating the account analytics NVP with the appropriate login dates. I also posted it on slack https://expensify.slack.com/archives/C01GTK53T8Q/p1747330645391679 if there's any other way as well. |
I think it's worth adding to the scope. We need to return those NVPs from the back-end. And then decide whether or not to show the banner based on their existence on the front-end. |
Yeah, I agree. There's no point creating something new if we have these already to use if we start sending them to the client. |
Coming from the this Slack conversation there was an idea of promoting the Expensify App in the upload receipts flow on desktop:
Notes:
Download
button should link toAccount/Settings
->About
->App download links
Workspace -> Company Cards
already. We should reusecc @Expensify/design @jamesdeanexpensify @puneetlath
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @The text was updated successfully, but these errors were encountered: