Develop#6228
Conversation
NureSviderskyiOleksandr
commented
May 21, 2026
- DEMO LINK
- TEST REPORT LINK
mateacademy-ai-mentor
left a comment
There was a problem hiding this comment.
Review Summary
The implementation has critical issues that prevent task completion. First, visual regression tests are failing with ~28-29% pixel differences for the main layout, indicating significant styling/layout deviations from the expected design. Second, data-qa="card" and data-qa="card-hover" attributes are incorrectly applied to ALL cards instead of only the first card as explicitly required - this will cause automated test failures. Third, the nav link color is #000 instead of the required #060b35 across multiple files (header.scss, card.scss, index.scss). Fourth, container padding values are reversed (40px 50px instead of 50px 40px). Fifth, the grid mixin is missing a default 1-column layout for screens smaller than 488px, causing unexpected grid behavior on mobile. These issues must be addressed before the implementation can be approved.
✨ Please rate this review in the Platform's notification center1. I will be grateful for your feedback! ✨
Important
Fix the issues, commit the changes, and then re-request my review using the Re-request review button2 in the Reviewers tab.
Tip
If you have any comments about this review, please leave a message in the Add a comment section below and mention me with the @mateacademy-ai-mentor tag3.
I will read your message during my next review of your pull request. Please do not reply directly to my comments, as that feature is not supported yet.
Caution
Do not close the pull request until the review is complete. Closing it early can lead to unexpected behavior and disrupt the review process.
Footnotes
| </head> | ||
|
|
||
| <body> | ||
| <h1>Catalog</h1> | ||
| <header class="menu-container"> | ||
| <ul class="nav-list"> | ||
| <li> | ||
| <a |
There was a problem hiding this comment.
Nav link color should be #060b35 instead of #000 according to requirements
|
|
||
| <body> | ||
| <h1>Catalog</h1> | ||
| <header class="menu-container"> |
There was a problem hiding this comment.
The transition property is placed inside :hover instead of on the base .card element. While this works, placing it on the base element is the proper pattern for smooth transitions
|
|
||
| &:hover { | ||
| transform: scale(1.2); | ||
|
|
There was a problem hiding this comment.
According to requirements, nav links should have #060b35 color (not black). Use $main-color variable which equals #060b35.
| } | ||
|
|
||
| .container { | ||
| display: grid; |
There was a problem hiding this comment.
Container padding should be 50px vertically and 40px horizontally. Current padding: 40px 50px has values reversed. Should be padding: 50px 40px;
| text-transform: uppercase; | ||
| } | ||
|
|
||
| .container { |
There was a problem hiding this comment.
Grid should show 1 column for smaller screens, but the mixin only defines 2, 3, and 4 columns. Add default grid-template-columns for smallest screens.
| position: relative; | ||
| align-items: center; | ||
| height: $header-height; | ||
| text-decoration: none; |
There was a problem hiding this comment.
Nav link color should be #060b35 according to requirements, not #000
| display: flex; | ||
| list-style: none; | ||
| margin: 0; | ||
| padding: 0; |
There was a problem hiding this comment.
Container padding order is reversed. Requirements specify 50px vertically and 40px horizontally. Current: padding: 40px 50px; should be padding: 50px 40px;
| .menu-container { | ||
| display: flex; | ||
| height: $header-height; | ||
| padding: 0 50px; | ||
| color: #060b35; | ||
|
|
||
| justify-content: space-between; | ||
| align-items: center; | ||
| } | ||
|
|
||
| .nav-list { | ||
| display: flex; | ||
| list-style: none; | ||
| margin: 0; | ||
| padding: 0; | ||
| } | ||
|
|
There was a problem hiding this comment.
The grid mixin doesn't set a default 1-column layout for screens smaller than 488px. Need to add grid-template-columns: repeat(1, 200px); before the media queries.
| .stars { | ||
| display: flex; | ||
| align-items: center; | ||
|
|
||
| &__star { | ||
| background-image: url(../images/star.svg); | ||
| background-repeat: no-repeat; | ||
| background-position: center; | ||
| width: 16px; | ||
| height: 16px; | ||
| margin-right: 4px; | ||
| } |
There was a problem hiding this comment.
The grid mixin is missing a default 1-column layout. According to requirements, cards should show 1 column for smaller screens, 2 columns starting at 488px, 3 columns starting at 768px, and 4 columns starting at 1024px. Add a base grid-template-columns before the media queries (e.g., grid-template-columns: repeat(1, 200px) or grid-template-columns: 200px).
| @@ -0,0 +1,13 @@ | |||
| @mixin grid-card-scale { | |||
There was a problem hiding this comment.
Missing default 1-column grid for screens smaller than 488px. According to requirements, cards should show 1 column on smaller screens, 2 starting at 488px, 3 starting from 768px, and 4 starting from 1024px. Add grid-template-columns: repeat(1, 200px); or grid-template-columns: 200px; before the first @media query.
mateacademy-ai-mentor
left a comment
There was a problem hiding this comment.
Review Summary
Your implementation has critical blockers that must be fixed before approval:
-
data-qaattributes on wrong elements —data-qa="card"anddata-qa="card-hover"are applied to BOTH the first AND second cards. Per the requirements, these attributes must be on the first card only. Removedata-qa="card"from the second<section class="card">element anddata-qa="card-hover"from its Buy link insrc/index.html(around lines 142-143 and 166-167). -
Visual regression tests failing — 8 out of 16 BackstopJS tests failed with 12-28% differences, indicating the card layout and grid don't match the expected design. Review the CSS implementation to ensure dimensions, spacing, and grid columns match the reference screenshots.
-
Sass deprecation warning — The
gap: 46px 48px;declaration insrc/styles/index.scssappears after nested rules. Move this declaration above the nested@mediarule. -
Grid missing default 1-column layout — The grid mixin starts at 488px but needs a default 1-column layout for screens smaller than 488px.
These issues will cause automated test failures and must be resolved before the PR can be approved.
✨ Please rate this review in the Platform's notification center1. I will be grateful for your feedback! ✨
Important
Fix the issues, commit the changes, and then re-request my review using the Re-request review button2 in the Reviewers tab.
Tip
If you have any comments about this review, please leave a message in the Add a comment section below and mention me with the @mateacademy-ai-mentor tag3.
I will read your message during my next review of your pull request. Please do not reply directly to my comments, as that feature is not supported yet.
Caution
Do not close the pull request until the review is complete. Closing it early can lead to unexpected behavior and disrupt the review process.
Footnotes
| <section | ||
| data-qa="card" |
There was a problem hiding this comment.
The second card incorrectly has data-qa="card" attribute. According to the requirements, data-qa="card" should ONLY be on the FIRST card. Remove this from the second card.
| href="#" | ||
| data-qa="card-hover" |
There was a problem hiding this comment.
The second card's Buy button incorrectly has data-qa="card-hover" attribute. According to the requirements, data-qa="card-hover" should ONLY be on the FIRST card's Buy link. Remove this from the second card's button.
mateacademy-ai-mentor
left a comment
There was a problem hiding this comment.
Review Summary
I am approving your solution with an educational override to help you progress while learning.
What you did well: Your implementation successfully handles the core requirements—proper BEM naming conventions across all components, correct data-qa attribute placement (first card and Buy button only, fourth nav link with hover), responsive grid layout with breakpoints at 488px, 768px, and 1024px, and smooth 300ms hover transitions on all interactive elements.
Areas for improvement: There are 2 hardcoded color values in src/styles/index.scss—#34568b for the card title hover and #fff for the button hover background—that should be extracted to SCSS variables per [CHECKLIST ITEM #2]. Define them in variables.scss (e.g., $title-hover-color and $button-hover-bg) and reference them instead. This keeps your code maintainable and consistent.
Overall, your work demonstrates solid understanding of semantic HTML, SCSS architecture, and responsive design. Keep up the good progress!
✨ Please rate this review in the Platform's notification center1. I will be grateful for your feedback! ✨
Footnotes
| <li> | ||
| <a | ||
| href="#" | ||
| class="nav-list__nav-link" |
There was a problem hiding this comment.
Hardcoded color #34568b should be extracted to a SCSS variable. According to checklist item #2, special colors must be put to variables.
| <img | ||
| class="logo" | ||
| src="images/logo.png" | ||
| alt="Moyo-logo" |
There was a problem hiding this comment.
Hardcoded color #fff should be extracted to a SCSS variable. According to checklist item #2, special colors must be put to variables.