App icon indicating copy to clipboard operation
App copied to clipboard

[New Feature] Add Guide booking link to #admins header

Open muttmuure opened this issue 1 year ago β€’ 9 comments

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Version Number: v9.0.73-0 Reproducible in staging?: Y Reproducible in production?: Y If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: If this was caught during regression testing, add the test name, ID and link from TestRail: Email or phone of affected tester (no customers): Logs: https://stackoverflow.com/c/expensify/questions/4856 Expensify/Expensify Issue URL: Issue reported by: @muttmuure Slack conversation (hyperlinked to channel name): https://expensify.slack.com/archives/C07HPDRELLD/p1732636200993259

Action Performed:

Open #admins room for Workspace

Expected Result:

See Guide/Account Manager booking link in header

Actual Result:

N/A (this is a new feature)

Workaround:

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

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • [ ] Android: Standalone
  • [ ] Android: HybridApp
  • [ ] Android: mWeb Chrome
  • [ ] iOS: Standalone
  • [ ] iOS: HybridApp
  • [ ] iOS: mWeb Safari
  • [ ] MacOS: Chrome / Safari
  • [ ] MacOS: Desktop

Screenshots/Videos

image

Just an idea

Add any screenshot/video evidence

View all open jobs on GitHub

muttmuure avatar Dec 09 '24 17:12 muttmuure

