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

Patterns: add opt out preference to the 'Choose a Pattern' modal when adding a page #65026

Merged
merged 8 commits into from
Sep 8, 2024

Conversation

ramonjd
Copy link
Member

@ramonjd ramonjd commented Sep 4, 2024

What and how?

Fixes: #56181

Deleting the entire modal is too easy, so this PR:

  • Adds a preference to disable the loading of the "Choose a pattern" modal when adding new pages.
  • Ensures the modal doesn't reappear when you edit a page's template/template parts/patterns and return to the page.

Previous attempt here:

Why?

When creating a new page, the "Choose a pattern" will not go away until you choose a pattern. I grow weary of it.

Testing Instructions

Tip

If you see the welcome modal competing for your attention, please ignore. I added an issue: #65104

  1. Create a new page either in the site editor or post editor
  2. The patterns selector will appear. Dismiss it.
  3. Now either edit the page's template, or add a new synced pattern and edit that, and then return to the page
  4. The pattern selector should not display again until you revisit the page or add and save some content.
  5. Now open the preferences modal and toggle off "Show starter patterns" under "Interface"
  6. Return to step up and ensure the patterns selector modal does not appear again until you toggle the preference back on.
Screenshot 2024-09-06 at 8 36 06 PM

Testing Instructions for Keyboard

Screenshots or screencast

Kapture.2024-09-04.at.14.16.42.mp4

Copy link

github-actions bot commented Sep 4, 2024

Size Change: -514 B (-0.03%)

Total Size: 1.78 MB

