-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Emails page redesign #15778
Emails page redesign #15778
Conversation
Codecov Report
@@ Coverage Diff @@
## main #15778 +/- ##
==========================================
- Coverage 52.97% 52.97% -0.01%
==========================================
Files 1649 1651 +2
Lines 82442 82452 +10
Branches 7413 7334 -79
==========================================
+ Hits 43671 43676 +5
- Misses 34928 34932 +4
- Partials 3843 3844 +1
|
I've created a visual QA in Figma here: I don't know if this is the best format, but let me know if it works or if I should make any adjustments to how I share this QA feedback! Re: confirmation modal, I don't believe we need to show the confirmation modal. Only the non-primary email can be removed, and it's easy enough to add it back that we don't need the extra confirmation step. |
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'm really excited to see these pages cleaned up, great job!
I left a lot of comments with patterns and links to docs that you could not have been aware of yet so I hope you're not intimidated! I'm happy to go over this in our buddy sync later :)
client/web/src/user/settings/emails/SetUserPrimaryEmailForm.tsx
Outdated
Show resolved
Hide resolved
client/web/src/user/settings/emails/SetUserPrimaryEmailForm.tsx
Outdated
Show resolved
Hide resolved
client/web/src/user/settings/emails/SetUserPrimaryEmailForm.tsx
Outdated
Show resolved
Hide resolved
client/web/src/user/settings/emails/SetUserPrimaryEmailForm.tsx
Outdated
Show resolved
Hide resolved
client/web/src/user/settings/emails/SetUserPrimaryEmailForm.tsx
Outdated
Show resolved
Hide resolved
@quinnkeast would it be possible to ship this UI without the Also can you please check this UI one more time? 🙇 |
Yes, that sounds fine! Let me know if I can help with the issue.
For sure. Two last bits of feedback: The placeholder on the The external corners of the email list should have a 4px corner radius, like so: |
a8a9ff0
to
391ca02
Compare
.form-inline input:not(.is-invalid), | ||
.form-inline input:not(.is-valid) { | ||
padding-right: 2rem; | ||
} | ||
.loader-input { | ||
&__spinner { | ||
right: 1rem; | ||
} | ||
} |
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.
That seems like a bug in LoaderInput
, could we fix that generally for the LoaderInput
instead of just here? cc @tjkandala
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.
Fixed in latest commit by moving mr-sm-2
up from the <input>
to <LoaderInput>
.
The width of <LoaderInput>
s container <div>
was inflated by the margin, so right
wasn't big enough on the absolutely positioned spinner.
Before
After
@felixfbecker I moved some imports around (brought loading spinner to branded), can you take a look to make sure I didn't miss anything?
client/web/src/user/settings/emails/UserSettingsEmailsPage.scss
Outdated
Show resolved
Hide resolved
Pushed a quick commit to fix a UI state issue when emails are deleted in quick succession. We were filtering on emails at the time that the user clicked "remove", so when the mutation promise resolved, there was a chance that we added deleted emails back to the array. Now, we use a Also ensures that users can't click "Add" when the email is not valid |
That's the kind of bug refetching avoids :) |
@tjkandala thanks for UI fixes 🙇 |
0de13a3
to
edabd7c
Compare
@@ -1,8 +1,11 @@ | |||
/* eslint-disable @typescript-eslint/no-floating-promises */ |
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's a false-positive with act
calls in @testing-library/react-hooks
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.
LGTM visually, trust you can coordinate with the @sourcegraph/web team on any follow up changes they want to infrastructure, shared components, etc. We should not block this feature on those.
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.
Feel free to address comments at your discretion and merge
client/web/src/user/settings/emails/SetUserPrimaryEmailForm.tsx
Outdated
Show resolved
Hide resolved
.form-inline input:not(.is-invalid), | ||
.form-inline input:not(.is-valid) { | ||
padding-right: 2rem; | ||
} |
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.
question: What is this CSS still needed for?
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.
It's still used to prevent the input
element from "jumping" when spinner/valid/invalid icons appear
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.
Shouldn't that apply to all inputs then, not just this particular input? I.e. this style should live in global-styles/
?
Co-authored-by: Felix Becker <felix.b@outlook.com>
…cegraph/sourcegraph into cloud-emails-redesign-15409
Fixes #15409
Reworked Setting/Emails page, removed
FilteredConnection
and hopefully simplified a few things.There's a "Set primary address"
select
now, ty @ryanslade.A 80% of the time I spend recalling React.
CSS:
select
element can have fixed(-ish) width?filtered-connection
styles, what approach should I take?modal
looks that way, why did we setwidth: 32 rem
?@quinnkeast some of the styles are definitely not 1 to 1 as in Figma, which elements stand out to you the most?