-
Notifications
You must be signed in to change notification settings - Fork 2
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
Registration design changes #1517
base: main
Are you sure you want to change the base?
Conversation
Moving main cta and updating content
Adding a `back` button to log user out during register Sharing the getting started header
Starting to wire that back up
adding back in images as reference
Switching to the original customer quote image
Better event tracking Not showing progress if the directive is `outdated` Updating typing
sorting props
Updating typing to make it more strict
src/directives/BetaOnboard.tsx
Outdated
|
||
// Handle tracking right away | ||
fireGtmEvent('RegisterFailed', { | ||
tenantAlreadyTaken, | ||
tenant: requestedTenant, | ||
}); |
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.
New event for gtm
const nameAlreadyUsed = useMemo( | ||
() => serverError?.includes(nameTaken), | ||
[serverError] | ||
); |
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.
Since we now pass this boolean to gtm I decided to just use state and figure it out inside the callback up above.
status={status} | ||
/> | ||
|
||
<HeaderMessage isRegister /> |
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.
The designs had the logo always stay so now just sharing that logo and message component
{nameMissing ? ( | ||
<Box> | ||
<AlertBox | ||
short | ||
severity="error" | ||
title={<FormattedMessage id="error.title" />} | ||
> | ||
<Typography> | ||
{intl.formatMessage({ | ||
id: 'tenant.errorMessage.empty', | ||
})} | ||
</Typography> | ||
</AlertBox> | ||
</Box> | ||
) : null} |
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 flipped the order of the errors around. It was kinda weird to have the error that is 100% directly related to the input further away. So moved server error to the top.
return null; | ||
} else { | ||
return ( | ||
// TODO (customer quote) should switch this to HTML to load faster |
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.
Worked on converting the image into HTML and did not want to lose that work. It looks alright doing it with HTML. However, we'd need to add a new font/typography/something for the quote as having it render with the same fonts as other stuff was kind of weird.
@@ -30,7 +70,7 @@ function CustomerQuote({ hideQuote }: Props) { | |||
: customerQuoteDark | |||
} | |||
width="85%" | |||
alt={intl.formatMessage({ id: 'company' })} | |||
alt={intl.formatMessage({ id: 'tenant.customer.quote' })} |
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 should not have had the alt
of Estuary
so just typed up the quote.
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.
Previously, the image was solely the Estuary logo so the alternative text, I would argue, was appropriate.
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.
const originOptions: string[] = useConstant(() => [ | ||
intl.formatMessage({ id: 'tenant.origin.radio.browserSearch.label' }), | ||
intl.formatMessage({ id: 'tenant.origin.radio.socialMedia.label' }), | ||
intl.formatMessage({ id: 'tenant.origin.radio.paidAdvertising.label' }), | ||
intl.formatMessage({ id: 'tenant.origin.radio.content.label' }), | ||
intl.formatMessage({ id: 'tenant.origin.radio.referral.label' }), | ||
intl.formatMessage({ id: 'tenant.origin.radio.webinar.label' }), | ||
surveyOptionOther, | ||
]); |
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.
Kept as many messageIds as possible but switched some to the new values.
<Grid | ||
container | ||
sx={{ | ||
p: 2, | ||
}} | ||
> |
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.
Eventually we're going to have a grid on all the login pages so using it here to make sure it works.
export const hiddenButAccessibleRadio: SxProps<Theme> = { | ||
'& .MuiRadio-root, & .MuiRadio-root input': { | ||
position: 'fixed', | ||
opacity: 0, | ||
pointerEvents: 'none', | ||
}, | ||
}; |
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 is kinda here because of spreading sx
related props into one another is a pain. But it also keeps us from having to repeat the same selectors over and over.
<HeaderMessage | ||
headerMessageId={headerMessageId} | ||
isRegister={isRegister} | ||
/> |
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.
The HeaderMessage
component is based off this.
'tenant.message.1': `The organization name will be used as a prefix for everything you create within Estuary. It will only be public if you share data with other organizations.`, | ||
|
||
'tenant.expectations': `You can use ${CommonMessages['catalogName.limitations']}`, | ||
'tenant.expectations.error': `Sorry, only letters(a-z), numbers(0-9), periods(.), underscores(_), and hyphens(-) allowed.`, | ||
|
||
'tenant.input.label': `Organization Name`, | ||
'tenant.input.placeholder': `acmeCo`, | ||
'tenant.errorMessage.empty': `You must provide a name before continuing.`, | ||
'tenant.errorMessage.empty': `You must provide an organization name before continuing.`, |
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.
Missed updating this back when we changed from Name
to Organization Name
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.
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.
The headers of the two sections are different sizes. Could you unify them?
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.
Screenshot please
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.
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 is on purpose
@@ -30,7 +70,7 @@ function CustomerQuote({ hideQuote }: Props) { | |||
: customerQuoteDark | |||
} | |||
width="85%" | |||
alt={intl.formatMessage({ id: 'company' })} | |||
alt={intl.formatMessage({ id: 'tenant.customer.quote' })} |
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.
Previously, the image was solely the Estuary logo so the alternative text, I would argue, was appropriate.
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.
Approved with moderate testing.
Issues
#1512
Changes
1512
other
inputcta
languagecancel
buttonTests
Manually tested
Automated tests
Playwright tests ran locally
Screenshots
Login Page
Register Page
SSO Page
legal stuff
Initial State

Client Error State

Loading State

Outdated state (this ONLY happens on the first load - otherwise we view this as an

in progress
directive and display this page like normal)tenant
Initial state

Client Error State

Loading State

Server Error State

Server AND Client Error State

Selected Option State