Filename Size Change
build/block-editor/index.min.js 257 kB -68 B (-0.03%)
build/block-editor/style-rtl.css 16.2 kB -79 B (-0.49%)
build/block-editor/style.css 16.2 kB -79 B (-0.49%)
build/block-library/index.min.js 218 kB +25 B (+0.01%)
build/components/index.min.js 224 kB -500 B (-0.22%)
build/edit-post/index.min.js 12.7 kB +15 B (+0.12%)
build/edit-site/index.min.js 217 kB +7 B (0%)
build/editor/index.min.js 102 kB +165 B (+0.16%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 951 B
build/annotations/index.min.js 2.26 kB
build/api-fetch/index.min.js 2.32 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 579 B
build/block-directory/index.min.js 7.11 kB
build/block-directory/style-rtl.css 1.01 kB
build/block-directory/style.css 1.01 kB
build/block-editor/content-rtl.css 4.54 kB
build/block-editor/content.css 4.53 kB
build/block-editor/default-editor-styles-rtl.css 394 B
build/block-editor/default-editor-styles.css 394 B
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 90 B
build/block-library/blocks/archives/style.css 90 B
build/block-library/blocks/audio/editor-rtl.css 149 B
build/block-library/blocks/audio/editor.css 151 B
build/block-library/blocks/audio/style-rtl.css 132 B
build/block-library/blocks/audio/style.css 132 B
build/block-library/blocks/audio/theme-rtl.css 134 B
build/block-library/blocks/audio/theme.css 134 B
build/block-library/blocks/avatar/editor-rtl.css 115 B
build/block-library/blocks/avatar/editor.css 115 B
build/block-library/blocks/avatar/style-rtl.css 104 B
build/block-library/blocks/avatar/style.css 104 B
build/block-library/blocks/button/editor-rtl.css 265 B
build/block-library/blocks/button/editor.css 265 B
build/block-library/blocks/button/style-rtl.css 538 B
build/block-library/blocks/button/style.css 538 B
build/block-library/blocks/buttons/editor-rtl.css 291 B
build/block-library/blocks/buttons/editor.css 291 B
build/block-library/blocks/buttons/style-rtl.css 328 B
build/block-library/blocks/buttons/style.css 328 B
build/block-library/blocks/calendar/style-rtl.css 240 B
build/block-library/blocks/calendar/style.css 240 B
build/block-library/blocks/categories/editor-rtl.css 132 B
build/block-library/blocks/categories/editor.css 131 B
build/block-library/blocks/categories/style-rtl.css 152 B
build/block-library/blocks/categories/style.css 152 B
build/block-library/blocks/code/editor-rtl.css 53 B
build/block-library/blocks/code/editor.css 53 B
build/block-library/blocks/code/style-rtl.css 121 B
build/block-library/blocks/code/style.css 121 B
build/block-library/blocks/code/theme-rtl.css 122 B
build/block-library/blocks/code/theme.css 122 B
build/block-library/blocks/columns/editor-rtl.css 108 B
build/block-library/blocks/columns/editor.css 108 B
build/block-library/blocks/columns/style-rtl.css 420 B
build/block-library/blocks/columns/style.css 420 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 124 B
build/block-library/blocks/comment-author-avatar/editor.css 124 B
build/block-library/blocks/comment-author-name/style-rtl.css 72 B
build/block-library/blocks/comment-author-name/style.css 72 B
build/block-library/blocks/comment-content/style-rtl.css 120 B
build/block-library/blocks/comment-content/style.css 120 B
build/block-library/blocks/comment-date/style-rtl.css 65 B
build/block-library/blocks/comment-date/style.css 65 B
build/block-library/blocks/comment-edit-link/style-rtl.css 70 B
build/block-library/blocks/comment-edit-link/style.css 70 B
build/block-library/blocks/comment-reply-link/style-rtl.css 71 B
build/block-library/blocks/comment-reply-link/style.css 71 B
build/block-library/blocks/comment-template/style-rtl.css 200 B
build/block-library/blocks/comment-template/style.css 199 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 228 B
build/block-library/blocks/comments-pagination/editor.css 217 B
build/block-library/blocks/comments-pagination/style-rtl.css 234 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/comments-title/editor-rtl.css 75 B
build/block-library/blocks/comments-title/editor.css 75 B
build/block-library/blocks/comments/editor-rtl.css 832 B
build/block-library/blocks/comments/editor.css 832 B
build/block-library/blocks/comments/style-rtl.css 632 B
build/block-library/blocks/comments/style.css 631 B
build/block-library/blocks/cover/editor-rtl.css 641 B
build/block-library/blocks/cover/editor.css 642 B
build/block-library/blocks/cover/style-rtl.css 1.62 kB
build/block-library/blocks/cover/style.css 1.6 kB
build/block-library/blocks/details/editor-rtl.css 65 B
build/block-library/blocks/details/editor.css 65 B
build/block-library/blocks/details/style-rtl.css 86 B
build/block-library/blocks/details/style.css 86 B
build/block-library/blocks/embed/editor-rtl.css 331 B
build/block-library/blocks/embed/editor.css 331 B
build/block-library/blocks/embed/style-rtl.css 419 B
build/block-library/blocks/embed/style.css 419 B
build/block-library/blocks/embed/theme-rtl.css 133 B
build/block-library/blocks/embed/theme.css 133 B
build/block-library/blocks/file/editor-rtl.css 326 B
build/block-library/blocks/file/editor.css 326 B
build/block-library/blocks/file/style-rtl.css 278 B
build/block-library/blocks/file/style.css 279 B
build/block-library/blocks/file/view.min.js 324 B
build/block-library/blocks/footnotes/style-rtl.css 198 B
build/block-library/blocks/footnotes/style.css 197 B
build/block-library/blocks/form-input/editor-rtl.css 229 B
build/block-library/blocks/form-input/editor.css 229 B
build/block-library/blocks/form-input/style-rtl.css 342 B
build/block-library/blocks/form-input/style.css 342 B
build/block-library/blocks/form-submission-notification/editor-rtl.css 344 B
build/block-library/blocks/form-submission-notification/editor.css 341 B
build/block-library/blocks/form-submit-button/style-rtl.css 69 B
build/block-library/blocks/form-submit-button/style.css 69 B
build/block-library/blocks/form/view.min.js 470 B
build/block-library/blocks/freeform/editor-rtl.css 2.6 kB
build/block-library/blocks/freeform/editor.css 2.6 kB
build/block-library/blocks/gallery/editor-rtl.css 955 B
build/block-library/blocks/gallery/editor.css 958 B
build/block-library/blocks/gallery/style-rtl.css 1.83 kB
build/block-library/blocks/gallery/style.css 1.82 kB
build/block-library/blocks/gallery/theme-rtl.css 108 B
build/block-library/blocks/gallery/theme.css 108 B
build/block-library/blocks/group/editor-rtl.css 333 B
build/block-library/blocks/group/editor.css 333 B
build/block-library/blocks/group/style-rtl.css 103 B
build/block-library/blocks/group/style.css 103 B
build/block-library/blocks/group/theme-rtl.css 79 B
build/block-library/blocks/group/theme.css 79 B
build/block-library/blocks/heading/style-rtl.css 188 B
build/block-library/blocks/heading/style.css 188 B
build/block-library/blocks/html/editor-rtl.css 346 B
build/block-library/blocks/html/editor.css 347 B
build/block-library/blocks/image/editor-rtl.css 891 B
build/block-library/blocks/image/editor.css 890 B
build/block-library/blocks/image/style-rtl.css 1.59 kB
build/block-library/blocks/image/style.css 1.59 kB
build/block-library/blocks/image/theme-rtl.css 137 B
build/block-library/blocks/image/theme.css 137 B
build/block-library/blocks/image/view.min.js 1.65 kB
build/block-library/blocks/latest-comments/style-rtl.css 355 B
build/block-library/blocks/latest-comments/style.css 354 B
build/block-library/blocks/latest-posts/editor-rtl.css 179 B
build/block-library/blocks/latest-posts/editor.css 179 B
build/block-library/blocks/latest-posts/style-rtl.css 509 B
build/block-library/blocks/latest-posts/style.css 510 B
build/block-library/blocks/list/style-rtl.css 107 B
build/block-library/blocks/list/style.css 107 B
build/block-library/blocks/loginout/style-rtl.css 61 B
build/block-library/blocks/loginout/style.css 61 B
build/block-library/blocks/media-text/editor-rtl.css 321 B
build/block-library/blocks/media-text/editor.css 320 B
build/block-library/blocks/media-text/style-rtl.css 558 B
build/block-library/blocks/media-text/style.css 556 B
build/block-library/blocks/more/editor-rtl.css 427 B
build/block-library/blocks/more/editor.css 427 B
build/block-library/blocks/navigation-link/editor-rtl.css 644 B
build/block-library/blocks/navigation-link/editor.css 645 B
build/block-library/blocks/navigation-link/style-rtl.css 192 B
build/block-library/blocks/navigation-link/style.css 191 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 295 B
build/block-library/blocks/navigation-submenu/editor.css 294 B
build/block-library/blocks/navigation/editor-rtl.css 2.19 kB
build/block-library/blocks/navigation/editor.css 2.19 kB
build/block-library/blocks/navigation/style-rtl.css 2.25 kB
build/block-library/blocks/navigation/style.css 2.23 kB
build/block-library/blocks/navigation/view.min.js 1.03 kB
build/block-library/blocks/nextpage/editor-rtl.css 392 B
build/block-library/blocks/nextpage/editor.css 392 B
build/block-library/blocks/page-list/editor-rtl.css 378 B
build/block-library/blocks/page-list/editor.css 378 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 B
build/block-library/blocks/paragraph/editor-rtl.css 236 B
build/block-library/blocks/paragraph/editor.css 236 B
build/block-library/blocks/paragraph/style-rtl.css 341 B
build/block-library/blocks/paragraph/style.css 340 B
build/block-library/blocks/post-author-biography/style-rtl.css 74 B
build/block-library/blocks/post-author-biography/style.css 74 B
build/block-library/blocks/post-author-name/style-rtl.css 69 B
build/block-library/blocks/post-author-name/style.css 69 B
build/block-library/blocks/post-author/editor-rtl.css 107 B
build/block-library/blocks/post-author/editor.css 107 B
build/block-library/blocks/post-author/style-rtl.css 188 B
build/block-library/blocks/post-author/style.css 189 B
build/block-library/blocks/post-comments-form/editor-rtl.css 96 B
build/block-library/blocks/post-comments-form/editor.css 96 B
build/block-library/blocks/post-comments-form/style-rtl.css 527 B
build/block-library/blocks/post-comments-form/style.css 528 B
build/block-library/blocks/post-content/editor-rtl.css 74 B
build/block-library/blocks/post-content/editor.css 74 B
build/block-library/blocks/post-content/style-rtl.css 79 B
build/block-library/blocks/post-content/style.css 79 B
build/block-library/blocks/post-date/style-rtl.css 62 B
build/block-library/blocks/post-date/style.css 62 B
build/block-library/blocks/post-excerpt/editor-rtl.css 71 B
build/block-library/blocks/post-excerpt/editor.css 71 B
build/block-library/blocks/post-excerpt/style-rtl.css 155 B
build/block-library/blocks/post-excerpt/style.css 155 B
build/block-library/blocks/post-featured-image/editor-rtl.css 729 B
build/block-library/blocks/post-featured-image/editor.css 726 B
build/block-library/blocks/post-featured-image/style-rtl.css 347 B
build/block-library/blocks/post-featured-image/style.css 347 B
build/block-library/blocks/post-navigation-link/style-rtl.css 215 B
build/block-library/blocks/post-navigation-link/style.css 214 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 399 B
build/block-library/blocks/post-template/style.css 398 B
build/block-library/blocks/post-terms/style-rtl.css 96 B
build/block-library/blocks/post-terms/style.css 96 B
build/block-library/blocks/post-time-to-read/style-rtl.css 70 B
build/block-library/blocks/post-time-to-read/style.css 70 B
build/block-library/blocks/post-title/style-rtl.css 226 B
build/block-library/blocks/post-title/style.css 226 B
build/block-library/blocks/preformatted/style-rtl.css 125 B
build/block-library/blocks/preformatted/style.css 125 B
build/block-library/blocks/pullquote/editor-rtl.css 134 B
build/block-library/blocks/pullquote/editor.css 134 B
build/block-library/blocks/pullquote/style-rtl.css 342 B
build/block-library/blocks/pullquote/style.css 342 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 121 B
build/block-library/blocks/query-pagination-numbers/editor.css 118 B
build/block-library/blocks/query-pagination/editor-rtl.css 154 B
build/block-library/blocks/query-pagination/editor.css 154 B
build/block-library/blocks/query-pagination/style-rtl.css 237 B
build/block-library/blocks/query-pagination/style.css 237 B
build/block-library/blocks/query-title/style-rtl.css 64 B
build/block-library/blocks/query-title/style.css 64 B
build/block-library/blocks/query/editor-rtl.css 452 B
build/block-library/blocks/query/editor.css 451 B
build/block-library/blocks/query/view.min.js 958 B
build/block-library/blocks/quote/style-rtl.css 238 B
build/block-library/blocks/quote/style.css 238 B
build/block-library/blocks/quote/theme-rtl.css 233 B
build/block-library/blocks/quote/theme.css 236 B
build/block-library/blocks/read-more/style-rtl.css 138 B
build/block-library/blocks/read-more/style.css 138 B
build/block-library/blocks/rss/editor-rtl.css 101 B
build/block-library/blocks/rss/editor.css 101 B
build/block-library/blocks/rss/style-rtl.css 288 B
build/block-library/blocks/rss/style.css 287 B
build/block-library/blocks/search/editor-rtl.css 199 B
build/block-library/blocks/search/editor.css 199 B
build/block-library/blocks/search/style-rtl.css 672 B
build/block-library/blocks/search/style.css 671 B
build/block-library/blocks/search/theme-rtl.css 113 B
build/block-library/blocks/search/theme.css 113 B
build/block-library/blocks/search/view.min.js 475 B
build/block-library/blocks/separator/editor-rtl.css 100 B
build/block-library/blocks/separator/editor.css 100 B
build/block-library/blocks/separator/style-rtl.css 248 B
build/block-library/blocks/separator/style.css 248 B
build/block-library/blocks/separator/theme-rtl.css 195 B
build/block-library/blocks/separator/theme.css 195 B
build/block-library/blocks/shortcode/editor-rtl.css 286 B
build/block-library/blocks/shortcode/editor.css 286 B
build/block-library/blocks/site-logo/editor-rtl.css 806 B
build/block-library/blocks/site-logo/editor.css 803 B
build/block-library/blocks/site-logo/style-rtl.css 218 B
build/block-library/blocks/site-logo/style.css 218 B
build/block-library/blocks/site-tagline/editor-rtl.css 87 B
build/block-library/blocks/site-tagline/editor.css 87 B
build/block-library/blocks/site-tagline/style-rtl.css 65 B
build/block-library/blocks/site-tagline/style.css 65 B
build/block-library/blocks/site-title/editor-rtl.css 85 B
build/block-library/blocks/site-title/editor.css 85 B
build/block-library/blocks/site-title/style-rtl.css 206 B
build/block-library/blocks/site-title/style.css 206 B
build/block-library/blocks/social-link/editor-rtl.css 338 B
build/block-library/blocks/social-link/editor.css 338 B
build/block-library/blocks/social-links/editor-rtl.css 757 B
build/block-library/blocks/social-links/editor.css 756 B
build/block-library/blocks/social-links/style-rtl.css 1.51 kB
build/block-library/blocks/social-links/style.css 1.5 kB
build/block-library/blocks/spacer/editor-rtl.css 346 B
build/block-library/blocks/spacer/editor.css 346 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-of-contents/style-rtl.css 83 B
build/block-library/blocks/table-of-contents/style.css 83 B
build/block-library/blocks/table/editor-rtl.css 394 B
build/block-library/blocks/table/editor.css 394 B
build/block-library/blocks/table/style-rtl.css 640 B
build/block-library/blocks/table/style.css 639 B
build/block-library/blocks/table/theme-rtl.css 152 B
build/block-library/blocks/table/theme.css 152 B
build/block-library/blocks/tag-cloud/editor-rtl.css 144 B
build/block-library/blocks/tag-cloud/editor.css 144 B
build/block-library/blocks/tag-cloud/style-rtl.css 266 B
build/block-library/blocks/tag-cloud/style.css 265 B
build/block-library/blocks/template-part/editor-rtl.css 368 B
build/block-library/blocks/template-part/editor.css 368 B
build/block-library/blocks/template-part/theme-rtl.css 113 B
build/block-library/blocks/template-part/theme.css 113 B
build/block-library/blocks/term-description/style-rtl.css 126 B
build/block-library/blocks/term-description/style.css 126 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 165 B
build/block-library/blocks/text-columns/style.css 165 B
build/block-library/blocks/verse/style-rtl.css 98 B
build/block-library/blocks/verse/style.css 98 B
build/block-library/blocks/video/editor-rtl.css 396 B
build/block-library/blocks/video/editor.css 397 B
build/block-library/blocks/video/style-rtl.css 192 B
build/block-library/blocks/video/style.css 192 B
build/block-library/blocks/video/theme-rtl.css 134 B
build/block-library/blocks/video/theme.css 134 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.1 kB
build/block-library/common.css 1.1 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/editor-rtl.css 11.8 kB
build/block-library/editor.css 11.8 kB
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/reset-rtl.css 472 B
build/block-library/reset.css 472 B
build/block-library/style-rtl.css 15 kB
build/block-library/style.css 15 kB
build/block-library/theme-rtl.css 708 B
build/block-library/theme.css 712 B
build/block-serialization-default-parser/index.min.js 1.12 kB
build/block-serialization-spec-parser/index.min.js 2.87 kB
build/blocks/index.min.js 52.3 kB
build/commands/index.min.js 16.1 kB
build/commands/style-rtl.css 955 B
build/commands/style.css 952 B
build/components/style-rtl.css 12.1 kB
build/components/style.css 12.1 kB
build/compose/index.min.js 12.6 kB
build/core-commands/index.min.js 2.82 kB
build/core-data/index.min.js 73.2 kB
build/customize-widgets/index.min.js 11 kB
build/customize-widgets/style-rtl.css 1.35 kB
build/customize-widgets/style.css 1.35 kB
build/data-controls/index.min.js 641 B
build/data/index.min.js 8.98 kB
build/date/index.min.js 18 kB
build/deprecated/index.min.js 458 B
build/dom-ready/index.min.js 325 B
build/dom/index.min.js 4.66 kB
build/edit-post/classic-rtl.css 578 B
build/edit-post/classic.css 580 B
build/edit-post/style-rtl.css 2.31 kB
build/edit-post/style.css 2.31 kB
build/edit-site/posts-rtl.css 7.31 kB
build/edit-site/posts.css 7.31 kB
build/edit-site/style-rtl.css 12.6 kB
build/edit-site/style.css 12.6 kB
build/edit-widgets/index.min.js 17.7 kB
build/edit-widgets/style-rtl.css 4.2 kB
build/edit-widgets/style.css 4.2 kB
build/editor/style-rtl.css 9.28 kB
build/editor/style.css 9.29 kB
build/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.11 kB
build/format-library/style-rtl.css 476 B
build/format-library/style.css 476 B
build/hooks/index.min.js 1.54 kB
build/html-entities/index.min.js 445 B
build/i18n/index.min.js 3.58 kB
build/interactivity/debug.min.js 16.4 kB
build/interactivity/file.min.js 447 B
build/interactivity/image.min.js 1.78 kB
build/interactivity/index.min.js 13.2 kB
build/interactivity/navigation.min.js 1.16 kB
build/interactivity/query.min.js 742 B
build/interactivity/router.min.js 2.8 kB
build/interactivity/search.min.js 615 B
build/is-shallow-equal/index.min.js 526 B
build/keyboard-shortcuts/index.min.js 1.31 kB
build/keycodes/index.min.js 1.46 kB
build/list-reusable-blocks/index.min.js 2.18 kB
build/list-reusable-blocks/style-rtl.css 846 B
build/list-reusable-blocks/style.css 846 B
build/media-utils/index.min.js 3.2 kB
build/modules/importmap-polyfill.min.js 12.3 kB
build/notices/index.min.js 946 B
build/nux/index.min.js 1.61 kB
build/nux/style-rtl.css 749 B
build/nux/style.css 745 B
build/patterns/index.min.js 7.34 kB
build/patterns/style-rtl.css 687 B
build/patterns/style.css 685 B
build/plugins/index.min.js 1.81 kB
build/preferences-persistence/index.min.js 2.06 kB
build/preferences/index.min.js 2.9 kB
build/preferences/style-rtl.css 554 B
build/preferences/style.css 554 B
build/primitives/index.min.js 829 B
build/priority-queue/index.min.js 1.54 kB
build/private-apis/index.min.js 1.01 kB
build/react-i18n/index.min.js 630 B
build/react-refresh-entry/index.min.js 9.47 kB
build/react-refresh-runtime/index.min.js 6.76 kB
build/redux-routine/index.min.js 2.69 kB
build/reusable-blocks/index.min.js 2.55 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.1 kB
build/router/index.min.js 1.96 kB
build/server-side-render/index.min.js 1.94 kB
build/shortcode/index.min.js 1.4 kB
build/style-engine/index.min.js 2.04 kB
build/token-list/index.min.js 581 B
build/url/index.min.js 3.9 kB
build/vendors/react-dom.min.js 41.7 kB
build/vendors/react-jsx-runtime.min.js 560 B
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 965 B
build/warning/index.min.js 250 B
build/widgets/index.min.js 7.2 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.03 kB

compressed-size-action

@noisysocks
Copy link
Member

Nice, this looks great.

If I tick the checkbox in the settings, I'd expect to not see the modal until the next time I create a new page.

@ramonjd
Copy link
Member Author

ramonjd commented Sep 4, 2024

If I tick the checkbox in the settings, I'd expect to not see the modal until the next time I create a new page.

That makes sense.

We could do away with the preference and modal changes altogether.

In fact, without looking too hard, it'd just be removing the useEffect here:

useEffect( () => {
// Should reset the modal state when navigating to a new page/post.
setIsClosed( false );
}, [ postType, postId ] );

Copy link

github-actions bot commented Sep 4, 2024

Flaky tests detected in 8799cd3.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/10731517185
📝 Reported issues:

@ramonjd
Copy link
Member Author

ramonjd commented Sep 4, 2024

We could do away with the preference and modal changes altogether.
In fact, without looking too hard, it'd just be removing the useEffect here:

So, that just ensures it doesn't appear again in while the post is open.

Kapture.2024-09-04.at.15.29.01.mp4

Better, but it still opens when you return to the same page and the conditions are met.

So in that case a preference would probably be in order given the premise of the issue:

The new 'Choose a Pattern' modal is useful - but can become frustrating for users who don't want to use it, and still need to see it every time.

Still, I've removed the useEffect here so that it doesn't pop back up between pages > template part > page navigation.

@andrewserong andrewserong marked this pull request as ready for review September 5, 2024 03:58
@andrewserong andrewserong added the [Feature] Site Editor Related to the overarching Site Editor (formerly "full site editing") label Sep 5, 2024
Copy link

github-actions bot commented Sep 5, 2024

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: ramonjd <ramonopoly@git.wordpress.org>
Co-authored-by: andrewserong <andrewserong@git.wordpress.org>
Co-authored-by: kevin940726 <kevin940726@git.wordpress.org>
Co-authored-by: noisysocks <noisysocks@git.wordpress.org>
Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: jakobtrost <jtgreyd@git.wordpress.org>
Co-authored-by: johnstonphilip <johnstonphilip@git.wordpress.org>
Co-authored-by: annezazu <annezazu@git.wordpress.org>
Co-authored-by: MattrCoUk <cambabutonono@git.wordpress.org>
Co-authored-by: jasonbahl <jasonbahl@git.wordpress.org>
Co-authored-by: colorful-tones <colorful-tones@git.wordpress.org>
Co-authored-by: Blindmikey <blindmikey@git.wordpress.org>
Co-authored-by: richtabor <richtabor@git.wordpress.org>
Co-authored-by: luminuu <luminuu@git.wordpress.org>
Co-authored-by: stokesman <presstoke@git.wordpress.org>
Co-authored-by: jordesign <jordesign@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@andrewserong andrewserong added [Feature] Patterns A collection of blocks that can be synced (previously reusable blocks) or unsynced [Type] Enhancement A suggestion for improvement. labels Sep 5, 2024
@andrewserong andrewserong requested a review from a team September 5, 2024 03:59
@andrewserong andrewserong added the Needs Design Feedback Needs general design feedback. label Sep 5, 2024
@andrewserong
Copy link
Contributor

I like this idea! Just pinging for design feedback 🙂

@jasmussen
Copy link
Contributor

jasmussen commented Sep 5, 2024

Thanks for working on this. I'm not too sure about this particular implementation, though; through its label and placement, that checkbox gets HUGE prominence, enough that it seems to suggest: you should check me. Almost like onboarding tutorials which should be easy to not show again. This is not that.

Although there are genuine frustrations expressed—and we should provide an opt out—this is something that's genuinely meant to provide a better page authoring experience, and we're actively working to improve that flow through adjacent features (zoom out, select mode, contentOnly editing). It's too early to give the opt out this much prominence. That's why I suggested it live in the preferences section. It's fine for it to live only there, at least until we've gotten further with the flow improvements and validated whether they address the frustration or not.

@ramonjd
Copy link
Member Author

ramonjd commented Sep 5, 2024

this is something that's genuinely meant to provide a better page authoring experience, and we're actively working to improve that flow through adjacent features (zoom out, select mode, contentOnly editing). It's too early to give the opt out this much prominence. That's why I #56181 (comment) it live in the preferences section. It's fine for it to live only there, at least until we've gotten further with the flow improvements and validated whether they address the frustration or not.

Okay, thanks for the quick feedback here. 🙇🏻

At a very minimum, I think the modal should not continuously show when flipping between the page and its templates. It's pretty spammy right now and I can empathize with user frustrations.

We can achieve that by removing the useEffect as mentioned above as a first step.

I can roll back the changes to the modal footer and if folks are fine with it, leave the preference toggle in.

Whatever flow improvements occur later, we could still activate the modal under different conditions: zoom out, select mode, contentOnly....

@jakobtrost
Copy link

jakobtrost commented Sep 5, 2024

Almost like onboarding tutorials which should be easy to not show again. This is not that.
[...] this is something that's genuinely meant to provide a better page authoring experience, and we're actively working to improve that flow through adjacent features

I agree—thanks for the insight. If the opt-out is too prominent, many users may disable it out of habit. Since this element seems crucial for the future experience, I'd also suggest offering the opt-out as a setting checkbox only.

@jasmussen
Copy link
Contributor

Yep, there really are many things we can explore later on, including if need be that checkbox in a place that manages its prominence. As noted, depending on where zoom out features land, this interface remains in flux.

That's also to say, my feedback is specifically on the checkbox in the modal (for the time being!). Anything else, please refine and improve the user experience beyond that as much as you can 👌 🙏

@johnstonphilip
Copy link
Contributor

Personally I still don't like this approach. The modal pops up without the users prompting and completely blocks what they expect to see. Making it dismissable is like saying "don't annoy me again", when we could have not-annoyed them in the first place. I proposed an alternative in #56181 (comment)

@ramonjd
Copy link
Member Author

ramonjd commented Sep 5, 2024

The modal pops up without the users prompting and completely blocks what they expect to see.

Thanks again for the feedback, everyone.

I think the negative UX definitely warrants an alternative approach, but taking @jasmussen's feedback above, it sounds like folks are actively working on it.

To inch things forward and mitigate the present state of things, I'll pare back this PR to keep the preference and ensure the modal doesn't show its face as you navigate between the page and its template.

Any redesign or refactoring can be in a follow up.

…l when adding new pages.

Adds a footer to the modal component.
…o that the preferences modal has a value to test.
…vents the modal popping open between page > template part > page navigation.
Removed modal footer and related components
@ramonjd ramonjd force-pushed the try/add-pattern-selector-preference branch from 798d63b to 01552df Compare September 6, 2024 01:09
@@ -152,6 +154,18 @@ export default function EditorPreferencesModal( { extraSections = {} } ) {
'Enable pre-publish checks'
) }
/>
{ starterPatterns?.length && (
<PreferenceToggleControl
Copy link
Member Author

Choose a reason for hiding this comment

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

I added this under "Publishing" for no real reason. Is there a better category?

Copy link
Contributor

Choose a reason for hiding this comment

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

I'd possibly lean ever so slightly toward Interface as it's about what we're showing to the user in the UI rather than publishing per se... but I don't feel strongly about it!

Copy link
Contributor

@andrewserong andrewserong 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 generally testing really well for me. Just left a note about an edge case with the rendering of the preference. But the removal of the useEffect in particular is really nice as it means we can toggle between template part editing and page editing an empty page without getting the modal showing again.

2024-09-06.15.55.51.mp4

Something I did notice (and not sure if this is really an issue in practice) is that if I'm editing an empty page within the site editor and then go to toggle the setting to show starter patterns back on, then when I close the preferences panel, it immediately displays the modal. Arguably this might be a good thing if someone is deliberately trying to get that modal back again:

2024-09-06.15.56.44.mp4

Separately, I also noticed that sometimes the modal opens twice very quickly when creating a new page. I think this might be related to the issue raised about the editor welcome modals, but just thought I'd mention it in case you're able to reproduce it. It's in the first video in this comment — if you scrub through very slowly, you can see the modal opens and then re-opens like something has triggered it to re-render somehow? In any case, I might be overthinking this part of it 🙂

Overall this feels very close to me, though!

packages/editor/src/components/preferences-modal/index.js Outdated Show resolved Hide resolved
@@ -152,6 +154,18 @@ export default function EditorPreferencesModal( { extraSections = {} } ) {
'Enable pre-publish checks'
) }
/>
{ starterPatterns?.length && (
<PreferenceToggleControl
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd possibly lean ever so slightly toward Interface as it's about what we're showing to the user in the UI rather than publishing per se... but I don't feel strongly about it!

@ramonjd
Copy link
Member Author

ramonjd commented Sep 6, 2024

Something I did notice (and not sure if this is really an issue in practice) is that if I'm editing an empty page within the site editor and then go to toggle the setting to show starter patterns back on, then when I close the preferences panel, it immediately displays the modal. Arguably this might be a good thing if someone is deliberately trying to get that modal back again:

I noticed that too and came to the same conclusion. There's a bit of a modal boxing match going on, especially when you throw the welcome guide in 😄

I can't shake the feeling I'm tinkering with superficial changes to mask a fundamental UX failing here.

We want to expose useful patterns to the user when they first create a page, assuming they're going to add content to the page. If they don't add content to a page, the editor relentlessly throws up the modal, and over the welcome guide too.

We've defined "useful" patterns as those that have a root block type of 'core/post-content'.

We don't know the user's intention. They might want to create a contact page. Is the editor really helping by displaying the same patterns every time they create a new page?

Presumably users are smart enough to learn that a wider variety of patterns are available via the pattern inserter.

I know design folks are working on this problem, but I'm not convinced that keeping the modal around until things are better is valid.

I hope this PR makes things a little better if it lands!

Copy link
Member

@kevin940726 kevin940726 left a comment

Choose a reason for hiding this comment

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

Tested and LGTM 👍. Left a few nitpicks.

packages/editor/src/components/preferences-modal/index.js Outdated Show resolved Hide resolved
packages/editor/src/components/preferences-modal/index.js Outdated Show resolved Hide resolved
Also, move pref to the right location :)
@ramonjd
Copy link
Member Author

ramonjd commented Sep 6, 2024

Thanks to everyone who has provided advice and helped test!

I'll leave it to stew and merge early next week, when I'll try to think about some sensible follow up suggestions. 😄

🍺

@annezazu
Copy link
Contributor

annezazu commented Sep 7, 2024

Just did a quick test of this! Super appreciate having this as a preference. I wonder how it might work if this ever proceeds: #61489 but that's neither here nor there for now (and it would be easy to remove this). Referencing the discussion above, I agree on not having a tick box in the modal. It's far too prominent.

I found that turning back on the preference when I do have content on a draft doesn't initiate the modal and, if I have no other content, it does initiate the modal. That feels expected!

@andrewserong
Copy link
Contributor

I hope this PR makes things a little better if it lands!

Nice work here, looks good to land now. I think it does indeed make this better for now! 🎉

@ramonjd ramonjd merged commit fa78b66 into trunk Sep 8, 2024
61 checks passed
@ramonjd ramonjd deleted the try/add-pattern-selector-preference branch September 8, 2024 23:41
@github-actions github-actions bot added this to the Gutenberg 19.3 milestone Sep 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Patterns A collection of blocks that can be synced (previously reusable blocks) or unsynced [Feature] Site Editor Related to the overarching Site Editor (formerly "full site editing") Needs Design Feedback Needs general design feedback. [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Patterns: Provide a way for users to opt out of the 'Choose a Pattern' modal when adding a page
8 participants