Skip to content
This repository has been archived by the owner on Feb 22, 2023. It is now read-only.

Update footer to match new mockups #2015

Merged
merged 10 commits into from
Dec 14, 2022
Merged

Update footer to match new mockups #2015

merged 10 commits into from
Dec 14, 2022

Conversation

obulat
Copy link
Contributor

@obulat obulat commented Nov 29, 2022

Fixes

Fixes #2012 by @obulat
Related to #2009

Description

This PR updates the footer to match the latest mockups.

The footer layout should be updated to match the screenshot.

Mockup

Testing Instructions

The footer should work properly, and match the mockups.

Checklist

  • My pull request has a descriptive title (not a vague title like Update index.md).
  • My pull request targets the default branch of the repository (main) or a parent feature branch.
  • My commit messages follow best practices.
  • My code follows the established code style of the repository.
  • I added or updated tests for the changes I made (if applicable).
  • I added or updated documentation (if applicable).
  • I tried running the project locally and verified that there are no visible errors.

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.

@obulat obulat requested a review from a team as a code owner November 29, 2022 15:33
@obulat obulat requested review from zackkrida and dhruvkb November 29, 2022 15:33
@github-actions
Copy link

github-actions bot commented Nov 29, 2022

Storybook and Tailwind configuration previews: Ready

Storybook: https://wordpress.github.io/openverse-frontend/_preview/2015
Tailwind: https://wordpress.github.io/openverse-frontend/_preview/2015/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.

@openverse-bot openverse-bot added the 🚦 status: awaiting triage Has not been triaged & therefore, not ready for work label Nov 29, 2022
@zackkrida
Copy link
Member

@obulat should there be accompanying updates to visual regression tests here? Thanks for the speedy implementation!

src/components/VFooter/VFooter.vue Outdated Show resolved Hide resolved
@github-actions
Copy link

github-actions bot commented Nov 29, 2022

Size Change: -2.02 kB (0%)

Total Size: 867 kB

