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

Fix-up Post Editor’s preferences modal #35369

Merged
merged 8 commits into from
Oct 15, 2021

Conversation

stokesman
Copy link
Contributor

@stokesman stokesman commented Oct 5, 2021

Follow-up to #35142. This is meant to do a few things:

It's worth noting the approach for the second point on improving visuals is by edits to only component structure and props as opposed to adding custom CSS. The idea is to follow the approach Riad proposed:

Ideally we shouldn't have to customize things other than with using the regular props offered by the UI components.

#35142 (comment)

While the visuals can be further improved, some of it may be better done with careful improvement to component styles.

How has this been tested?

Manually.

Screenshots

Before (since #35332) clipping and sticky breakage are evident

edit-post-prefs-before-with-navigator-overflow.mp4

With this PR clipping and sticky issues resolved

edit-post-prefs-after-with-navigator-overflow.mp4

Blocks screen

Before After…
before-edit-post-prefs-blocks after-edit-post-prefs-blocks

Root menu

Before After…
before-edit-post-prefs after-edit-post-prefs

Types of changes

Enhancement

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • I've tested my changes with keyboard and screen readers.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR (please manually search all *.native.js files for terms that need renaming or removal).

@stokesman stokesman added [Type] Code Quality Issues or PRs that relate to code quality [Package] Edit Post /packages/edit-post labels Oct 5, 2021
@github-actions
Copy link

github-actions bot commented Oct 5, 2021

Size Change: -6.66 kB (-1%)

Total Size: 1.07 MB

Filename Size Change
build/block-editor/index.min.js 134 kB +24 B (0%)
build/block-library/blocks/button/editor-rtl.css 470 B -4 B (-1%)
build/block-library/blocks/button/editor.css 470 B -4 B (-1%)
build/block-library/blocks/button/style-rtl.css 549 B -51 B (-8%)
build/block-library/blocks/button/style.css 549 B -51 B (-8%)
build/block-library/blocks/buttons/editor-rtl.css 309 B -6 B (-2%)
build/block-library/blocks/buttons/editor.css 309 B -6 B (-2%)
build/block-library/blocks/buttons/style-rtl.css 317 B -53 B (-14%) 👏
build/block-library/blocks/buttons/style.css 317 B -53 B (-14%) 👏
build/block-library/blocks/post-author/editor-rtl.css 0 B -210 B (removed) 🏆
build/block-library/blocks/post-author/editor.css 0 B -210 B (removed) 🏆
build/block-library/blocks/post-author/style-rtl.css 175 B -7 B (-4%)
build/block-library/blocks/post-author/style.css 176 B -5 B (-3%)
build/block-library/blocks/query-title/editor-rtl.css 0 B -85 B (removed) 🏆
build/block-library/blocks/query-title/editor.css 0 B -85 B (removed) 🏆
build/block-library/blocks/template-part/editor-rtl.css 560 B -76 B (-12%) 👏
build/block-library/blocks/template-part/editor.css 559 B -76 B (-12%) 👏
build/block-library/blocks/term-description/editor-rtl.css 0 B -90 B (removed) 🏆
build/block-library/blocks/term-description/editor.css 0 B -90 B (removed) 🏆
build/block-library/editor-rtl.css 9.65 kB -148 B (-2%)
build/block-library/editor.css 9.65 kB -152 B (-2%)
build/block-library/index.min.js 148 kB +26 B (0%)
build/block-library/style-rtl.css 10.3 kB -97 B (-1%)
build/block-library/style.css 10.3 kB -96 B (-1%)
build/components/index.min.js 212 kB -5.24 kB (-2%)
build/edit-post/index.min.js 29.4 kB +45 B (0%)
build/edit-post/style-rtl.css 7.12 kB -103 B (-1%)
build/edit-post/style.css 7.12 kB -102 B (-1%)
build/edit-site/index.min.js 30 kB +244 B (+1%)
build/edit-site/style-rtl.css 5.56 kB +26 B (0%)
build/edit-site/style.css 5.56 kB +29 B (+1%)
build/element/index.min.js 3.21 kB +42 B (+1%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 931 B
build/admin-manifest/index.min.js 1.09 kB
build/annotations/index.min.js 2.7 kB
build/api-fetch/index.min.js 2.21 kB
build/autop/index.min.js 2.08 kB
build/blob/index.min.js 459 B
build/block-directory/index.min.js 6.2 kB
build/block-directory/style-rtl.css 1.01 kB
build/block-directory/style.css 1.01 kB
build/block-editor/default-editor-styles-rtl.css 378 B
build/block-editor/default-editor-styles.css 378 B
build/block-editor/style-rtl.css 13.9 kB
build/block-editor/style.css 13.9 kB
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 65 B
build/block-library/blocks/archives/style.css 65 B
build/block-library/blocks/audio/editor-rtl.css 58 B
build/block-library/blocks/audio/editor.css 58 B
build/block-library/blocks/audio/style-rtl.css 111 B
build/block-library/blocks/audio/style.css 111 B
build/block-library/blocks/audio/theme-rtl.css 125 B
build/block-library/blocks/audio/theme.css 125 B
build/block-library/blocks/block/editor-rtl.css 161 B
build/block-library/blocks/block/editor.css 161 B
build/block-library/blocks/calendar/style-rtl.css 207 B
build/block-library/blocks/calendar/style.css 207 B
build/block-library/blocks/categories/editor-rtl.css 84 B
build/block-library/blocks/categories/editor.css 83 B
build/block-library/blocks/categories/style-rtl.css 79 B
build/block-library/blocks/categories/style.css 79 B
build/block-library/blocks/code/style-rtl.css 90 B
build/block-library/blocks/code/style.css 90 B
build/block-library/blocks/code/theme-rtl.css 131 B
build/block-library/blocks/code/theme.css 131 B
build/block-library/blocks/columns/editor-rtl.css 206 B
build/block-library/blocks/columns/editor.css 205 B
build/block-library/blocks/columns/style-rtl.css 497 B
build/block-library/blocks/columns/style.css 496 B
build/block-library/blocks/cover/editor-rtl.css 546 B
build/block-library/blocks/cover/editor.css 547 B
build/block-library/blocks/cover/style-rtl.css 1.17 kB
build/block-library/blocks/cover/style.css 1.17 kB
build/block-library/blocks/embed/editor-rtl.css 488 B
build/block-library/blocks/embed/editor.css 488 B
build/block-library/blocks/embed/style-rtl.css 417 B
build/block-library/blocks/embed/style.css 417 B
build/block-library/blocks/embed/theme-rtl.css 124 B
build/block-library/blocks/embed/theme.css 124 B
build/block-library/blocks/file/editor-rtl.css 300 B
build/block-library/blocks/file/editor.css 300 B
build/block-library/blocks/file/style-rtl.css 255 B
build/block-library/blocks/file/style.css 255 B
build/block-library/blocks/file/view.min.js 322 B
build/block-library/blocks/freeform/editor-rtl.css 2.44 kB
build/block-library/blocks/freeform/editor.css 2.44 kB
build/block-library/blocks/gallery/editor-rtl.css 977 B
build/block-library/blocks/gallery/editor.css 982 B
build/block-library/blocks/gallery/style-rtl.css 1.6 kB
build/block-library/blocks/gallery/style.css 1.59 kB
build/block-library/blocks/gallery/theme-rtl.css 122 B
build/block-library/blocks/gallery/theme.css 122 B
build/block-library/blocks/group/editor-rtl.css 159 B
build/block-library/blocks/group/editor.css 159 B
build/block-library/blocks/group/style-rtl.css 57 B
build/block-library/blocks/group/style.css 57 B
build/block-library/blocks/group/theme-rtl.css 78 B
build/block-library/blocks/group/theme.css 78 B
build/block-library/blocks/heading/style-rtl.css 114 B
build/block-library/blocks/heading/style.css 114 B
build/block-library/blocks/home-link/style-rtl.css 247 B
build/block-library/blocks/home-link/style.css 247 B
build/block-library/blocks/html/editor-rtl.css 332 B
build/block-library/blocks/html/editor.css 333 B
build/block-library/blocks/image/editor-rtl.css 731 B
build/block-library/blocks/image/editor.css 730 B
build/block-library/blocks/image/style-rtl.css 502 B
build/block-library/blocks/image/style.css 505 B
build/block-library/blocks/image/theme-rtl.css 124 B
build/block-library/blocks/image/theme.css 124 B
build/block-library/blocks/latest-comments/style-rtl.css 284 B
build/block-library/blocks/latest-comments/style.css 284 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B
build/block-library/blocks/latest-posts/editor.css 137 B
build/block-library/blocks/latest-posts/style-rtl.css 528 B
build/block-library/blocks/latest-posts/style.css 527 B
build/block-library/blocks/list/style-rtl.css 94 B
build/block-library/blocks/list/style.css 94 B
build/block-library/blocks/media-text/editor-rtl.css 266 B
build/block-library/blocks/media-text/editor.css 263 B
build/block-library/blocks/media-text/style-rtl.css 493 B
build/block-library/blocks/media-text/style.css 490 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 568 B
build/block-library/blocks/navigation-link/editor.css 570 B
build/block-library/blocks/navigation-link/style-rtl.css 94 B
build/block-library/blocks/navigation-link/style.css 94 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 300 B
build/block-library/blocks/navigation-submenu/editor.css 299 B
build/block-library/blocks/navigation-submenu/style-rtl.css 195 B
build/block-library/blocks/navigation-submenu/style.css 195 B
build/block-library/blocks/navigation-submenu/view.min.js 343 B
build/block-library/blocks/navigation/editor-rtl.css 1.71 kB
build/block-library/blocks/navigation/editor.css 1.71 kB
build/block-library/blocks/navigation/style-rtl.css 1.64 kB
build/block-library/blocks/navigation/style.css 1.64 kB
build/block-library/blocks/navigation/view.min.js 2.74 kB
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 377 B
build/block-library/blocks/page-list/editor.css 377 B
build/block-library/blocks/page-list/style-rtl.css 198 B
build/block-library/blocks/page-list/style.css 198 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B
build/block-library/blocks/paragraph/editor.css 157 B
build/block-library/blocks/paragraph/style-rtl.css 273 B
build/block-library/blocks/paragraph/style.css 273 B
build/block-library/blocks/post-comments-form/style-rtl.css 140 B
build/block-library/blocks/post-comments-form/style.css 140 B
build/block-library/blocks/post-comments/style-rtl.css 360 B
build/block-library/blocks/post-comments/style.css 359 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B
build/block-library/blocks/post-excerpt/editor.css 73 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B
build/block-library/blocks/post-excerpt/style.css 69 B
build/block-library/blocks/post-featured-image/editor-rtl.css 396 B
build/block-library/blocks/post-featured-image/editor.css 397 B
build/block-library/blocks/post-featured-image/style-rtl.css 156 B
build/block-library/blocks/post-featured-image/style.css 156 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 391 B
build/block-library/blocks/post-template/style.css 392 B
build/block-library/blocks/post-terms/style-rtl.css 73 B
build/block-library/blocks/post-terms/style.css 73 B
build/block-library/blocks/post-title/style-rtl.css 60 B
build/block-library/blocks/post-title/style.css 60 B
build/block-library/blocks/preformatted/style-rtl.css 103 B
build/block-library/blocks/preformatted/style.css 103 B
build/block-library/blocks/pullquote/editor-rtl.css 198 B
build/block-library/blocks/pullquote/editor.css 198 B
build/block-library/blocks/pullquote/style-rtl.css 378 B
build/block-library/blocks/pullquote/style.css 378 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 262 B
build/block-library/blocks/query-pagination/editor.css 255 B
build/block-library/blocks/query-pagination/style-rtl.css 234 B
build/block-library/blocks/query-pagination/style.css 231 B
build/block-library/blocks/query/editor-rtl.css 131 B
build/block-library/blocks/query/editor.css 132 B
build/block-library/blocks/quote/style-rtl.css 187 B
build/block-library/blocks/quote/style.css 187 B
build/block-library/blocks/quote/theme-rtl.css 220 B
build/block-library/blocks/quote/theme.css 222 B
build/block-library/blocks/rss/editor-rtl.css 202 B
build/block-library/blocks/rss/editor.css 204 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 165 B
build/block-library/blocks/search/editor.css 165 B
build/block-library/blocks/search/style-rtl.css 374 B
build/block-library/blocks/search/style.css 375 B
build/block-library/blocks/search/theme-rtl.css 64 B
build/block-library/blocks/search/theme.css 64 B
build/block-library/blocks/separator/editor-rtl.css 99 B
build/block-library/blocks/separator/editor.css 99 B
build/block-library/blocks/separator/style-rtl.css 250 B
build/block-library/blocks/separator/style.css 250 B
build/block-library/blocks/separator/theme-rtl.css 172 B
build/block-library/blocks/separator/theme.css 172 B
build/block-library/blocks/shortcode/editor-rtl.css 474 B
build/block-library/blocks/shortcode/editor.css 474 B
build/block-library/blocks/site-logo/editor-rtl.css 769 B
build/block-library/blocks/site-logo/editor.css 769 B
build/block-library/blocks/site-logo/style-rtl.css 165 B
build/block-library/blocks/site-logo/style.css 165 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 84 B
build/block-library/blocks/site-title/editor.css 84 B
build/block-library/blocks/social-link/editor-rtl.css 177 B
build/block-library/blocks/social-link/editor.css 177 B
build/block-library/blocks/social-links/editor-rtl.css 824 B
build/block-library/blocks/social-links/editor.css 823 B
build/block-library/blocks/social-links/style-rtl.css 1.32 kB
build/block-library/blocks/social-links/style.css 1.32 kB
build/block-library/blocks/spacer/editor-rtl.css 307 B
build/block-library/blocks/spacer/editor.css 307 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 471 B
build/block-library/blocks/table/editor.css 472 B
build/block-library/blocks/table/style-rtl.css 481 B
build/block-library/blocks/table/style.css 481 B
build/block-library/blocks/table/theme-rtl.css 188 B
build/block-library/blocks/table/theme.css 188 B
build/block-library/blocks/tag-cloud/style-rtl.css 146 B
build/block-library/blocks/tag-cloud/style.css 146 B
build/block-library/blocks/template-part/theme-rtl.css 101 B
build/block-library/blocks/template-part/theme.css 101 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 87 B
build/block-library/blocks/verse/style.css 87 B
build/block-library/blocks/video/editor-rtl.css 571 B
build/block-library/blocks/video/editor.css 572 B
build/block-library/blocks/video/style-rtl.css 173 B
build/block-library/blocks/video/style.css 173 B
build/block-library/blocks/video/theme-rtl.css 124 B
build/block-library/blocks/video/theme.css 124 B
build/block-library/common-rtl.css 815 B
build/block-library/common.css 812 B
build/block-library/reset-rtl.css 474 B
build/block-library/reset.css 474 B
build/block-library/theme-rtl.css 665 B
build/block-library/theme.css 669 B
build/block-serialization-default-parser/index.min.js 1.09 kB
build/block-serialization-spec-parser/index.min.js 2.79 kB
build/blocks/index.min.js 46 kB
build/components/style-rtl.css 15.3 kB
build/components/style.css 15.3 kB
build/compose/index.min.js 10.4 kB
build/core-data/index.min.js 12.4 kB
build/customize-widgets/index.min.js 11.2 kB
build/customize-widgets/style-rtl.css 1.5 kB
build/customize-widgets/style.css 1.49 kB
build/data-controls/index.min.js 614 B
build/data/index.min.js 7.1 kB
build/date/index.min.js 31.5 kB
build/deprecated/index.min.js 428 B
build/dom-ready/index.min.js 304 B
build/dom/index.min.js 4.46 kB
build/edit-navigation/index.min.js 15.4 kB
build/edit-navigation/style-rtl.css 3.76 kB
build/edit-navigation/style.css 3.76 kB
build/edit-post/classic-rtl.css 492 B
build/edit-post/classic.css 494 B
build/edit-widgets/index.min.js 15.8 kB
build/edit-widgets/style-rtl.css 4.12 kB
build/edit-widgets/style.css 4.13 kB
build/editor/index.min.js 37.5 kB
build/editor/style-rtl.css 3.78 kB
build/editor/style.css 3.77 kB
build/escape-html/index.min.js 517 B
build/format-library/index.min.js 5.93 kB
build/format-library/style-rtl.css 571 B
build/format-library/style.css 571 B
build/hooks/index.min.js 1.55 kB
build/html-entities/index.min.js 424 B
build/i18n/index.min.js 3.6 kB
build/is-shallow-equal/index.min.js 501 B
build/keyboard-shortcuts/index.min.js 1.72 kB
build/keycodes/index.min.js 1.3 kB
build/list-reusable-blocks/index.min.js 1.85 kB
build/list-reusable-blocks/style-rtl.css 838 B
build/list-reusable-blocks/style.css 838 B
build/media-utils/index.min.js 2.92 kB
build/notices/index.min.js 845 B
build/nux/index.min.js 2.03 kB
build/nux/style-rtl.css 747 B
build/nux/style.css 743 B
build/plugins/index.min.js 1.83 kB
build/primitives/index.min.js 921 B
build/priority-queue/index.min.js 582 B
build/react-i18n/index.min.js 671 B
build/redux-routine/index.min.js 2.63 kB
build/reusable-blocks/index.min.js 2.19 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.6 kB
build/server-side-render/index.min.js 1.52 kB
build/shortcode/index.min.js 1.48 kB
build/token-list/index.min.js 562 B
build/url/index.min.js 1.74 kB
build/viewport/index.min.js 1.02 kB
build/warning/index.min.js 248 B
build/widgets/index.min.js 7.11 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.04 kB

compressed-size-action

@stokesman stokesman force-pushed the update/edit-post-preferences-navigator branch from a03e720 to 5def9ad Compare October 11, 2021 00:24
@stokesman stokesman changed the title Refine Post Editor’s preferences modal Fix-up Post Editor’s preferences modal Oct 11, 2021
Comment on lines -328 to +333
<Card isBorderless>
<CardBody>
<NavigatorProvider initialPath="/">
<NavigatorScreen path="/">
<NavigatorProvider initialPath="/">
<NavigatorScreen path="/">
<Card isBorderless size="small">
<CardBody>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Putting the Cards and CardBodys inside the NavigatorScreens prevents the clipping of focus indicators and allows the root screen to use a padding different from the child screens.

@stokesman stokesman marked this pull request as ready for review October 11, 2021 03:16
@stokesman stokesman force-pushed the update/edit-post-preferences-navigator branch from 8ee8811 to 204fb37 Compare October 11, 2021 05:53
Copy link
Contributor

@ciampo ciampo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @stokesman , thank you again for noticing the regression first and working on this PR!

I personally like the direction taken here — especially about removing custom CSS in favour of components composition.

I will also add other folks who know the preferences modal design and functionality a bit better to help with the review. (@jasmussen @ntsekouras and @jorgefilipecosta )

@jasmussen
Copy link
Contributor

This is beautiful work. Notably I love how much bespoke CSS just for this one component has been removed, in favor of using the components to lay things out. Any layout issues present can then be fixed in the components themselves, ideally benefitting the whole system.

This looks good at the wide breakpoint

Screenshot 2021-10-12 at 10 37 05

It also looks pretty good at the small breakpoint, which I understand was the focus of this one:

Screenshot 2021-10-12 at 10 37 20

However this one feels like a small step backwards:
Screenshot 2021-10-12 at 10 37 20

It's nice that the focus style is not clipped, but the button is fairly huge for what it needs to be. Can it be inline-block?

The subheading, "Blocks", also feels like it sits alone, and with its normal font size and weight it looks like text rather than a heading. Can it be a big heading like it was before?

An option would also be to have an icon-only back button, and then have the "Blocks" subsection item sit immediately after it, horizontally.

@stokesman stokesman force-pushed the update/edit-post-preferences-navigator branch from 204fb37 to cf7452b Compare October 14, 2021 16:07
@stokesman
Copy link
Contributor Author

stokesman commented Oct 14, 2021

Thanks for the review @jasmussen! I've pushed some updates—the main one to try your suggestion:

An option would also be to have an icon-only back button, and then have the "Blocks" subsection item sit immediately after it, horizontally.

post-preferences-navigator-card-header-text16-wcolor

I didn't want to go back to the heading size as it was close to but slightly off from the modal header font size. I've made it the same size as the modal header, but kept it a lighter weight. Though it's not visually apparent, I also got rid of the actual h2 that was used because the headings that follow are h2s (and that is appropriate for the screen @>medium breakpoints where the screen heading does not exist). The other minor point is I removed the top margin from the the inner section headings to tighten-up the gap under the screen/card header.

I didn't update the snapshot this time around in case we need to make more changes. That's a test that will fail.

</CardBody>
</Card>
/>
<Text size="16" color="#1d2327">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This color appears to come from some React Native files that we should not be using in most cases, and frankly should consider deprecating in the native pieces.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this originally was a h2, ideally we should use Heading, but I'm afraid that it wouldn't support the styles required here (one more for #35464)

As an alternative, we could for now simply add as="h2" to the Text component

Also, I wonder if there's a better alternative to adding a hardcoded hex color inline? Maybe we should create a classname instead and add that styling to styles.scss (especially if that color already exists as a scss variable)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The color shall be gone. It was only meant to be temporary until further updates bring color consistency. We can let the inconsistency be a spur for such improvements (if anyone is sensitive enough 😄 ).

Since this originally was a h2

An h2 could make sense here (in my first commit I had the <Text as="h2"…) but I realized all the headings that follow are also h2. If we simply make those h3 it's not correct at greater than medium breakpoints where the screen heading doesn't exist. Instead of adding any complexity to change heading level by breakpoint I decided to not use the h2. It seems better though it's definitely not the focus of the PR.

Copy link
Contributor

@jasmussen jasmussen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is what I see:

modal

This is a step forward in a few ways:

  • It replaces a ton of bespoke CSS in favor of using the new components. This is a massive gain, well done.
  • The icon-only back works well
  • It's a good small-viewport experience

Because of the code quality improvements, it does not preclude future and further enhancements.

It also does surface some challenges, though:

  • There's still a font-size: 0.9rem; rule in the code, which feels arbitrary and ill-advised. It also makes the back label 16px font size, which feels too big. But since this is existing code that you have not touched, the issue should not block this PR.

In that vein, it feels like enough of a step forward that following up on the font size is something that we could look at separately as we continue the extraction of bespoke CSS, which really is a noble goal.

I did leave one small note about a color that we shouldn't be using, and which can be removed before this PR lands.

Thank you.

Copy link
Contributor

@ciampo ciampo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's still a font-size: 0.9rem; rule in the code, which feels arbitrary and ill-advised. It also makes the back label 16px font size, which feels too big. But since this is existing code that you have not touched, the issue should not block this PR.

Yeah, definitely. Once components like Text and Heading feel a bit more mature, it'd be great also to re-write parts of the UI with it — and the preferences modal feels like a good self-contained piece of UI.

</CardBody>
</Card>
/>
<Text size="16" color="#1d2327">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this originally was a h2, ideally we should use Heading, but I'm afraid that it wouldn't support the styles required here (one more for #35464)

As an alternative, we could for now simply add as="h2" to the Text component

Also, I wonder if there's a better alternative to adding a hardcoded hex color inline? Maybe we should create a classname instead and add that styling to styles.scss (especially if that color already exists as a scss variable)

@stokesman
Copy link
Contributor Author

Thanks for reviewing again @jasmussen and @ciampo 🙇

It replaces a ton of bespoke CSS in favor of using the new components. This is a massive gain, well done.

Credit really goes to Riad for putting in the new component (while leaving the CSS 😄 ).

as we continue the extraction of bespoke CSS, which really is a noble goal.

And there is indeed more of that to be done for the preferences modal. I am eager to land the fixes in this PR without getting into more of that for now. I might have exercised more restraint in these changes just to get the sure-wins in sooner. Thanks for taking it in stride Joen and Marco!

@stokesman stokesman merged commit 5705c4b into trunk Oct 15, 2021
@stokesman stokesman deleted the update/edit-post-preferences-navigator branch October 15, 2021 17:03
@github-actions github-actions bot added this to the Gutenberg 11.8 milestone Oct 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Package] Edit Post /packages/edit-post [Type] Code Quality Issues or PRs that relate to code quality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants