WordPress / openverse-frontend

The gateway to the Openverse. Openverse is a search tool for CC-licensed and public domain content across the internet.
https://wordpress.org/openverse
MIT License
71 stars 63 forks source link

Fix the header scrolling #2155

Closed obulat closed 1 year ago

obulat commented 1 year ago

Fixes

Fixes #2150 by @obulat

Description

This is a better alternative to #2152 that uses @zackkrida's suggestion about splitting the height settings for "yellow" and "white" pages.

I previously thought that joining the layouts would give us two improvements:

However, I realized that since we used a key to make sure that the page is re-rendered to change the layout color, the number of re-renders would not change. Any change in color would cause the whole page to re-render. Also, the second point for setup is not as necessary. We might use the App.vue when we migrate to Nuxt 3 in future.

Having two different layouts (default for "yellow" full-height pages and contentLayout for the "white" scrollable pages) fixes the issues with header scrolling or the bottom of the footer being cut off.

Testing Instructions

Checkout the PR and test that the height is correct on all pages, both on mobile and desktop, especially iOS.

Checklist

[best_practices]: https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#_commit_guidelines

Developer Certificate of Origin

Developer Certificate of Origin ``` Developer Certificate of Origin Version 1.1 Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 1 Letterman Drive Suite D4700 San Francisco, CA, 94129 Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. ```
github-actions[bot] commented 1 year ago

Storybook and Tailwind configuration previews: Ready

Storybook: https://wordpress.github.io/openverse-frontend/_preview/2155 Tailwind: https://wordpress.github.io/openverse-frontend/_preview/2155/tailwind

Please note that GitHub pages takes a little time to deploy newly pushed code, if the links above don't work or you see old versions, wait 5 minutes and try again.

You can check the GitHub pages deployment action list to see the current status of the deployments.

github-actions[bot] commented 1 year ago

Size Change: -4.94 kB (-1%)

Total Size: 892 kB

