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

Font Library: Change Spinner to ProgressBar component #60570

Merged
merged 17 commits into from
Apr 16, 2024

Conversation

mikachan
Copy link
Member

@mikachan mikachan commented Apr 8, 2024

What?

This changes any uses of the Spinner component with the ProgressBar component in the Font Library modal.

Why?

Fixes #54797.

How?

Swaps one component for another, and also hides the content of the modal until all content has finished loading.

Testing Instructions

Open the Font Library modal and view the Library and Install Fonts tabs, which each use the ProgressBar component when loading in data.

Screenshots or screencast

Library tab:

Before After
image Screenshot 2024-04-11 at 10 50 43

Install Fonts tab:

Before After
image Screenshot 2024-04-11 at 11 09 27

Copy link

github-actions bot commented Apr 8, 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: mikachan <mikachan@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>
Co-authored-by: creativecoder <grantmkin@git.wordpress.org>
Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: annezazu <annezazu@git.wordpress.org>

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

Copy link

github-actions bot commented Apr 8, 2024

Size Change: +964 B (0%)

Total Size: 1.75 MB

Filename Size Change
build/block-editor/content-rtl.css 4.5 kB +36 B (+1%)
build/block-editor/content.css 4.5 kB +36 B (+1%)
build/block-editor/index.min.js 255 kB +335 B (0%)
build/block-library/editor.css 12.4 kB -1 B (0%)
build/block-library/index.min.js 218 kB -190 B (0%)
build/components/index.min.js 222 kB +37 B (0%)
build/edit-post/index.min.js 23.6 kB +19 B (0%)
build/edit-site/index.min.js 230 kB -42 B (0%)
build/edit-site/style-rtl.css 15.1 kB +27 B (0%)
build/edit-site/style.css 15.1 kB +25 B (0%)
build/edit-widgets/index.min.js 17.7 kB +11 B (0%)
build/editor/index.min.js 70 kB +33 B (0%)
build/interactivity/debug.min.js 16.2 kB +39 B (0%)
build/interactivity/index.min.js 13 kB +41 B (0%)
build/patterns/index.min.js 6.38 kB +475 B (+8%) 🔍
build/patterns/style-rtl.css 595 B +41 B (+7%) 🔍
build/patterns/style.css 595 B +42 B (+8%) 🔍
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 955 B
build/annotations/index.min.js 2.27 kB
build/api-fetch/index.min.js 2.32 kB
build/autop/index.min.js 2.1 kB
build/blob/index.min.js 578 B
build/block-directory/index.min.js 7.26 kB
build/block-directory/style-rtl.css 1.03 kB
build/block-directory/style.css 1.03 kB
build/block-editor/default-editor-styles-rtl.css 395 B
build/block-editor/default-editor-styles.css 395 B
build/block-editor/style-rtl.css 15.6 kB
build/block-editor/style.css 15.6 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 90 B
build/block-library/blocks/archives/style.css 90 B
build/block-library/blocks/audio/editor-rtl.css 150 B
build/block-library/blocks/audio/editor.css 150 B
build/block-library/blocks/audio/style-rtl.css 122 B
build/block-library/blocks/audio/style.css 122 B
build/block-library/blocks/audio/theme-rtl.css 133 B
build/block-library/blocks/audio/theme.css 133 B
build/block-library/blocks/avatar/editor-rtl.css 116 B
build/block-library/blocks/avatar/editor.css 116 B
build/block-library/blocks/avatar/style-rtl.css 104 B
build/block-library/blocks/avatar/style.css 104 B
build/block-library/blocks/block/editor-rtl.css 305 B
build/block-library/blocks/block/editor.css 305 B
build/block-library/blocks/button/editor-rtl.css 415 B
build/block-library/blocks/button/editor.css 414 B
build/block-library/blocks/button/style-rtl.css 627 B
build/block-library/blocks/button/style.css 626 B
build/block-library/blocks/buttons/editor-rtl.css 337 B
build/block-library/blocks/buttons/editor.css 337 B
build/block-library/blocks/buttons/style-rtl.css 332 B
build/block-library/blocks/buttons/style.css 332 B
build/block-library/blocks/calendar/style-rtl.css 239 B
build/block-library/blocks/calendar/style.css 239 B
build/block-library/blocks/categories/editor-rtl.css 113 B
build/block-library/blocks/categories/editor.css 112 B
build/block-library/blocks/categories/style-rtl.css 124 B
build/block-library/blocks/categories/style.css 124 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 124 B
build/block-library/blocks/code/theme.css 124 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 421 B
build/block-library/blocks/columns/style.css 421 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 125 B
build/block-library/blocks/comment-author-avatar/editor.css 125 B
build/block-library/blocks/comment-content/style-rtl.css 92 B
build/block-library/blocks/comment-content/style.css 92 B
build/block-library/blocks/comment-template/style-rtl.css 199 B
build/block-library/blocks/comment-template/style.css 198 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 123 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 222 B
build/block-library/blocks/comments-pagination/editor.css 209 B
build/block-library/blocks/comments-pagination/style-rtl.css 235 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 840 B
build/block-library/blocks/comments/editor.css 839 B
build/block-library/blocks/comments/style-rtl.css 637 B
build/block-library/blocks/comments/style.css 636 B
build/block-library/blocks/cover/editor-rtl.css 647 B
build/block-library/blocks/cover/editor.css 650 B
build/block-library/blocks/cover/style-rtl.css 1.7 kB
build/block-library/blocks/cover/style.css 1.69 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 322 B
build/block-library/blocks/embed/editor.css 322 B
build/block-library/blocks/embed/style-rtl.css 410 B
build/block-library/blocks/embed/style.css 410 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 327 B
build/block-library/blocks/file/style-rtl.css 280 B
build/block-library/blocks/file/style.css 281 B
build/block-library/blocks/file/view.min.js 324 B
build/block-library/blocks/footnotes/style-rtl.css 201 B
build/block-library/blocks/footnotes/style.css 199 B
build/block-library/blocks/form-input/editor-rtl.css 227 B
build/block-library/blocks/form-input/editor.css 227 B
build/block-library/blocks/form-input/style-rtl.css 343 B
build/block-library/blocks/form-input/style.css 343 B
build/block-library/blocks/form-submission-notification/editor-rtl.css 340 B
build/block-library/blocks/form-submission-notification/editor.css 340 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 471 B
build/block-library/blocks/freeform/editor-rtl.css 2.61 kB
build/block-library/blocks/freeform/editor.css 2.61 kB
build/block-library/blocks/gallery/editor-rtl.css 947 B
build/block-library/blocks/gallery/editor.css 952 B
build/block-library/blocks/gallery/style-rtl.css 1.72 kB
build/block-library/blocks/gallery/style.css 1.72 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 647 B
build/block-library/blocks/group/editor.css 647 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 189 B
build/block-library/blocks/heading/style.css 189 B
build/block-library/blocks/html/editor-rtl.css 336 B
build/block-library/blocks/html/editor.css 337 B
build/block-library/blocks/image/editor-rtl.css 878 B
build/block-library/blocks/image/editor.css 878 B
build/block-library/blocks/image/style-rtl.css 1.6 kB
build/block-library/blocks/image/style.css 1.59 kB
build/block-library/blocks/image/theme-rtl.css 133 B
build/block-library/blocks/image/theme.css 133 B
build/block-library/blocks/image/view.min.js 1.54 kB
build/block-library/blocks/latest-comments/style-rtl.css 357 B
build/block-library/blocks/latest-comments/style.css 357 B
build/block-library/blocks/latest-posts/editor-rtl.css 213 B
build/block-library/blocks/latest-posts/editor.css 212 B
build/block-library/blocks/latest-posts/style-rtl.css 478 B
build/block-library/blocks/latest-posts/style.css 478 B
build/block-library/blocks/list/style-rtl.css 88 B
build/block-library/blocks/list/style.css 88 B
build/block-library/blocks/media-text/editor-rtl.css 306 B
build/block-library/blocks/media-text/editor.css 305 B
build/block-library/blocks/media-text/style-rtl.css 505 B
build/block-library/blocks/media-text/style.css 503 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 668 B
build/block-library/blocks/navigation-link/editor.css 669 B
build/block-library/blocks/navigation-link/style-rtl.css 259 B
build/block-library/blocks/navigation-link/style.css 257 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 296 B
build/block-library/blocks/navigation-submenu/editor.css 295 B
build/block-library/blocks/navigation/editor-rtl.css 2.26 kB
build/block-library/blocks/navigation/editor.css 2.26 kB
build/block-library/blocks/navigation/style-rtl.css 2.26 kB
build/block-library/blocks/navigation/style.css 2.25 kB
build/block-library/blocks/navigation/view.min.js 1.03 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 175 B
build/block-library/blocks/page-list/style.css 175 B
build/block-library/blocks/paragraph/editor-rtl.css 235 B
build/block-library/blocks/paragraph/editor.css 235 B
build/block-library/blocks/paragraph/style-rtl.css 335 B
build/block-library/blocks/paragraph/style.css 335 B
build/block-library/blocks/post-author/style-rtl.css 175 B
build/block-library/blocks/post-author/style.css 176 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 508 B
build/block-library/blocks/post-comments-form/style.css 508 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-date/style-rtl.css 61 B
build/block-library/blocks/post-date/style.css 61 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 141 B
build/block-library/blocks/post-excerpt/style.css 141 B
build/block-library/blocks/post-featured-image/editor-rtl.css 666 B
build/block-library/blocks/post-featured-image/editor.css 662 B
build/block-library/blocks/post-featured-image/style-rtl.css 342 B
build/block-library/blocks/post-featured-image/style.css 342 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 409 B
build/block-library/blocks/post-template/style.css 408 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 69 B
build/block-library/blocks/post-time-to-read/style.css 69 B
build/block-library/blocks/post-title/style-rtl.css 100 B
build/block-library/blocks/post-title/style.css 100 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 135 B
build/block-library/blocks/pullquote/editor.css 135 B
build/block-library/blocks/pullquote/style-rtl.css 354 B
build/block-library/blocks/pullquote/style.css 353 B
build/block-library/blocks/pullquote/theme-rtl.css 174 B
build/block-library/blocks/pullquote/theme.css 174 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 221 B
build/block-library/blocks/query-pagination/editor.css 211 B
build/block-library/blocks/query-pagination/style-rtl.css 288 B
build/block-library/blocks/query-pagination/style.css 284 B
build/block-library/blocks/query-title/style-rtl.css 63 B
build/block-library/blocks/query-title/style.css 63 B
build/block-library/blocks/query/editor-rtl.css 486 B
build/block-library/blocks/query/editor.css 486 B
build/block-library/blocks/query/view.min.js 958 B
build/block-library/blocks/quote/style-rtl.css 237 B
build/block-library/blocks/quote/style.css 237 B
build/block-library/blocks/quote/theme-rtl.css 233 B
build/block-library/blocks/quote/theme.css 235 B
build/block-library/blocks/read-more/style-rtl.css 140 B
build/block-library/blocks/read-more/style.css 140 B
build/block-library/blocks/rss/editor-rtl.css 149 B
build/block-library/blocks/rss/editor.css 149 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 184 B
build/block-library/blocks/search/editor.css 184 B
build/block-library/blocks/search/style-rtl.css 690 B
build/block-library/blocks/search/style.css 689 B
build/block-library/blocks/search/theme-rtl.css 114 B
build/block-library/blocks/search/theme.css 114 B
build/block-library/blocks/search/view.min.js 478 B
build/block-library/blocks/separator/editor-rtl.css 146 B
build/block-library/blocks/separator/editor.css 146 B
build/block-library/blocks/separator/style-rtl.css 229 B
build/block-library/blocks/separator/style.css 229 B
build/block-library/blocks/separator/theme-rtl.css 194 B
build/block-library/blocks/separator/theme.css 194 B
build/block-library/blocks/shortcode/editor-rtl.css 323 B
build/block-library/blocks/shortcode/editor.css 323 B
build/block-library/blocks/site-logo/editor-rtl.css 754 B
build/block-library/blocks/site-logo/editor.css 754 B
build/block-library/blocks/site-logo/style-rtl.css 204 B
build/block-library/blocks/site-logo/style.css 204 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 116 B
build/block-library/blocks/site-title/editor.css 116 B
build/block-library/blocks/site-title/style-rtl.css 57 B
build/block-library/blocks/site-title/style.css 57 B
build/block-library/blocks/social-link/editor-rtl.css 184 B
build/block-library/blocks/social-link/editor.css 184 B
build/block-library/blocks/social-links/editor-rtl.css 676 B
build/block-library/blocks/social-links/editor.css 675 B
build/block-library/blocks/social-links/style-rtl.css 1.48 kB
build/block-library/blocks/social-links/style.css 1.48 kB
build/block-library/blocks/spacer/editor-rtl.css 350 B
build/block-library/blocks/spacer/editor.css 350 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 395 B
build/block-library/blocks/table/editor.css 395 B
build/block-library/blocks/table/style-rtl.css 639 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/style-rtl.css 251 B
build/block-library/blocks/tag-cloud/style.css 253 B
build/block-library/blocks/template-part/editor-rtl.css 431 B
build/block-library/blocks/template-part/editor.css 431 B
build/block-library/blocks/template-part/theme-rtl.css 107 B
build/block-library/blocks/template-part/theme.css 107 B
build/block-library/blocks/term-description/style-rtl.css 111 B
build/block-library/blocks/term-description/style.css 111 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 99 B
build/block-library/blocks/verse/style.css 99 B
build/block-library/blocks/video/editor-rtl.css 552 B
build/block-library/blocks/video/editor.css 555 B
build/block-library/blocks/video/style-rtl.css 185 B
build/block-library/blocks/video/style.css 185 B
build/block-library/blocks/video/theme-rtl.css 133 B
build/block-library/blocks/video/theme.css 133 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.11 kB
build/block-library/common.css 1.11 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/editor-rtl.css 12.4 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 14.8 kB
build/block-library/style.css 14.8 kB
build/block-library/theme-rtl.css 707 B
build/block-library/theme.css 713 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 51.5 kB
build/commands/index.min.js 15.2 kB
build/commands/style-rtl.css 953 B
build/commands/style.css 951 B
build/components/style-rtl.css 11.9 kB
build/components/style.css 11.9 kB
build/compose/index.min.js 12.6 kB
build/core-commands/index.min.js 2.77 kB
build/core-data/index.min.js 72.5 kB
build/customize-widgets/index.min.js 11.2 kB
build/customize-widgets/style-rtl.css 1.36 kB
build/customize-widgets/style.css 1.36 kB
build/data-controls/index.min.js 640 B
build/data/index.min.js 9 kB
build/date/index.min.js 17.9 kB
build/deprecated/index.min.js 451 B
build/dom-ready/index.min.js 324 B
build/dom/index.min.js 4.65 kB
build/edit-post/classic-rtl.css 579 B
build/edit-post/classic.css 579 B
build/edit-post/style-rtl.css 5.5 kB
build/edit-post/style.css 5.5 kB
build/edit-widgets/style-rtl.css 4.16 kB
build/edit-widgets/style.css 4.16 kB
build/editor/style-rtl.css 5.49 kB
build/editor/style.css 5.48 kB
build/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.07 kB
build/format-library/style-rtl.css 493 B
build/format-library/style.css 492 B
build/hooks/index.min.js 1.55 kB
build/html-entities/index.min.js 448 B
build/i18n/index.min.js 3.58 kB
build/interactivity/file.min.js 447 B
build/interactivity/image.min.js 1.67 kB
build/interactivity/navigation.min.js 1.17 kB
build/interactivity/query.min.js 740 B
build/interactivity/router.min.js 1.36 kB
build/interactivity/search.min.js 618 B
build/is-shallow-equal/index.min.js 527 B
build/keyboard-shortcuts/index.min.js 1.3 kB
build/keycodes/index.min.js 1.46 kB
build/list-reusable-blocks/index.min.js 2.11 kB
build/list-reusable-blocks/style-rtl.css 851 B
build/list-reusable-blocks/style.css 851 B
build/media-utils/index.min.js 2.92 kB
build/modules/importmap-polyfill.min.js 12.2 kB
build/notices/index.min.js 948 B
build/nux/index.min.js 1.57 kB
build/nux/style-rtl.css 748 B
build/nux/style.css 744 B
build/plugins/index.min.js 1.8 kB
build/preferences-persistence/index.min.js 2.06 kB
build/preferences/index.min.js 2.83 kB
build/preferences/style-rtl.css 710 B
build/preferences/style.css 712 B
build/primitives/index.min.js 975 B
build/priority-queue/index.min.js 1.52 kB
build/private-apis/index.min.js 1 kB
build/react-i18n/index.min.js 623 B
build/react-refresh-entry/index.min.js 9.47 kB
build/react-refresh-runtime/index.min.js 6.78 kB
build/redux-routine/index.min.js 2.7 kB
build/reusable-blocks/index.min.js 2.73 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10 kB
build/router/index.min.js 1.88 kB
build/server-side-render/index.min.js 1.96 kB
build/shortcode/index.min.js 1.39 kB
build/style-engine/index.min.js 2.03 kB
build/token-list/index.min.js 582 B
build/url/index.min.js 3.74 kB
build/vendors/inert-polyfill.min.js 2.48 kB
build/vendors/react-dom.min.js 41.7 kB
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 957 B
build/warning/index.min.js 249 B
build/widgets/index.min.js 7.23 kB
build/widgets/style-rtl.css 1.17 kB
build/widgets/style.css 1.17 kB
build/wordcount/index.min.js 1.02 kB

compressed-size-action

@t-hamano t-hamano added the Needs Design Feedback Needs general design feedback. label Apr 9, 2024
@t-hamano t-hamano self-requested a review April 9, 2024 03:01
Copy link
Contributor

@t-hamano t-hamano left a comment

Choose a reason for hiding this comment

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

Thanks for the PR.

I tried changing the network throttle to simulate slow internet, but I couldn't reproduce your screenshot. In my environment it was displayed as below:

  • Library tab: Theme fonts are displayed below the progress bar.
  • Install Fonts tab, a progress bar is displayed below the search bar.
d1f51fa0386aa27ddc2b65b83ff159f3.mp4

t-hamano

This comment was marked as outdated.

mikachan and others added 2 commits April 10, 2024 11:29
…odal/font-collection.js

Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com>
…odal/installed-fonts.js

Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com>
@mikachan
Copy link
Member Author

Below are the screenshots I see in testing, is this the same in your environment?

Yes, that's the same as what I'm seeing. I've updated the screenshots in the PR description.

Another approach might be to replace the Progressbar component with a Spinner component in this PR.

This PR was opened to fix #54797, which suggests replacing the Spinner component with the ProgressBar. I'm not too familiar with which component is designed for which area, although I do like this logic:

I would expect the progress bar to appear when the entire content is loading, and the spinner to appear when part of the content is loading.

Perhaps @annezazu or @jasmussen have some insights here 🙏

Copy link

github-actions bot commented Apr 10, 2024

Flaky tests detected in 1d41e9e.
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/8650240003
📝 Reported issues:

@jasmussen
Copy link
Contributor

I would expect the progress bar to appear when the entire content is loading, and the spinner to appear when part of the content is loading.

I'd tend to echo this instinct. I'll let Anne chime in as well, maybe there's context I'm missing!

@annezazu
Copy link
Contributor

I agree! Apologies for the brevity in my initial issue.

@mikachan
Copy link
Member Author

Thanks all! In that case, this PR probably isn't needed 😅 However, I think I prefer the spacing that we've worked on here, and centering the Spinner on the "Install Fonts" tab is a possible improvement. I've gone ahead and removed the ProgressBar component, but left the new spacing and alignment. Let me know what you think!

Library tab Install Fonts tab
image image

@mikachan mikachan changed the title Font Library: Change Spinner to ProgressBar component Font Library: Improve spacing and alignment of Spinner component Apr 10, 2024
Copy link
Contributor

@creativecoder creativecoder left a comment

Choose a reason for hiding this comment

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

Loading spinners do look better aligned with this change.

Please don't forget to update the screenshots in the PR discription :)

@mikachan
Copy link
Member Author

Please don't forget to update the screenshots in the PR discription :)

Done, thanks @creativecoder! I also updated a few other details in the PR description.

@jasmussen
Copy link
Contributor

Thanks for the added context.

I think the progressbar is the right one, after all, and that the issue here is that we're using those spinners in a bit of an ad-hoc way. I wonder if this wouldn't be a more ideal flow?

Spinners

That is: we don't show anything in any of the tabs, until it's fully loaded. That's one of the benefits of spinners, that you don't have to see the page "getting built" as things load in.

Is there any reason the following flow for loading the installed fonts tab couldn't happen?

loading state

By the way, fonts shouldn't wrap:

Screenshot 2024-04-11 at 09 33 18
Screenshot 2024-04-11 at 09 33 21

If you can add white-space: nowrap; text-overflow: ellipsis; it should be mostly handled.

@mikachan
Copy link
Member Author

mikachan commented Apr 11, 2024

Ah yes, thank you for providing the designs here, I see how the ProgressBar will work. I definitely think this is better. I'm not a fan of the current Spinner setup on the Library tab, especially if the theme provides fonts that visually appear to load in before any other fonts.

Is there any reason the following flow for loading the installed fonts tab couldn't happen?

I can't think of a technical reason for why this can't happen relatively easily - I'll work on this next in this PR.

