Skip to content

[Meshery] Fix landing page blank overlay on scroll and carousel layout(#7889) - #7898

Open
superezzdev wants to merge 4 commits into
layer5io:masterfrom
superezzdev:fix/blank-overlay-meshery-7889
Open

[Meshery] Fix landing page blank overlay on scroll and carousel layout(#7889)#7898
superezzdev wants to merge 4 commits into
layer5io:masterfrom
superezzdev:fix/blank-overlay-meshery-7889

Conversation

@superezzdev

@superezzdev superezzdev commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Description

This PR fixes #7889

  • Removed conflicting transform: skew() and contain: layout style paint properties from FeaturesSectionWrapper that caused a large blank black overlay to cover content during page scroll.

Before
Screenshot 2026-07-28 at 3 01 24 PM
After
Screenshot 2026-07-28 at 3 01 54 PM

Notes for Reviewers

  • Tested locally using gatsby develop across Chrome, Safari, and Brave in both light and dark themes.
  • Verified smooth scrolling and full visibility of content throughout the entire Meshery landing page path (/cloud-native-management/meshery).

Signed commits

  • Yes, I signed my commits.

Summary by CodeRabbit

  • Style
    • Updated the Meshery Features section to use a cleaner non-skewed rectangular layout, refreshing decorative accents and section spacing.
    • Refined typography and header spacing while maintaining the existing black/white visual theme.
    • Overhauled carousel visuals: improved thumbnail/image sizing, kept navigation arrows hidden, and repositioned carousel dots to a clearer vertical layout with responsive dot behavior.
    • Improved responsive alignment for the management button group, centering it at the tablet breakpoint.

Copilot AI review requested due to automatic review settings July 28, 2026 09:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Fixes the Meshery landing page scroll artifact (blank/black overlay) by removing problematic CSS containment/skew styles and updating the Features section/carousel layout styles.

Changes:

  • Removed transform: skew() and contain: layout style paint from FeaturesSectionWrapper to prevent overlay artifacts while scrolling.
  • Updated spacing and “skew” layout elements (rectangles/top offset) to better align the section without transforms.
  • Reworked carousel sizing and dot navigation positioning, including a new responsive dot layout at <992px.

Comment thread src/sections/Meshery/Features-section/features-section.style.js
Comment thread src/sections/Meshery/Features-section/features-section.style.js Outdated
Comment thread src/sections/Meshery/Features-section/features-section.style.js Outdated
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The Meshery features section CSS changes the layout from skewed to rectangular, retunes decorative elements and typography, revises carousel sizing and dot placement across breakpoints, and adjusts management button alignment and sizing.

Changes

Meshery features section

Layer / File(s) Summary
Section layout and content styling
src/sections/Meshery/Features-section/features-section.style.js
The section wrapper and content area no longer use skew transforms; decorative blocks, spacing, and header typography are retuned.
Carousel presentation and responsive behavior
src/sections/Meshery/Features-section/features-section.style.js
Carousel images use revised sizing rules, arrows remain hidden, dots use a vertical right-side layout, and responsive breakpoints adjust carousel and dot positioning.
Management section controls
src/sections/Meshery/Features-section/features-section.style.js
Management container sizing and button-group alignment and minimum widths are updated, including a centered layout at the 992px breakpoint.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

  • layer5io/layer5#7899: Modifies the same stylesheet with matching layout, skew, carousel sizing, and Slick dots changes.

Suggested labels: project/meshery, area/core-styles

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and accurately reflects the landing-page overlay fix and carousel layout work.
Linked Issues check ✅ Passed The stylesheet changes remove the skew/contain behavior causing the blank overlay on the Meshery landing page.
Out of Scope Changes check ✅ Passed The carousel styling updates are part of the stated objective and no unrelated changes are evident.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Fix failing CI checks
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

src/sections/Meshery/Features-section/features-section.style.js

Parsing error: [BABEL] /src/sections/Meshery/Features-section/features-section.style.js: babel-preset-gatsby has been loaded, which consumes config generated by the Gatsby CLI. Set NODE_ENV=test to bypass, or run gatsby build first. (While processing: "/node_modules/babel-preset-gatsby/index.js")


Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/sections/Meshery/Features-section/features-section.style.js`:
- Around line 139-168: Update the .slick-dots controls in the features-section
styles to provide a clear :focus-visible indicator for the keyboard-focusable
dot buttons, such as an accessible outline around the focused thumbnail. Keep
the existing opacity and active-state styling unchanged, and target the actual
button focus element rather than only the surrounding li.
- Around line 200-213: Update the responsive `.smp-section-carousel .slick-dots`
styling so dots remain within the viewport from 993px through approximately
1264px; either raise the existing `@media` breakpoint beyond that range or
replace the desktop negative `right` offset with an in-container position and
sufficient padding. Preserve the centered mobile layout and avoid horizontal
overflow.
- Around line 129-136: Update the .slick-slide img styling in
features-section.style.js to reserve the raw carousel image’s layout space
before it loads by adding an explicit aspect-ratio or width consistent with the
StaticImage slides. Preserve the existing max-height, auto width, centering, and
border-radius behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a83e871b-aa90-46b8-b990-e75c529d9684

📥 Commits

Reviewing files that changed from the base of the PR and between c443dee and 032fcc1.

📒 Files selected for processing (1)
  • src/sections/Meshery/Features-section/features-section.style.js

Comment thread src/sections/Meshery/Features-section/features-section.style.js
Comment thread src/sections/Meshery/Features-section/features-section.style.js
Comment thread src/sections/Meshery/Features-section/features-section.style.js Outdated
@superezzdev

Copy link
Copy Markdown
Contributor Author

Hi @Maanvi212006,
whenever you have a moment, could you please review this PR? I’ve addressed the changes and verified everything locally. Thanks!

@Maanvi212006

Copy link
Copy Markdown
Contributor

@superezzdev Keep in mind that in order to improve your code pull request, you must address all bot comments by accepting them with new changes or rejecting them. In both the cases, justify your choice by commenting below that review. Repeat this cycle until zero unresolved comments remain so your code is ready for human review.

@superezzdev

Copy link
Copy Markdown
Contributor Author

Hi @Maanvi212006,
I have addressed all CodeRabbit and Copilot suggestions, updated the style definitions, and resolved all conversation threads. The PR is ready for human review!

@rishiraj38 rishiraj38 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please revert the lint changes. They're making it difficult to review the actual changes in this PR.

@superezzdev

Copy link
Copy Markdown
Contributor Author

Hi @rishiraj38 ,
I have reverted the formatting and auto-lint changes so the diff only includes the necessary CSS fixes.
Thank you for pointing that out!

@superezzdev

Copy link
Copy Markdown
Contributor Author

Hi @Maanvi212006 @rishiraj38
i did as per instructed .
Please inform me if any changes needed

@superezzdev superezzdev left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I have reverted the linting and indentation changes so the diff only contains the minimal CSS bug fixes. Thank you for catching that!"

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/sections/Meshery/Features-section/features-section.style.js`:
- Around line 182-297: Remove the mobile-specific left offsets from the
.slick-dots rules in the max-width: 700px and max-width: 500px media queries.
Preserve the centering behavior established by the max-width: 1200px rule, while
retaining the existing width, image sizing, and top adjustment.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 14c334c4-f715-405c-a255-d866f9fa1d7b

📥 Commits

Reviewing files that changed from the base of the PR and between 032fcc1 and f0c1cc0.

📒 Files selected for processing (1)
  • src/sections/Meshery/Features-section/features-section.style.js

Comment thread src/sections/Meshery/Features-section/features-section.style.js Outdated
Signed-off-by: GitHub <noreply@github.com>

@superezzdev superezzdev left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

"Accepted. Removed stale left: 90% and left: 85% offsets from the 700px and 500px media queries so .slick-dots remains properly centered without mobile clipping."

@AnkitRewar11

Copy link
Copy Markdown
Contributor

@superezzdev hi! thanks for solving the black overlay problem! 👏 One small suggestion: the .slick-dots layout has been fixed to adopt flex at 1200px, but the media queries at 700px and 500px still have width and top settings which will not work properly due to the new flex layout. Is it possible to get rid of these settings to center the dots on all mobile devices?

@AnkitRewar11

Copy link
Copy Markdown
Contributor

Another minor point for consideration is that the same selector chain is used again and again in several media queries. This is fine but nesting can be simplified in order to decrease the amount of code.

…ot controls

Signed-off-by: GitHub <noreply@github.com>

@superezzdev superezzdev left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Hi @AnkitRewar11 ,
Thanks for the great feedback! I have removed the extra width and top properties from the mobile media queries so .slick-dots stays perfectly centered on all mobile viewports. I also refactored the media queries by nesting them directly within their respective styled components selectors to keep the code clean and reduce duplication. Appreciate your review!

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/sections/Meshery/Features-section/features-section.style.js (1)

194-220: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Remove the fixed left: 40rem offset from .slick-dots.
At max-width: 1600px, that absolute offset pushes the 6rem dot column past the 8-column carousel as the section narrows, and .smp-section { overflow: hidden; } clips part of the navigation on mid-size desktops. Anchor it to the slider edge instead.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/sections/Meshery/Features-section/features-section.style.js` around lines
194 - 220, Update the `.slick-dots` responsive rule at `max-width: 1600px` to
remove the fixed `left: 40rem` offset and anchor the dot column to the slider
edge using the existing right-side positioning. Preserve the `width: 6rem`
setting and the separate mobile layout under `max-width: 1200px`.
🧹 Nitpick comments (1)
src/sections/Meshery/Features-section/features-section.style.js (1)

111-233: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Consider consolidating the repeated max-width: 1200px (and other) media queries.

The same breakpoints (1200px at lines 13, 111, 128, 151, 177, 209, 229; 992px at 283, 292) are re-declared across many nested selectors. This matches a reviewer suggestion noted in the PR discussion to simplify repeated selector chains across media queries. Consider a shared mixin/breakpoint constant (or styled-components theme breakpoints) to reduce duplication and ease future maintenance.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/sections/Meshery/Features-section/features-section.style.js` around lines
111 - 233, Consolidate the repeated responsive breakpoints used throughout the
features-section styles, especially the 1200px and 992px media queries, by
introducing and reusing the project’s established breakpoint mixin or shared
breakpoint constants. Update the affected nested selectors, including
.smp-section-data, .slick-list, carousel images, and .slick-dots, without
changing their existing responsive behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@src/sections/Meshery/Features-section/features-section.style.js`:
- Around line 194-220: Update the `.slick-dots` responsive rule at `max-width:
1600px` to remove the fixed `left: 40rem` offset and anchor the dot column to
the slider edge using the existing right-side positioning. Preserve the `width:
6rem` setting and the separate mobile layout under `max-width: 1200px`.

---

Nitpick comments:
In `@src/sections/Meshery/Features-section/features-section.style.js`:
- Around line 111-233: Consolidate the repeated responsive breakpoints used
throughout the features-section styles, especially the 1200px and 992px media
queries, by introducing and reusing the project’s established breakpoint mixin
or shared breakpoint constants. Update the affected nested selectors, including
.smp-section-data, .slick-list, carousel images, and .slick-dots, without
changing their existing responsive behavior.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 084bf3f4-598f-4151-b051-747639d96fd2

📥 Commits

Reviewing files that changed from the base of the PR and between 3c2a2a0 and 70465a8.

📒 Files selected for processing (1)
  • src/sections/Meshery/Features-section/features-section.style.js

@AnkitRewar11

Copy link
Copy Markdown
Contributor

Thank you for taking care of the feedback, @superezzdev! Your changes seem great, and the design is definitely more polished now on mobile. LGTM from my side.

Can you please provide updated screenshots for both desktop and mobile views?

@superezzdev

Copy link
Copy Markdown
Contributor Author

Hi @AnkitRewar11 ,
As per your request i have attached the Screenshots

Desktop
Screenshot 2026-07-30 at 7 25 12 PM
Mobile
Screenshot 2026-07-30 at 7 27 41 PM

@AnkitRewar11

Copy link
Copy Markdown
Contributor

Nice work! You did a great job. Thanks for working on this.

@Maanvi212006 Maanvi212006 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nice fix @superezzdev But found a regression: on viewport widths in roughly the 700px–1200px range (tested at iPad Air, 820×1180), the Kanvas video/demo image don't render. Works fine at mobile (~430px) and desktop widths. Once confirm from you end too

image image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: Large blank overlay appears while scrolling on the Meshery landing page

5 participants