Skip to content
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 2024-04-25] [$500] Remove Save the World from Global Create, and move it into Settings #36649

Closed
zsgreenwald opened this issue Feb 15, 2024 · 86 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Daily KSv2 Design External Added to denote the issue can be worked on by a contributor NewFeature Something to build that is a new item.

Comments

@zsgreenwald
Copy link
Contributor

zsgreenwald commented Feb 15, 2024

Problem

Global create is designed to call out quick actions to use New Expensify, whether its creating an expense or starting a chat. It's prime real estate for users to understand how to use our platform. Save the World is a unique campaign to help increase adoption, but it's not usable for everyone (especially those who don't know teachers). For that reason, it causes confusion and distraction from everything else in global create.

Solution

  1. Remove Save The World from Global Create
image
  1. Move Save The World over to Account Settings (by selecting the avatar) > Under the General section underneath About and Help. See below:
image

Notes:

  • We'll want to confirm with design with icon we want to use
  • We'll want to confirm the same RHP (right-hand pane) signup flow still works when it's selected. When someone clicks the new Save the World button, it'll take them to https://new.expensify.com/teachersunite while alsp sparning the RHP signup flow: See below for what the RHP looks like:
image
Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01ac6974700a830749
  • Upwork Job ID: 1758271776871825408
  • Last Price Increase: 2024-02-15
  • Automatic offers:
    • Ollyws | Reviewer | 0
    • Amarparab2024 | Contributor | 0
Issue OwnerCurrent Issue Owner: @Amarparab2024
@zsgreenwald zsgreenwald added External Added to denote the issue can be worked on by a contributor NewFeature Something to build that is a new item. labels Feb 15, 2024
@melvin-bot melvin-bot bot changed the title Remove Save the World from Global Create, and move it into Settings [$500] Remove Save the World from Global Create, and move it into Settings Feb 15, 2024
Copy link

melvin-bot bot commented Feb 15, 2024

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

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Feb 15, 2024
Copy link

melvin-bot bot commented Feb 15, 2024

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

Copy link

melvin-bot bot commented Feb 15, 2024

@melvin-bot melvin-bot bot added Daily KSv2 Weekly KSv2 and removed Daily KSv2 labels Feb 15, 2024
@aeioual
Copy link
Contributor

aeioual commented Feb 15, 2024

Proposal

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

Remove Save the World from Global Create, and move it into Settings

What is the root cause of that problem?

New request

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

We must remove the save the world part from below:

{
icon: Expensicons.Heart,
text: translate('sidebarScreen.saveTheWorld'),
onSelected: () => interceptAnonymousUser(() => Navigation.navigate(ROUTES.TEACHERS_UNITE)),
},

And then move it under settings just below about over here:

{
translationKey: 'initialSettingsPage.about',
icon: Expensicons.Info,
routeName: ROUTES.SETTINGS_ABOUT,
},

What alternative solutions did you explore? (Optional)

N/A

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Feb 15, 2024
@abzokhattab
Copy link
Contributor

abzokhattab commented Feb 15, 2024

Proposal

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

Remove Save the World from Global Create, and move it into Settings

What is the root cause of that problem?

new feature

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

move this code

{
icon: Expensicons.Heart,
text: translate('sidebarScreen.saveTheWorld'),
onSelected: () => interceptAnonymousUser(() => Navigation.navigate(ROUTES.TEACHERS_UNITE)),
},

to

},
],
}),
[styles.pt4],

like this:

    const generaltMenuItemsData = useMemo(
        () => ({
            sectionStyle: {
                ...styles.pt4,
            },
            sectionTranslationKey: 'initialSettingsPage.general',
            items: [
                {
                    translationKey: 'initialSettingsPage.help',
                    icon: Expensicons.QuestionMark,
                    action: () => {
                        Link.openExternalLink(CONST.NEWHELP_URL);
                    },
                    iconRight: Expensicons.NewWindow,
                    shouldShowRightIcon: true,
                    link: CONST.NEWHELP_URL,
                },
                {
                    translationKey: 'initialSettingsPage.about',
                    icon: Expensicons.Info,
                    routeName: ROUTES.SETTINGS_ABOUT,
                },
                {
                    translationKey: 'sidebarScreen.saveTheWorld',
                    icon: Expensicons.Heart,
                    routeName: ROUTES.TEACHERS_UNITE,
                },
            ],
        }),
        [styles.pt4],
    );