By the way, fonts shouldn't wrap:

I noticed that! They didn't always wrap, I'm not sure what's changed. I'll take a quick look in this PR and if it's not quick I'll spin up something separately.

@mikachan mikachan changed the title Font Library: Improve spacing and alignment of Spinner component Font Library: Change Spinner to ProgressBar component Apr 11, 2024
@mikachan
Copy link
Member Author

I've updated this PR to more closely match the above designs, where:

  • The ProgressBar component is used on both the Library tab and the Install Fonts tab
  • The content of the tabs within the modal is hidden until all content is finished loading
  • The ProgressBar is centered in the modal
LIbrary Install Fonts
Screenshot 2024-04-11 at 10 50 43 Screenshot 2024-04-11 at 11 09 27

The text wrapping problem was also easy to fix with the CSS you provided, @jasmussen

This is ready for another review, thank you!

@jasmussen
Copy link
Contributor

At a quick test, this works well. It's hard to see the spinner when you're testing locally, unless you actively throttle, but that's good. Since this has a green check already, seems good go! Thanks for the work.

Copy link
Contributor

@t-hamano t-hamano left a comment

Choose a reason for hiding this comment

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

The content of the tabs within the modal is hidden until all content is finished loading

In this case, I agree with using the ProgressBar component 👍