Filename Size Change
./.nuxt/dist/client/221.js 0 B -272 B (removed) 🏆
./.nuxt/dist/client/221.modern.js 0 B -276 B (removed) 🏆
./.nuxt/dist/client/222.js 0 B -1.85 kB (removed) 🏆
./.nuxt/dist/client/app.js 150 kB -233 B (0%)
./.nuxt/dist/client/app.modern.js 120 kB -1.81 kB (-1%)
./.nuxt/dist/client/commons/app.js 86.7 kB +37 B (0%)
./.nuxt/dist/client/commons/app.modern.js 77.5 kB +41 B (0%)
./.nuxt/dist/client/components/v-sources-table.js 16 kB +60 B (0%)
./.nuxt/dist/client/components/v-sources-table.modern.js 16.1 kB +55 B (0%)
./.nuxt/dist/client/runtime.js 2.57 kB -67 B (-3%)
./.nuxt/dist/client/runtime.modern.js 2.58 kB -65 B (-2%)
./.nuxt/dist/client/207.js 272 B +272 B (new file) 🆕
./.nuxt/dist/client/207.modern.js 277 B +277 B (new file) 🆕
./.nuxt/dist/client/208.js 1.85 kB +1.85 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
./.nuxt/dist/client/components/loading-icon.js 747 B +1 B (0%)
./.nuxt/dist/client/components/loading-icon.modern.js 750 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.48 kB +1 B (0%)
./.nuxt/dist/client/components/v-all-results-grid.modern.js 5.01 kB -7 B (0%)
./.nuxt/dist/client/components/v-audio-cell.js 356 B 0 B
./.nuxt/dist/client/components/v-audio-cell.modern.js 360 B 0 B
./.nuxt/dist/client/components/v-audio-details.js 2.53 kB -2 B (0%)
./.nuxt/dist/client/components/v-audio-details.modern.js 1.78 kB -3 B (0%)
./.nuxt/dist/client/components/v-audio-track-skeleton.js 1.01 kB +1 B (0%)
./.nuxt/dist/client/components/v-audio-track-skeleton.modern.js 1.01 kB -1 B (0%)
./.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 +2 B (0%)
./.nuxt/dist/client/components/v-back-to-search-results-link.js 539 B 0 B
./.nuxt/dist/client/components/v-back-to-search-results-link.modern.js 543 B 0 B
./.nuxt/dist/client/components/v-bone.js 685 B +1 B (0%)
./.nuxt/dist/client/components/v-bone.modern.js 689 B 0 B
./.nuxt/dist/client/components/v-box-layout.js 1.2 kB +2 B (0%)
./.nuxt/dist/client/components/v-box-layout.modern.js 1.2 kB +1 B (0%)
./.nuxt/dist/client/components/v-content-link.js 1.11 kB +3 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 466 B -1 B (0%)
./.nuxt/dist/client/components/v-content-page.modern.js 471 B 0 B
./.nuxt/dist/client/components/v-content-report-button.js 776 B -2 B (0%)
./.nuxt/dist/client/components/v-content-report-button.modern.js 781 B -2 B (0%)
./.nuxt/dist/client/components/v-content-report-form.js 6.08 kB +1 B (0%)
./.nuxt/dist/client/components/v-content-report-form.modern.js 3.57 kB +4 B (0%)
./.nuxt/dist/client/components/v-content-report-popover.js 1.22 kB +3 B (0%)
./.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 4 kB -2 B (0%)
./.nuxt/dist/client/components/v-copy-license.js 999 B -1 B (0%)
./.nuxt/dist/client/components/v-copy-license.modern.js 1 kB -1 B (0%)
./.nuxt/dist/client/components/v-copy-license/components/v-error-image/components/v-media-reuse/components/v-search-grid/09090664.js 9.86 kB +3 B (0%)
./.nuxt/dist/client/components/v-copy-license/components/v-error-image/components/v-media-reuse/components/v-search-grid/09090664.modern.js 9.83 kB +1 B (0%)
./.nuxt/dist/client/components/v-dmca-notice.js 747 B +4 B (+1%)
./.nuxt/dist/client/components/v-dmca-notice.modern.js 753 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 375 B -1 B (0%)
./.nuxt/dist/client/components/v-external-search-form.js 3.09 kB 0 B
./.nuxt/dist/client/components/v-external-search-form.modern.js 3.06 kB -2 B (0%)
./.nuxt/dist/client/components/v-external-source-list.js 2.55 kB 0 B
./.nuxt/dist/client/components/v-external-source-list.modern.js 2.52 kB -2 B (0%)
./.nuxt/dist/client/components/v-full-layout.js 1.59 kB +2 B (0%)
./.nuxt/dist/client/components/v-full-layout.modern.js 1.59 kB +2 B (0%)
./.nuxt/dist/client/components/v-grid-skeleton.js 1.61 kB -2 B (0%)
./.nuxt/dist/client/components/v-grid-skeleton.modern.js 1.61 kB -1 B (0%)
./.nuxt/dist/client/components/v-image-cell-square.js 1.02 kB +1 B (0%)
./.nuxt/dist/client/components/v-image-cell-square.modern.js 1.02 kB 0 B
./.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 +4 B (0%)
./.nuxt/dist/client/components/v-image-details.modern.js 1.43 kB 0 B
./.nuxt/dist/client/components/v-image-grid.js 4.87 kB -6 B (0%)
./.nuxt/dist/client/components/v-image-grid.modern.js 2.42 kB +1 B (0%)
./.nuxt/dist/client/components/v-license-tab-panel.js 521 B -1 B (0%)
./.nuxt/dist/client/components/v-license-tab-panel.modern.js 524 B 0 B
./.nuxt/dist/client/components/v-load-more.js 3.16 kB 0 B
./.nuxt/dist/client/components/v-load-more.modern.js 683 B -1 B (0%)
./.nuxt/dist/client/components/v-media-license.js 818 B -1 B (0%)
./.nuxt/dist/client/components/v-media-license.modern.js 825 B -2 B (0%)
./.nuxt/dist/client/components/v-media-reuse.js 1.62 kB 0 B
./.nuxt/dist/client/components/v-media-reuse.modern.js 1.61 kB -2 B (0%)
./.nuxt/dist/client/components/v-media-tag.js 429 B -1 B (0%)
./.nuxt/dist/client/components/v-media-tag.modern.js 434 B 0 B
./.nuxt/dist/client/components/v-no-results.js 2.75 kB +1 B (0%)
./.nuxt/dist/client/components/v-no-results.modern.js 2.72 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 0 B
./.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 +1 B (0%)
./.nuxt/dist/client/components/v-related-images.js 1.05 kB +2 B (0%)
./.nuxt/dist/client/components/v-related-images.modern.js 2.98 kB +2 B (0%)
./.nuxt/dist/client/components/v-report-desc-form.js 966 B +2 B (0%)
./.nuxt/dist/client/components/v-report-desc-form.modern.js 968 B 0 B
./.nuxt/dist/client/components/v-row-layout.js 1.71 kB +2 B (0%)
./.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 +1 B (0%)
./.nuxt/dist/client/components/v-search-grid.js 5.43 kB -4 B (0%)
./.nuxt/dist/client/components/v-search-grid.modern.js 5.38 kB -4 B (0%)
./.nuxt/dist/client/components/v-search-results-title.js 657 B -2 B (0%)
./.nuxt/dist/client/components/v-search-results-title.modern.js 656 B -1 B (0%)
./.nuxt/dist/client/components/v-search-type-radio.js 793 B -1 B (0%)
./.nuxt/dist/client/components/v-search-type-radio.modern.js 770 B -3 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 -1 B (0%)
./.nuxt/dist/client/components/v-sketch-fab-viewer.modern.js 894 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 -1 B (0%)
./.nuxt/dist/client/components/v-snackbar.modern.js 1.19 kB -2 B (0%)
./.nuxt/dist/client/components/v-warning-suppressor.js 298 B 0 B
./.nuxt/dist/client/components/v-warning-suppressor.modern.js 303 B 0 B
./.nuxt/dist/client/pages/about.js 1.51 kB -3 B (0%)
./.nuxt/dist/client/pages/about.modern.js 1.51 kB +2 B (0%)
./.nuxt/dist/client/pages/audio/_id.js 7.95 kB -6 B (0%)
./.nuxt/dist/client/pages/audio/_id.modern.js 4.79 kB -3 B (0%)
./.nuxt/dist/client/pages/external-sources.js 1.52 kB -3 B (0%)
./.nuxt/dist/client/pages/external-sources.modern.js 1.53 kB -2 B (0%)
./.nuxt/dist/client/pages/feedback.js 1.31 kB 0 B
./.nuxt/dist/client/pages/feedback.modern.js 1.31 kB +1 B (0%)
./.nuxt/dist/client/pages/image/_id.js 9.26 kB -5 B (0%)
./.nuxt/dist/client/pages/image/_id.modern.js 7.34 kB -2 B (0%)
./.nuxt/dist/client/pages/index.js 7.42 kB -5 B (0%)
./.nuxt/dist/client/pages/index.modern.js 5.01 kB +5 B (0%)
./.nuxt/dist/client/pages/preferences.js 1.22 kB -3 B (0%)
./.nuxt/dist/client/pages/preferences.modern.js 1.2 kB 0 B
./.nuxt/dist/client/pages/privacy.js 980 B -2 B (0%)
./.nuxt/dist/client/pages/privacy.modern.js 984 B +2 B (0%)
./.nuxt/dist/client/pages/search-help.js 1.61 kB -2 B (0%)
./.nuxt/dist/client/pages/search-help.modern.js 1.62 kB +2 B (0%)
./.nuxt/dist/client/pages/search.js 5.07 kB +8 B (0%)
./.nuxt/dist/client/pages/search.modern.js 2.56 kB +2 B (0%)
./.nuxt/dist/client/pages/search/audio.js 6.14 kB -1 B (0%)
./.nuxt/dist/client/pages/search/audio.modern.js 3.65 kB -3 B (0%)
./.nuxt/dist/client/pages/search/image.js 659 B 0 B
./.nuxt/dist/client/pages/search/image.modern.js 2.73 kB +1 B (0%)
./.nuxt/dist/client/pages/search/index.js 540 B -1 B (0%)
./.nuxt/dist/client/pages/search/index.modern.js 548 B 0 B
./.nuxt/dist/client/pages/search/model-3d.js 242 B -1 B (0%)
./.nuxt/dist/client/pages/search/model-3d.modern.js 245 B -1 B (0%)
./.nuxt/dist/client/pages/search/search-page.types.js 266 B -1 B (0%)
./.nuxt/dist/client/pages/search/search-page.types.modern.js 270 B -1 B (0%)
./.nuxt/dist/client/pages/search/video.js 239 B -1 B (0%)
./.nuxt/dist/client/pages/search/video.modern.js 243 B -1 B (0%)
./.nuxt/dist/client/pages/sources.js 1.52 kB +1 B (0%)
./.nuxt/dist/client/pages/sources.modern.js 1.51 kB -2 B (0%)
./.nuxt/dist/client/vendors/app.js 63.7 kB +5 B (0%)
./.nuxt/dist/client/vendors/app.modern.js 63.1 kB -3 B (0%)

