add task solution#6867
Conversation
mateacademy-ai-mentor
left a comment
There was a problem hiding this comment.
Review Summary
Changes are needed before this can be considered complete, because several core requirements and checklist items are violated.
Critical issues that must be fixed:
- Active (yellow) stars are controlled via an extra class
stars__star--activein bothindex.html(e.g. lines 28, 36, 37…) and_stars.scss, which breaks the rule that yellow stars must be driven only by the container modifier (stars--N) plus pseudo-selectors and that no extra classes are added to the elements [CHECKLIST ITEM #1]. You should removestars__star--activefrom the HTML and CSS and instead use selectors like.stars--3 .stars__star:nth-child(-n+3)to make the first N stars yellow based on the parent modifier. - In
index.htmlthe<link>tag points to./styles/style.scss, but browsers cannot load SCSS directly; this prevents styles from being applied. Update this to reference the compiled CSS output (for examplestyle.cssin the correct folder) so the page renders correctly.
Minor but recommended improvements:
- The body margin reset is only applied via
.page__body; since you are allowed to stylebody, also addingbody { margin: 0; }will more robustly satisfy the “reset default margin” requirement. - The page uses only
divfor structure; wrapping the ratings in a semantic container such as<main>or<section>will better align with the “use semantic tags where possible” guideline.
Once you rework the active-star logic to use container modifiers with pseudo-selectors and fix the stylesheet link, the solution will be in much better shape and should meet the task expectations.
✨ 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
| <link | ||
| rel="stylesheet" | ||
| href="./style.css" | ||
| href="./styles/style.scss" |
There was a problem hiding this comment.
href points to style.scss, but browsers cannot load SCSS directly; update this to reference the compiled CSS file (e.g. style.css) so styles are applied correctly.
| </div> | ||
|
|
||
| <div class="stars stars--1"> | ||
| <div class="stars__star stars__star--active"></div> |
There was a problem hiding this comment.
Active stars are marked with an extra class stars__star--active, which violates the checklist item: "Yellow stars are added with container modifier + pseudo-selector (NO extra classes)"; remove this class and rely on the stars--1 modifier with appropriate CSS selectors instead.
| </div> | ||
|
|
||
| <div class="stars stars--2"> | ||
| <div class="stars__star stars__star--active"></div> |
There was a problem hiding this comment.
Same issue as line 28: using stars__star--active on this element conflicts with the requirement to use only the container modifier plus pseudo-selectors to set active stars.
|
|
||
| <div class="stars stars--2"> | ||
| <div class="stars__star stars__star--active"></div> | ||
| <div class="stars__star stars__star--active"></div> |
There was a problem hiding this comment.
Same issue as other active stars: this stars__star--active class should be removed and its visual state derived from the parent stars--N modifier instead.
| </div> | ||
|
|
||
| <div class="stars stars--3"> | ||
| <div class="stars__star stars__star--active"></div> |
There was a problem hiding this comment.
Here again, the third star is made active via stars__star--active, but per requirements, the stars--3 modifier should control which stars are yellow using selectors, without extra element-level classes.
| </div> | ||
|
|
||
| <div class="stars stars--4"> | ||
| <div class="stars__star stars__star--active"></div> |
There was a problem hiding this comment.
This active star also relies on stars__star--active; you should instead use the stars--4 modifier and nth-child/pseudo-selector logic to control its appearance.
| </div> | ||
|
|
||
| <div class="stars stars--5"> | ||
| <div class="stars__star stars__star--active"></div> |
There was a problem hiding this comment.
The fifth stars block uses stars__star--active on every star; replace this approach with CSS driven purely by the stars--5 modifier.
| <link | ||
| rel="stylesheet" | ||
| href="./style.css" | ||
| href="./styles/style.scss" |
There was a problem hiding this comment.
.stars__star--active is a separate modifier class on the element, which contradicts checklist item: "Yellow stars are added with container modifier + pseudo-selector (NO extra classes)"; remove this class and implement active-state styling via .stars--N selectors targeting .stars__star.
| background-repeat: no-repeat; | ||
| } | ||
|
|
||
| .stars__star--active { |
There was a problem hiding this comment.
Defining .stars__star--active contradicts checklist item #1: "Yellow stars are added with container modifier + pseudo-selector (NO extra classes)". Instead, adjust .stars modifier styles (e.g. .stars--3 .stars__star:nth-child(-n+3)) to change the background for active stars and remove this extra modifier class.
| /* add styles here */ | ||
| @use 'blocks/page'; |
There was a problem hiding this comment.
Using .page__body to reset margin works only if this class is always on <body>. Since the requirement is to reset browser default margin and you’re allowed to style body, consider also setting body { margin: 0; } to fully align with the requirement and avoid relying on a class.
mateacademy-ai-mentor
left a comment
There was a problem hiding this comment.
Review Summary
I am requesting changes because there is still a critical functional issue that blocks correct rendering in the browser. In src/index.html, the <link> tag currently points to ./styles/style.scss, but browsers cannot load SCSS directly; they only understand compiled CSS, so your page will appear unstyled. This violates the requirement that the HTML must link to the compiled stylesheet so that all stars styling and the body { margin: 0; } reset are applied at runtime.
Critical issue to fix (blocker):
- Update the stylesheet link in
src/index.html(around the<head>section) fromhref="./styles/style.scss"to the path of your compiled CSS file, for example:Make sure your build actually outputs<link rel="stylesheet" href="./styles/style.css">
style.css(or adjust the name/path accordingly).
Everything else looks well done: you correctly implemented 6 stars blocks with the right modifiers, used container modifiers plus :nth-child selectors for active stars, separated BEM blocks into their own SCSS files, used flex without gap, and reset the body margin. As a minor, non-blocking improvement, you could wrap your ratings in a semantic container like <main> or <section> to better follow semantic HTML guidelines, but this is not required for acceptance. Once you fix the stylesheet link to target the compiled CSS, your solution should meet the task requirements.
✨ 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
| <link | ||
| rel="stylesheet" | ||
| href="./style.css" | ||
| href="./styles/style.scss" |
There was a problem hiding this comment.
The stylesheet link still points to the SCSS source (href="./styles/style.scss"), but browsers can only load compiled CSS; this violates the requirement that the <link> must reference the compiled CSS output so styles actually apply.
|
|
||
| background-image: url(../images/star.svg); | ||
| background-position: center; | ||
| background-repeat: no-repeat; |
There was a problem hiding this comment.
This <link> tag still points to style.scss, but browsers can’t load SCSS directly. You need to update href to the compiled CSS file (e.g. ./styles/style.css) so styles are actually applied. This is required by the task and repeats the previous correction about not linking to SCSS.
mateacademy-ai-mentor
left a comment
There was a problem hiding this comment.
Review Summary
I am approving your solution as an educational override to help you continue progressing while you learn. You did a very solid job meeting the key requirements: six .stars blocks with five .stars__star elements each, correct use of modifiers stars--0 through stars--5, flex layout without gap, and using background-image instead of <img> or <svg> tags. Your BEM structure is clean, with separate CSS files for page and stars, and the body { margin: 0; } reset is correctly placed and linked.
One improvement to keep in mind is the way you activate yellow stars: you correctly used .stars--N .stars__star:nth-child(-n + N) to control active stars, but the checklist phrase "pseudo-selector" may be hinting toward using a pseudo-element pattern (e.g., ::before) for the visual part [CHECKLIST ITEM #1]; if you revisit this, try to move the decorative part to a pseudo-element while keeping the same logic. Also, double-check your star size and spacing against the Figma design to ensure pixel-perfect alignment. Overall, your structure and attention to constraints are strong, and these refinements will help you get even closer to production-quality code. Keep going—this is a great foundation and you’re clearly understanding the requirements well.
✨ Please rate this review in the Platform's notification center1. I will be grateful for your feedback! ✨
DEMO LINK
TEST REPORT LINK
Yellow stars are added with container modifier + pseudo-selector (NO extra classes)
Each BEM block has its own separate file
All
Typical MistakesfromBEMlesson theory are checked.Code follows all the Code Style Rules ❗️