@creativecoder creativecoder self-requested a review April 11, 2024 14:49
# Conflicts:
#	packages/edit-site/src/components/global-styles/font-library-modal/installed-fonts.js
@mikachan
Copy link
Member Author

Thanks @t-hamano! This is ready for another review. There are no visual differences to the previous round of changes but I prefer this implementation ✨

Copy link
Contributor

@t-hamano t-hamano left a comment

Choose a reason for hiding this comment

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

LGTM! I left only two comments at the end.

display: flex;
position: absolute;
left: 0;
top: $header-height;
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
top: $header-height;
top: 0;

It looks like the current loading area doesn't match the size of the modal content. I also think the $header-height CSS variable is inappropriate here since it represents the header size of the editor itself.

I think if we just change it to top:0, the loading area and modal content will match in size and the ProgressBar will be centered exactly.

Before

image

After

image

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 used $header-height because this is the variable that's used to set the height of the modal header here.

I think we need to offset the centering position, otherwise the ProgressBar isn't centered within the content area (the area below the header and tabs, and the bottom of the modal):

Top Bottom
image image

Offset by 60px / header-height:

Top Bottom
image image

But I don't think I like using the top position for this, maybe it would be better as a padding-top setting?

image

I've gone ahead and changed this for now in: 7dafc44.