compressed-size-action

@obulat obulat requested a review from fcoveram November 30, 2022 09:46
@obulat obulat added 🟧 priority: high Stalls work on the project or its dependents ✨ goal: improvement Improvement to an existing user-facing feature 🕹 aspect: interface Concerns end-users' experience with the software and removed 🚦 status: awaiting triage Has not been triaged & therefore, not ready for work labels Nov 30, 2022
@obulat obulat requested a review from dhruvkb November 30, 2022 09:47
Copy link

@fcoveram fcoveram left a comment

Choose a reason for hiding this comment

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

It looks great, I just noticed the following details.

Content version

Spacings

  • In xl and 2xl the left and right padding should be 40px instead of 24px
  • In lg, xl, and 2xl, the gap between rows should be 32px instead of 40px

Components

For the page links, I think you used the "Clear" component from the drawer. In theory, that is correct, but the element has a fixed height to match the spacing rule of 8x.

CleanShot 2022-12-01 at 14 26 24@2x

The element has a decimal size of 32.9, which can be problematic and break layouts if we keep using it as it is. We can tackle this in two ways I think:

  1. Replace the Clear component with the Link component and apply the spacing rule to the gap between li elements
  2. Set a fixed height of the Clear component as 32px and add a new spacing value between li to match the mockup.