Filename Size Change
./.nuxt/dist/client/214.js 0 B -271 B (removed) šŸ†
./.nuxt/dist/client/214.modern.js 0 B -276 B (removed) šŸ†
./.nuxt/dist/client/215.js 0 B -1.85 kB (removed) šŸ†
./.nuxt/dist/client/app.js 145 kB -1.52 kB (-1%)
./.nuxt/dist/client/app.modern.js 118 kB -3.62 kB (-3%)
./.nuxt/dist/client/commons/app.js 86.7 kB -13 B (0%)
./.nuxt/dist/client/components/v-sources-table.js 16.6 kB +27 B (0%)
./.nuxt/dist/client/components/v-sources-table.modern.js 16.6 kB +27 B (0%)
./.nuxt/dist/client/pages/about.js 1.53 kB +11 B (+1%)
./.nuxt/dist/client/pages/about.modern.js 1.53 kB +11 B (+1%)
./.nuxt/dist/client/pages/audio/_id/index.modern.js 4.81 kB +12 B (0%)
./.nuxt/dist/client/pages/external-sources.js 1.54 kB +11 B (+1%)
./.nuxt/dist/client/pages/external-sources.modern.js 1.54 kB +12 B (+1%)
./.nuxt/dist/client/pages/feedback.js 1.32 kB +14 B (+1%)
./.nuxt/dist/client/pages/feedback.modern.js 1.32 kB +12 B (+1%)
./.nuxt/dist/client/pages/image/_id/index.js 9.27 kB +10 B (0%)
./.nuxt/dist/client/pages/image/_id/index.modern.js 7.35 kB +16 B (0%)
./.nuxt/dist/client/pages/preferences.modern.js 1.22 kB +10 B (+1%)
./.nuxt/dist/client/pages/privacy.js 995 B +12 B (+1%)
./.nuxt/dist/client/pages/privacy.modern.js 993 B +10 B (+1%)
./.nuxt/dist/client/pages/search-help.js 1.62 kB +13 B (+1%)
./.nuxt/dist/client/pages/search-help.modern.js 1.62 kB +12 B (+1%)
./.nuxt/dist/client/pages/search.js 5.17 kB +12 B (0%)
./.nuxt/dist/client/pages/sources.js 1.56 kB +14 B (+1%)
./.nuxt/dist/client/pages/sources.modern.js 1.55 kB +12 B (+1%)
./.nuxt/dist/client/runtime.js 2.49 kB -149 B (-6%) āœ…
./.nuxt/dist/client/runtime.modern.js 2.49 kB -148 B (-6%) āœ…
./.nuxt/dist/client/vendors/app.js 63.8 kB +146 B (0%)
./.nuxt/dist/client/vendors/app.modern.js 63 kB +78 B (0%)
./.nuxt/dist/client/185.js 272 B +272 B (new file) šŸ†•
./.nuxt/dist/client/185.modern.js 277 B +277 B (new file) šŸ†•
./.nuxt/dist/client/186.js 1.85 kB +1.85 kB (new file) šŸ†•
ā„¹ļø View Unchanged | Filename | Size | Change | | :--- | :---: | :---: | | `./.nuxt/dist/client/commons/app.modern.js` | 77.4 kB | +6 B (0%) | | `./.nuxt/dist/client/components/loading-icon.js` | 746 B | 0 B | | `./.nuxt/dist/client/components/loading-icon.modern.js` | 751 B | 0 B | | `./.nuxt/dist/client/components/table-sort-icon.js` | 508 B | 0 B | | `./.nuxt/dist/client/components/table-sort-icon.modern.js` | 513 B | 0 B | | `./.nuxt/dist/client/components/v-all-results-grid.js` | 7.49 kB | -2 B (0%) | | `./.nuxt/dist/client/components/v-all-results-grid.modern.js` | 5.01 kB | -3 B (0%) | | `./.nuxt/dist/client/components/v-audio-cell.js` | 357 B | 0 B | | `./.nuxt/dist/client/components/v-audio-cell.modern.js` | 361 B | 0 B | | `./.nuxt/dist/client/components/v-audio-details.js` | 2.54 kB | 0 B | | `./.nuxt/dist/client/components/v-audio-details.modern.js` | 1.79 kB | +2 B (0%) | | `./.nuxt/dist/client/components/v-audio-track-skeleton.js` | 1.01 kB | 0 B | | `./.nuxt/dist/client/components/v-audio-track-skeleton.modern.js` | 1.02 kB | 0 B | | `./.nuxt/dist/client/components/v-audio-track.js` | 5.22 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-audio-track.modern.js` | 5.16 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-back-to-search-results-link.js` | 538 B | 0 B | | `./.nuxt/dist/client/components/v-back-to-search-results-link.modern.js` | 542 B | -1 B (0%) | | `./.nuxt/dist/client/components/v-bone.js` | 684 B | 0 B | | `./.nuxt/dist/client/components/v-bone.modern.js` | 688 B | 0 B | | `./.nuxt/dist/client/components/v-box-layout.js` | 1.23 kB | 0 B | | `./.nuxt/dist/client/components/v-box-layout.modern.js` | 1.23 kB | -1 B (0%) | | `./.nuxt/dist/client/components/v-content-link.js` | 1.11 kB | -1 B (0%) | | `./.nuxt/dist/client/components/v-content-link.modern.js` | 1.09 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-content-page.js` | 467 B | 0 B | | `./.nuxt/dist/client/components/v-content-page.modern.js` | 471 B | 0 B | | `./.nuxt/dist/client/components/v-content-report-button.js` | 776 B | 0 B | | `./.nuxt/dist/client/components/v-content-report-button.modern.js` | 781 B | 0 B | | `./.nuxt/dist/client/components/v-content-report-form.js` | 6.09 kB | 0 B | | `./.nuxt/dist/client/components/v-content-report-form.modern.js` | 3.58 kB | 0 B | | `./.nuxt/dist/client/components/v-content-report-popover.js` | 1.23 kB | 0 B | | `./.nuxt/dist/client/components/v-content-report-popover.modern.js` | 4.23 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-copy-button.js` | 3.99 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-copy-button.modern.js` | 3.99 kB | 0 B | | `./.nuxt/dist/client/components/v-copy-license.js` | 1 kB | 0 B | | `./.nuxt/dist/client/components/v-copy-license.modern.js` | 1 kB | +2 B (0%) | | `./.nuxt/dist/client/components/v-copy-license/components/v-error-image/components/v-media-reuse/components/v-search-grid/d219393b.js` | 9.88 kB | +5 B (0%) | | `./.nuxt/dist/client/components/v-copy-license/components/v-error-image/components/v-media-reuse/components/v-search-grid/d219393b.modern.js` | 9.86 kB | -2 B (0%) | | `./.nuxt/dist/client/components/v-dmca-notice.js` | 749 B | 0 B | | `./.nuxt/dist/client/components/v-dmca-notice.modern.js` | 752 B | 0 B | | `./.nuxt/dist/client/components/v-error-image.js` | 1.69 kB | -1 B (0%) | | `./.nuxt/dist/client/components/v-error-image.modern.js` | 1.68 kB | -1 B (0%) | | `./.nuxt/dist/client/components/v-error-section.js` | 372 B | 0 B | | `./.nuxt/dist/client/components/v-error-section.modern.js` | 376 B | 0 B | | `./.nuxt/dist/client/components/v-external-search-form.js` | 2.06 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-external-search-form.modern.js` | 2.05 kB | -2 B (0%) | | `./.nuxt/dist/client/components/v-external-source-list.js` | 900 B | 0 B | | `./.nuxt/dist/client/components/v-external-source-list.modern.js` | 897 B | -1 B (0%) | | `./.nuxt/dist/client/components/v-full-layout.js` | 1.59 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-full-layout.modern.js` | 1.59 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-grid-skeleton.js` | 1.62 kB | 0 B | | `./.nuxt/dist/client/components/v-grid-skeleton.modern.js` | 1.62 kB | 0 B | | `./.nuxt/dist/client/components/v-home-gallery.js` | 4.79 kB | -2 B (0%) | | `./.nuxt/dist/client/components/v-home-gallery.modern.js` | 4.79 kB | 0 B | | `./.nuxt/dist/client/components/v-homepage-content.js` | 1.72 kB | -2 B (0%) | | `./.nuxt/dist/client/components/v-homepage-content.modern.js` | 1.69 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-image-carousel.js` | 4.76 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-image-carousel.modern.js` | 4.74 kB | 0 B | | `./.nuxt/dist/client/components/v-image-cell-square.js` | 993 B | 0 B | | `./.nuxt/dist/client/components/v-image-cell-square.modern.js` | 997 B | +1 B (0%) | | `./.nuxt/dist/client/components/v-image-cell.js` | 1.43 kB | 0 B | | `./.nuxt/dist/client/components/v-image-cell.modern.js` | 1.42 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-image-details.js` | 2.15 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-image-details.modern.js` | 1.42 kB | 0 B | | `./.nuxt/dist/client/components/v-image-grid.js` | 4.88 kB | 0 B | | `./.nuxt/dist/client/components/v-image-grid.modern.js` | 2.42 kB | 0 B | | `./.nuxt/dist/client/components/v-license-tab-panel.js` | 521 B | 0 B | | `./.nuxt/dist/client/components/v-license-tab-panel.modern.js` | 526 B | +1 B (0%) | | `./.nuxt/dist/client/components/v-load-more.js` | 3.16 kB | -2 B (0%) | | `./.nuxt/dist/client/components/v-load-more.modern.js` | 684 B | +1 B (0%) | | `./.nuxt/dist/client/components/v-media-license.js` | 819 B | 0 B | | `./.nuxt/dist/client/components/v-media-license.modern.js` | 827 B | -1 B (0%) | | `./.nuxt/dist/client/components/v-media-reuse.js` | 1.62 kB | -1 B (0%) | | `./.nuxt/dist/client/components/v-media-reuse.modern.js` | 1.61 kB | 0 B | | `./.nuxt/dist/client/components/v-media-tag.js` | 428 B | 0 B | | `./.nuxt/dist/client/components/v-media-tag.modern.js` | 434 B | 0 B | | `./.nuxt/dist/client/components/v-no-results.js` | 752 B | +1 B (0%) | | `./.nuxt/dist/client/components/v-no-results.modern.js` | 751 B | 0 B | | `./.nuxt/dist/client/components/v-old-homepage-content.js` | 1.87 kB | -3 B (0%) | | `./.nuxt/dist/client/components/v-old-homepage-content.modern.js` | 1.85 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-radio.js` | 1.51 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-radio.modern.js` | 1.47 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-related-audio.js` | 1.25 kB | +2 B (0%) | | `./.nuxt/dist/client/components/v-related-audio.modern.js` | 1.25 kB | 0 B | | `./.nuxt/dist/client/components/v-related-images.js` | 1.05 kB | 0 B | | `./.nuxt/dist/client/components/v-related-images.modern.js` | 2.98 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-report-desc-form.js` | 965 B | 0 B | | `./.nuxt/dist/client/components/v-report-desc-form.modern.js` | 969 B | 0 B | | `./.nuxt/dist/client/components/v-row-layout.js` | 1.7 kB | 0 B | | `./.nuxt/dist/client/components/v-row-layout.modern.js` | 1.71 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-scroll-button.js` | 813 B | 0 B | | `./.nuxt/dist/client/components/v-scroll-button.modern.js` | 819 B | 0 B | | `./.nuxt/dist/client/components/v-search-grid.js` | 5.87 kB | +1 B (0%) | | `./.nuxt/dist/client/components/v-search-grid.modern.js` | 5.8 kB | -3 B (0%) | | `./.nuxt/dist/client/components/v-search-results-title.js` | 595 B | 0 B | | `./.nuxt/dist/client/components/v-search-results-title.modern.js` | 598 B | 0 B | | `./.nuxt/dist/client/components/v-search-type-radio.js` | 790 B | -1 B (0%) | | `./.nuxt/dist/client/components/v-search-type-radio.modern.js` | 770 B | +1 B (0%) | | `./.nuxt/dist/client/components/v-server-timeout.js` | 299 B | 0 B | | `./.nuxt/dist/client/components/v-server-timeout.modern.js` | 303 B | 0 B | | `./.nuxt/dist/client/components/v-sketch-fab-viewer.js` | 3.37 kB | 0 B | | `./.nuxt/dist/client/components/v-sketch-fab-viewer.modern.js` | 896 B | +1 B (0%) | | `./.nuxt/dist/client/components/v-skip-to-content-container.js` | 889 B | +1 B (0%) | | `./.nuxt/dist/client/components/v-skip-to-content-container.modern.js` | 893 B | -1 B (0%) | | `./.nuxt/dist/client/components/v-snackbar.js` | 1.18 kB | 0 B | | `./.nuxt/dist/client/components/v-snackbar.modern.js` | 1.19 kB | 0 B | | `./.nuxt/dist/client/components/v-warning-suppressor.js` | 299 B | 0 B | | `./.nuxt/dist/client/components/v-warning-suppressor.modern.js` | 303 B | 0 B | | `./.nuxt/dist/client/pages/audio/_id/index.js` | 7.97 kB | +3 B (0%) | | `./.nuxt/dist/client/pages/image/_id/report.js` | 3.59 kB | -1 B (0%) | | `./.nuxt/dist/client/pages/image/_id/report.modern.js` | 4.2 kB | +1 B (0%) | | `./.nuxt/dist/client/pages/index.js` | 8.63 kB | -4 B (0%) | | `./.nuxt/dist/client/pages/index.modern.js` | 8.52 kB | -2 B (0%) | | `./.nuxt/dist/client/pages/preferences.js` | 1.23 kB | +9 B (+1%) | | `./.nuxt/dist/client/pages/search.modern.js` | 2.67 kB | +9 B (0%) | | `./.nuxt/dist/client/pages/search/audio.js` | 6.14 kB | -2 B (0%) | | `./.nuxt/dist/client/pages/search/audio.modern.js` | 3.65 kB | -2 B (0%) | | `./.nuxt/dist/client/pages/search/image.js` | 659 B | -1 B (0%) | | `./.nuxt/dist/client/pages/search/image.modern.js` | 2.73 kB | 0 B | | `./.nuxt/dist/client/pages/search/index.js` | 541 B | -2 B (0%) | | `./.nuxt/dist/client/pages/search/index.modern.js` | 547 B | 0 B | | `./.nuxt/dist/client/pages/search/model-3d.js` | 243 B | 0 B | | `./.nuxt/dist/client/pages/search/model-3d.modern.js` | 246 B | 0 B | | `./.nuxt/dist/client/pages/search/search-page.types.js` | 266 B | 0 B | | `./.nuxt/dist/client/pages/search/search-page.types.modern.js` | 271 B | 0 B | | `./.nuxt/dist/client/pages/search/video.js` | 239 B | 0 B | | `./.nuxt/dist/client/pages/search/video.modern.js` | 243 B | -1 B (0%) |

compressed-size-action