@zsgreenwald
Copy link
Contributor Author

I like the idea of keeping the heart as the icon, as mentioned here:

icon: Expensicons.Heart,

@Ollyws
Copy link
Contributor

Ollyws commented Feb 17, 2024

@Amarparab2024's proposal LGTM. Keep in mind we should preserve that interceptAnonymousUser()

🎀👀🎀 C+ reviewed

Copy link

melvin-bot bot commented Feb 17, 2024

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

@badeggg
Copy link
Contributor

badeggg commented Feb 19, 2024

Proposal

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

Remove Save the World from Global Create, and move it into Settings

What is the root cause of that problem?

new feature request

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

I don't think it's complete to simply move the place of link button. The 'save the world' page is not consistent with other account settings page.

  1. (like other proposals say) Delete
    {
    icon: Expensicons.Heart,
    text: translate('sidebarScreen.saveTheWorld'),
    onSelected: () => interceptAnonymousUser(() => Navigation.navigate(ROUTES.TEACHERS_UNITE)),
    },

    add similar config
                {
                   translationKey: 'sidebarScreen.saveTheWorld',
                   icon: Expensicons.Heart,
                   routeName: ROUTES.SETTINGS_SAVE_THE_WORLD,
                   action: () => {
                       interceptAnonymousUser(
                           waitForNavigate(() => {
                               Navigation.navigate(ROUTES.SETTINGS_SAVE_THE_WORLD);
                           })
                       );
                   },
               },

below code

{
translationKey: 'initialSettingsPage.about',
icon: Expensicons.Info,
routeName: ROUTES.SETTINGS_ABOUT,
},

  1. Change file src/pages/TeachersUnite/SaveTheWorldPage.tsx to make it's layout align with other account settings items. The code change is too large to fit in this proposal, although it's not difficult. The result looks like:
    image
    The icon need redesign, I demo it with PalmTree, which is used in 'about' setting page.

  2. Other small code changes to coordinate the main change. e.g.
    add

        [SCREENS.SETTINGS.SAVE_THE_WORLD]: () => require('../../../pages/TeachersUnite/SaveTheWorldPage').default as React.ComponentType,

below

[SCREENS.SETTINGS.ABOUT]: () => require('../../../pages/settings/AboutPage/AboutPage').default as React.ComponentType,

What alternative solutions did you explore? (Optional)

N/A

@badeggg
Copy link
Contributor

badeggg commented Feb 19, 2024

I don't think it's complete to simply move the place of link button. The 'save the world' page is not consistent with other account settings page. Especially on web. There is no other account setting items which show page content on right modal.

the 'save the world' page:
image
the 'about' page:
image
the 'security' page:
image

Hence my proposal.

@laurenreidexpensify
Copy link
Contributor

@marcochavezf bump for review #36649 (comment) to assign thanks

@marcochavezf
Copy link
Contributor

This proposal looks more complete since I agree we'd need to update the layout for the SaveTheWord page, though it was posted after C+ review. Said that, let's assign @Amarparab2024 and we can split the compensation if the PR ends up with some of @badeggg's suggested changes

@melvin-bot melvin-bot bot removed the Help Wanted Apply this label when an issue is open to proposals by contributors label Feb 19, 2024
Copy link

melvin-bot bot commented Feb 19, 2024

📣 @Ollyws 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app!

Offer link
Upwork job

Copy link

melvin-bot bot commented Feb 19, 2024

📣 @Amarparab2024 🎉 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 📖

@aeioual
Copy link
Contributor

aeioual commented Feb 19, 2024

thanks for assigning @marcochavezf , the bug description wants the save the world to stay same as RHP, you can check the comments from the bug description :)

the same RHP (right-hand pane) signup flow still works when it's selected. When someone clicks the new Save the World button, it'll take them to https://new.expensify.com/teachersunite while alsp sparning the RHP signup flow: See below for what the RHP looks like:

@marcochavezf
Copy link
Contributor

Oh interesting, but then that means the Save the world button won't be selected because the content of another page will be shown beneath the RHP. I will apply the Design label to gut-check if this is desired given the new design for the settings menu

@Ollyws
Copy link
Contributor

Ollyws commented Apr 2, 2024