I am drawn to the first option as the Link component was thought for links single links, whereas the Clear component inherits the fixed height from the Results button. Why did this happen? Because the link component did not exist at the moment I started the header redesign.

In sm, the locale component has a max-width: 100% that crashes the layout. The mockup keeps the width fixed as 230px in sm, md, lg, xl, 2xl to avoid this effect. Is that possible or better to find a different solution?

CleanShot 2022-12-01 at 14 38 33@2x

Alignment

In sm and md, the locale component and WordPress call need to be aligned vertically centered.

CleanShot 2022-12-01 at 14 35 32@2x

Internal version

Spacings

  • In xl and 2xl the left and right padding should be 40px instead of 24px
  • In sm and md, padding values should be 24px, 24px, 40px, 24px. The top part is bigger to match the result area layout.

Alignment

  • In sm and md, the WordPress call should be fixed on the right side.
  • In sm and md, the locale component and WordPress call need to be aligned vertically centered.

@obulat obulat force-pushed the footer_adjustments branch 3 times, most recently from 9466d23 to c234cec Compare December 1, 2022 17:34
@zackkrida zackkrida requested a review from fcoveram December 2, 2022 19:32
@obulat obulat force-pushed the footer_adjustments branch from cd9253f to eef955a Compare December 6, 2022 06:03
@WordPress WordPress deleted a comment from github-actions bot Dec 6, 2022
@zackkrida
Copy link
Member

zackkrida commented Dec 6, 2022

@obulat when this is ready for re-review could you ping reviewers / re-request reviews?

Copy link

@fcoveram fcoveram left a comment

Choose a reason for hiding this comment

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

It looks great. Just a few notes

Content version

  • Top and bottom paddings must be 40px in all breakpoints.

Internal version

  • In lg, xl, 2xl all sides should be 40px. I see a 24px for the bottom side.
  • In sm, md the top and bottom spacings are inverted. It should be 40px for the bottom and 24px for the top.

