-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Support: Add concierge offer to contact form #16144
Conversation
This adds a screenshare offer to the contact form for Business users. For non-Business plan users, it adds a "Chat temporarily closed" message. These updates are for the all hands business onboarding experiment run in Happiness from 7/19-7/20. We'll reverse these changes afterwards.
Since this is time constrained (meaning it needs to be active for a constrained time window), we should probably build that into the code rather than relying on somebody deploying to turn it on or off. |
@southp can you add the timing to this based on my comment above, make any other changes you think a review would call for, and kick it back to somebody on our team for final review? I'd like to consider this a handoff to our team, and I'd like us to land it this week. |
as an individual component, `ChatBusinessConciergeNotice`.
@dllh @jeremeylduvall
cc @omarjackman @unDemian for further testing and review :) |
}; | ||
|
||
render = () => { | ||
const { translate } = this.props; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just nitpicking around, not a blocker but I guess we could destructure all used props here instead of using this.props
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks good, thanks for adding the selector for business users. Tests are running successfully. Tracks are recorded.
I tested with Business and Premium users before and after the time interval the notifications are not visible.
In the selected timeframe correct notifications are displayed to all types of users.
export default connect( | ||
( state ) => ( { | ||
isBusinessPlanUser: isBusinessPlanUser( state ), | ||
} ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This trailing comma doesn't cause a JS error?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice catch, no it's not throwing an error for me and the linter is not complaining about it because it is a comma between connect
parameters. The second parameter will be undefined
with or without the comma so we could just remove it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I always thought trailing commas only worked for arrays and I maybe import
definitions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it's standard for function calls, I mean connect( parameter, )
will work but looks weird. I'll remove it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Found a typo but this looks great
import { PLAN_BUSINESS } from 'lib/plans/constants'; | ||
|
||
/** | ||
* Returns an boolean flag indicating if the current user is a business plan user. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Returns an boolean flag"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated.
LGTM 🚢 |
This adds a screenshare offer to the contact form for Business users as part of the All Hands Business Concierge experiment that will be running in Happiness from 0 UTC on 7/19 to 0 UTC on 7/21. You can read more about that experiment in p7DVsv-2II-p2. Please do not merge this until 0 UTC on 7/19.
Business users should see the screenshare offering. Non-Business users should see a chat closure notice indicating when chat will reopen. They'll still be able to submit a ticket. Text is as follows:
A bit of background work on this in 251-gh-hg.
Testing
calypso_help_calendly_offer_click
via Tracks (you can log Tracks events to your console usinglocalStorage.setItem( 'debug', 'calypso:analytics*' );
).Screenshots
Biz
Non-Biz
cc @dllh