Triggered auto assignment to @anmurali (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.

melvin-bot[bot] avatar Dec 09 '24 17:12 melvin-bot[bot]

Triggered auto assignment to @joekaufmanexpensify (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.

melvin-bot[bot] avatar Dec 09 '24 17:12 melvin-bot[bot]

Triggered auto assignment to @dubielzyk-expensify (Design), see these Stack Overflow questions for more details.

melvin-bot[bot] avatar Dec 09 '24 17:12 melvin-bot[bot]

Adding the @Expensify/design label so we can discuss possible ways to improve the call booking link visibility

muttmuure avatar Dec 09 '24 17:12 muttmuure

Edited by proposal-police: This proposal was edited at 2024-12-09 18:06:19 UTC.

Proposal

Please re-state the problem that we are trying to solve in this issue.

Add Guide booking link to #admins header

What is the root cause of that problem?

New Feature

What changes do you think we should make in order to solve the problem?

Conditionally render Book A Demo button from HeaderView.tsx .

add following snippet here

    const shouldShowDemoButton = ReportUtils.isAdminRoom(report);
    const bookDemo = () => {
        Linking.openURL(CONST.BOOK_DEMO_URL);
    }

And conditionally render button here.

    {shouldShowDemoButton &&
        <Button
        success//Pass this prop based on design team's suggestion for theme
        onPress={bookDemo}
        icon={}//add  whatever icon design team suggests
        text={translate('common.bookDemo')}
        style={[shouldUseNarrowLayout && styles.flex1]}
        />
    }

https://github.com/Expensify/App/blob/dc07fc67e8064b5941f7f8467d9bd5403c81f817/src/pages/home/HeaderView.tsx#L295-L296

And add translations to en.ts and es.ts file and add url to consts.ts file(currently there is no direct url available for booking a general demo with team, url for travel demo is avilable).

And do some small UI adjustments as design team demands.

What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?

NA

Result Option 1 (with success prop passed to the button)

Screenshot 2024-12-09 at 11 39 32β€―PM

Option 2 (without passing success prop to button) Screenshot 2024-12-09 at 11 39 08β€―PM

### What alternative solutions did you explore? (Optional)

Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

ChavdaSachin avatar Dec 09 '24 17:12 ChavdaSachin

Edited by proposal-police: This proposal was edited at 2024-12-10 05:18:29 UTC.

Proposal

Please re-state the problem that we are trying to solve in this issue.

Add Guide booking link to #admins header

What is the root cause of that problem?

New feature

What changes do you think we should make in order to solve the problem?

After this PR, we can have a way to get the guide data. Here is an example guild data.

Screenshot 2024-12-05 at 15 44 30
  1. We should only show the Guide booking in the admin room that has the reportID as account.adminsRoomReportID and the link to open is the canlenderLink
const shouldShowGuideBooking = report?.reportID === account.adminRoomReportID && account.guildDetails.email;
const guideBookingButton = (
    <Button
        success
        text={translate('common.guideBooking')}
        onPress={() => {
            openExternalLink(account.canlenderLink)
        }}
        icon={Expensicons.CalendarSolid}
    />
);
  1. We need to add this button here for the large screen
{shouldShowGuideBooking && !shouldUseNarrowLayout && guideBookingButton}

https://github.com/Expensify/App/blob/dc07fc67e8064b5941f7f8467d9bd5403c81f817/src/pages/home/HeaderView.tsx#L291

and here for the small screen

{!isLoading && shouldShowGuideBooking && shouldUseNarrowLayout && <View style={[styles.pb3, styles.ph5]}>{guideBookingButton}</View>}

https://github.com/Expensify/App/blob/dc07fc67e8064b5941f7f8467d9bd5403c81f817/src/pages/home/HeaderView.tsx#L316

What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?

It's a new UI, no need to add a test.

What alternative solutions did you explore? (Optional)

Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

nkdengineer avatar Dec 09 '24 18:12 nkdengineer

We could just use a green button much like we do for the "Start a free trial" button on the Concierge view? CleanShot 2024-12-09 at 15 16 16@2x

shawnborton avatar Dec 09 '24 20:12 shawnborton

Will this live along side the early adoption discount?

dannymcclain avatar Dec 09 '24 20:12 dannymcclain

Seems like I was assigned as a second BZ assignee on this issue. I don't think it needs two though, so going to unassign for now. LMK if there is anything I can help with though!

joekaufmanexpensify avatar Dec 09 '24 22:12 joekaufmanexpensify

Great Qs from the design team. Agree that the treatment Shawn is using is the right one and as long as early adoption discount isn't in the #admin room, then that could work.

image

dubielzyk-expensify avatar Dec 10 '24 04:12 dubielzyk-expensify

@dubielzyk-expensify Is the icon is an existing icon in the App?

nkdengineer avatar Dec 10 '24 05:12 nkdengineer

Yep. Here it is

dubielzyk-expensify avatar Dec 10 '24 05:12 dubielzyk-expensify

Mock looks great!

shawnborton avatar Dec 10 '24 14:12 shawnborton

@muttmuure at what point will we not show this button anymore? Once the user has taken a demo? Or once the user converts to a paid policy? Something else?

shawnborton avatar Dec 10 '24 14:12 shawnborton

I think once they convert to a paid policy makes the most sense.

muttmuure avatar Dec 10 '24 14:12 muttmuure

It's common for customers to take multiple demos

muttmuure avatar Dec 10 '24 14:12 muttmuure

Mock looks good to me! Might want to show the mobile version too just for super ultra clarity.

dannymcclain avatar Dec 10 '24 14:12 dannymcclain

Mobile mock: image

dubielzyk-expensify avatar Dec 11 '24 03:12 dubielzyk-expensify

Looks great!

shawnborton avatar Dec 11 '24 18:12 shawnborton

@anmurali, @dubielzyk-expensify Huh... This is 4 days overdue. Who can take care of this?

melvin-bot[bot] avatar Dec 16 '24 09:12 melvin-bot[bot]

Ready for the EXTERNAL label?

muttmuure avatar Dec 16 '24 11:12 muttmuure

Let's do it

dubielzyk-expensify avatar Dec 17 '24 05:12 dubielzyk-expensify

Job added to Upwork: https://www.upwork.com/jobs/~021869030905695211861

melvin-bot[bot] avatar Dec 17 '24 14:12 melvin-bot[bot]

Triggered auto assignment to Contributor-plus team member for initial proposal review - @eh2077 (External)

melvin-bot[bot] avatar Dec 17 '24 14:12 melvin-bot[bot]

I think we can go with @nkdengineer 's proposal because their proposal is more thoughtful than the other one.

[!NOTE]
https://github.com/Expensify/App/issues/53764#issuecomment-2531736033

@muttmuure at what point will we not show this button anymore? Once the user has taken a demo? Or once the user converts to a paid policy? Something else?

I think once they convert to a paid policy makes the most sense.

πŸŽ€πŸ‘€πŸŽ€ C+ reviewed

eh2077 avatar Dec 17 '24 15:12 eh2077

Triggered auto assignment to @grgia, see https://stackoverflow.com/c/expensify/questions/7972 for more details.

melvin-bot[bot] avatar Dec 17 '24 15:12 melvin-bot[bot]

πŸ“£ @nkdengineer πŸŽ‰ An offer has been automatically sent to your Upwork account for the Contributor role πŸŽ‰ Thanks for contributing to the Expensify app!

Offer link Upwork job Please accept the offer and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review πŸ§‘β€πŸ’» Keep in mind: Code of Conduct | Contributing πŸ“–

melvin-bot[bot] avatar Dec 18 '24 12:12 melvin-bot[bot]

Thanks for your proposal @nkdengineer, all yours!

grgia avatar Dec 18 '24 12:12 grgia

This issue has not been updated in over 15 days. @anmurali, @grgia, @eh2077, @dubielzyk-expensify, @nkdengineer eroding to Monthly issue.

P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

melvin-bot[bot] avatar Jan 13 '25 09:01 melvin-bot[bot]

PR in final review

grgia avatar Jan 15 '25 17:01 grgia