Nav items

Despite the above changes. Which one do you think is the best option to address the nav items' components?

@obulat obulat force-pushed the footer_adjustments branch from b0acb39 to 2fe3755 Compare December 7, 2022 04:38
@WordPress WordPress deleted a comment from github-actions bot Dec 7, 2022
@obulat
Copy link
Contributor Author

obulat commented Dec 7, 2022

Thank you for the review, @panchovm! I've fixed the footer paddings.

Despite the above changes. Which one do you think is the best option to address the nav items' components?

The element has a decimal size of 32.9, which can be problematic and break layouts if we keep using it as it is.

What kind of problems will the decimal size of 32.9 bring? I don't think we can set a fixed height in the navigation bar because we need the designs to be used in other languages, too. Some navigation items can have a long title when translated, and then they will not fit into the component and will overflow.

So, we have to set the height using text height + padding. The text height, when it's in one line, is decimal, 16.5px. We either need to set a decimal padding to get a nice link height of 32px, or we have to live with a decimal height of the link:
Screenshot 2022-12-07 at 9 11 11 AM

In the code, we don't really have a Clear component, do we have it in the Figma mockups?
I have added a VNavLink component for navigation links. It has an 8px vertical padding to ensure that the links are tappable. I also added some row and column gaps for the footer.

This is what the height becomes for one-line items:
Screenshot 2022-12-07 at 9 17 04 AM

And here, what items with more than one-line of text will look like:
Screenshot 2022-12-07 at 9 40 10 AM

Is this approach OK, or should we think of something else, @panchovm?

@obulat obulat force-pushed the footer_adjustments branch from 171ccc5 to dbcc334 Compare December 7, 2022 08:19
@obulat obulat force-pushed the footer_adjustments branch from d64d4c0 to bba5491 Compare December 12, 2022 11:25
@obulat
Copy link
Contributor Author

obulat commented Dec 13, 2022

Your point about the tappable area makes sense, but I think we don't need it as the Target Size Criterion requires at least a 44px area.

Today I learned: it's ok for the tappable area (or the target size on the desktop) to be smaller than 44px if the areas do not overlap. So, it's OK from the accessibility point of view (or SEO in lighthouse checks) if the focus area of the links is small, like in the snapshots you shared, @panchovm, but there is enough space between the links. The problem starts when the links are so close to each other that a click on one can be interpreted as a click on another one. And we don't have such problem anyways :)

I've updated the code to have a small focus "box" around the links. The padding now is on the <li> element.

Copy link

@fcoveram fcoveram left a comment

Choose a reason for hiding this comment

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

It looks great. Nice work ✨

@obulat obulat force-pushed the footer_adjustments branch from 7a4b229 to 5e386fe Compare December 13, 2022 12:55
@zackkrida
Copy link
Member

@obulat this looks fantastic visually and I'll get you a more in-depth review about the code itself when I have a chance to review it later today. Thanks!

@WordPress WordPress deleted a comment from github-actions bot Dec 13, 2022
@obulat obulat force-pushed the footer_adjustments branch from 83256d7 to ec527ff Compare December 13, 2022 16:18
@WordPress WordPress deleted a comment from github-actions bot Dec 13, 2022
>
<template #wordpress>
<WordPress class="aria-hidden" />
<span class="sr-only">WordPress</span>
Copy link
Member

Choose a reason for hiding this comment

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

Great inclusion for a11y.

Copy link
Member

@zackkrida zackkrida left a comment

Choose a reason for hiding this comment

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

Looks good @obulat!

@obulat obulat dismissed dhruvkb’s stale review December 14, 2022 13:56

The required changes were added

@obulat obulat merged commit 24417a5 into main Dec 14, 2022
@obulat obulat deleted the footer_adjustments branch December 14, 2022 13:56
github-actions bot pushed a commit that referenced this pull request Dec 14, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
🕹 aspect: interface Concerns end-users' experience with the software ✨ goal: improvement Improvement to an existing user-facing feature 🟧 priority: high Stalls work on the project or its dependents
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update footer layout
5 participants