Copy link
Contributor

Choose a reason for hiding this comment

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

I used $header-height because this is the variable that's used to set the height of the modal header here.

Oh, I forgot that this CSS variable was also used in the modal. However, I believe this is the height of the Guide component's header. I think the height of the Modal component' header is below.

height: $header-height + $grid-unit-15;

But I don't think I like using the top position for this, maybe it would be better as a padding-top setting?

I think we can adjust either the top or padding-top, but we need to use a value that takes into account both the height of the modal header and the height of the tabs. In other words, it is the sum of the modal height ($header-height + $grid-unit-15) and the tab height ($grid-unit-60). It should be $header-height + $grid-unit-15 + $grid-unit-60 ( 60px + 12px + 48px = 120px).

Below is a screenshot when the value of top remains zero and padding-top: $header-height + $grid-unit-15 + $grid-unit-60 is applied.

modal-padding-top

Copy link
Contributor

Choose a reason for hiding this comment

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

I added the top padding by 89e2314. Please let me know if this works correctly in your environment.

Copy link
Member Author

Choose a reason for hiding this comment

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

We don't need to take into account the height of the tabs ($grid-unit-60), as they're set to position: sticky and therefore don't affect the centering calculation. You can see in your above screenshot that this pushes the ProgressBar off-center as it has too much spacing above it.

I did start with the above calculation you stated but noticed that the position of the ProgressBar is incorrect. We only need to account for 60px, which gives us these equal top and bottom measurements:

Top Bottom
image image

Copy link
Contributor

Choose a reason for hiding this comment

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

I see, I would like to check it out too, so please push that change 👍

Copy link
Member Author

@mikachan mikachan Apr 16, 2024

Choose a reason for hiding this comment

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

Hmm, today when I test this, the latest commit using $header-height + $grid-unit-15 + $grid-unit-60 also looks centered. I'm a little confused as this is not what I was seeing before when I first tested using these variables, but I'm happy to go with it if it's working now 😅 I can see in my debug tools that it's coming through as 120px, and it looks correct to me 👍

To confirm, the screenshots in this comment were using the 60px offset value rather than 120px, but also confirming that I'm seeing a nicely centered ProgressBar with 120px ✨

I'm happy to stick with $header-height + $grid-unit-15 + $grid-unit-60 as this makes the most logical sense and also explains itself very nicely, i.e. it's clear why this spacing is needed.

Edit: I've realised why I was seeing different results with $header-height + $grid-unit-15 + $grid-unit-60 last week: it's because I was applying it to top rather than padding-top! 120px doesn't centre correctly when applied to top, but it does when applied to padding-top. I think the padding-top approach is best!

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm glad that you seem to have gotten the same results. This PR has already been approved and the code looks good to me, so please feel free to merge 👍

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks so much for your help and reviews here, @t-hamano! I'll go ahead and merge.

@mikachan mikachan merged commit 09849d7 into trunk Apr 16, 2024
67 checks passed
@mikachan mikachan deleted the font-library/change-spinner-to-progressbar branch April 16, 2024 13:47
@github-actions github-actions bot added this to the Gutenberg 18.2 milestone Apr 16, 2024
@mikachan mikachan removed the Needs Design Feedback Needs general design feedback. label Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fonts: update loading visual with new progress bar component
5 participants