What I was referring to was the route, which at the moment is https://new.expensify.com/teachersunite, as we will be moving it to settings the route will change to https://new.expensify.com/settings/teachersunite I'm wondering if we also need to preserve the initial route (https://new.expensify.com/teachersunite) as maybe it's linked by external websites? Or are we good to remove it?

@trjExpensify
Copy link
Contributor

The https://new.expensify.com/teachersunite route is currently linked on our Expensify.org website, when you click the "Let's get started" button. We should of course update that, so it won't be a problem going forward.

The biggest reason to keep it would be because we sent a newsletter to everyone with the existing URL, which would be broken if someone clicks it now and we deprecate the route:

image

@mountiny
Copy link
Contributor

mountiny commented Apr 2, 2024

@Ollyws Let's implement the https://new.expensify.com/settings/teachersunite route and we can add 301 reditect from https://new.expensify.com/teachersunite to https://new.expensify.com/settings/teachersunite to catch anyone coming from old links

@trjExpensify
Copy link
Contributor

Yep, makes sense!

Copy link

melvin-bot bot commented Apr 11, 2024

⚠️ Looks like this issue was linked to a Deploy Blocker here

If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

If a regression has occurred and you are the assigned CM follow the instructions here.

If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

@laurenreidexpensify
Copy link
Contributor

@marcochavezf ^^

@marcochavezf
Copy link
Contributor

Deploy blocker being fixed here

@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Weekly KSv2 labels Apr 18, 2024
@melvin-bot melvin-bot bot changed the title [$500] Remove Save the World from Global Create, and move it into Settings [HOLD for payment 2024-04-25] [$500] Remove Save the World from Global Create, and move it into Settings Apr 18, 2024
Copy link

melvin-bot bot commented Apr 18, 2024

Reviewing label has been removed, please complete the "BugZero Checklist".

@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Apr 18, 2024
Copy link

melvin-bot bot commented Apr 18, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.62-17 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 2024-04-25. 🎊

For reference, here are some details about the assignees on this issue:

Copy link

melvin-bot bot commented Apr 18, 2024

BugZero Checklist: The PR adding this new feature has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

  • [@Ollyws] Please propose regression test steps to ensure the new feature will work correctly on production in further releases.
  • [@laurenreidexpensify] Link the GH issue for creating/updating the regression test once above steps have been agreed upon.

@badeggg
Copy link
Contributor

badeggg commented Apr 18, 2024

Can I get a split of the bounty?

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Apr 24, 2024
@laurenreidexpensify
Copy link
Contributor

Clarifying something internally - https://expensify.slack.com/archives/C01SKUP7QR0/p1714039326863999

@laurenreidexpensify
Copy link
Contributor

Payment Summary:

C+ @Ollyws $500 payment in Upwork - please accept Contract
Contributor: @Amarparab2024 $500 payment issued in Upwork
Discretionary Bonus: @badeggg $100 payment in Upwork - please apply to job https://www.upwork.com/jobs/~01d337b089ca21ab6f

@badeggg as a one time exception we're issuing a discretionary bonus for your help in developing the solution

@Ollyws
Copy link
Contributor

Ollyws commented Apr 26, 2024

Accepted, thanks.

@badeggg
Copy link
Contributor

badeggg commented Apr 26, 2024

Thanks, fair enough ;-)

@laurenreidexpensify
Copy link
Contributor

  • C+ @Ollyws $500 payment issued in Upwork
  • Contributor: @Amarparab2024 $500 payment issued in Upwork
  • Discretionary Bonus: @badeggg $100 - payment will be issued in Upwork once contract is firmed

@Ollyws can you please confirm re: regression steps thanks

@Ollyws
Copy link
Contributor

Ollyws commented Apr 26, 2024

I don't think a regression test is required here as it's just a design change. But if we were to add one it would be:

1. Go to Profile settings
2. Verify 'Save the world' is located above the signout button
3. Select 'Save the world' and verify it opens the save the world page

@laurenreidexpensify
Copy link
Contributor

Yeah I agree - a regression test isn't needed thinking about it now.

All payments have been made, no outstanding tasks here, closing out. Thanks all!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Daily KSv2 Design External Added to denote the issue can be worked on by a contributor NewFeature Something to build that is a new item.
Projects
None yet
Development

No branches or pull requests