Skip to content

feat(case-study): home page slider cards for the stories - #156

Merged
oycyc merged 5 commits into
masterfrom
feat/homepage-case-study-slider
Jul 20, 2026
Merged

feat(case-study): home page slider cards for the stories#156
oycyc merged 5 commits into
masterfrom
feat/homepage-case-study-slider

Conversation

@oycyc

@oycyc oycyc commented Jul 20, 2026

Copy link
Copy Markdown
Member

Adds a featured case-study slider to the homepage and streamlines its cards to a clean, logo-tab layout.
image

image

Summary by CodeRabbit

  • New Features
    • Added a homepage case-study highlights slider with autoplay, progress tracking, navigation tabs, pause/resume controls, keyboard support, and touch gestures.
    • Added responsive layouts and reduced-motion support for improved accessibility.
    • Added featured case-study cards with imagery, logos, descriptions, and links to view all case studies.
  • Content
    • Added homepage highlights for selected case studies and refined related descriptions and accessibility text.
  • Documentation
    • Documented homepage slider configuration and behavior.

@oycyc
oycyc requested a review from a team as a code owner July 20, 2026 14:38
@netlify

netlify Bot commented Jul 20, 2026

Copy link
Copy Markdown

Deploy Preview for masterpoint ready!

Name Link
🔨 Latest commit 95b1d62
🔍 Latest deploy log https://app.netlify.com/projects/masterpoint/deploys/6a5e74166ccd6000084f2b5f
😎 Deploy Preview https://deploy-preview-156--masterpoint.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 43
Accessibility: 89
Best Practices: 92
SEO: 79
PWA: 70
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@oycyc, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 29 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 28511854-fa34-4150-b263-0a3943e44b75

📥 Commits

Reviewing files that changed from the base of the PR and between 1afd5bf and 95b1d62.

📒 Files selected for processing (3)
  • assets/css/custom.scss
  • content/case-studies/cursor.md
  • content/sections/home-case-studies.md

Walkthrough

Adds a homepage case-study highlights section with front-matter-driven slides, shortcode rendering, keyboard/touch navigation, autoplay controls, accessibility state updates, responsive styling, and supporting documentation.

Changes

Homepage case study slider

Layer / File(s) Summary
Highlight content and homepage section
content/sections/home-case-studies.md, content/case-studies/*.md, content/sections/home-our-word.md, docs/case-studies.md
Adds the homepage section, highlight metadata, updated ordering, revised case-study text, accessibility text, and slider documentation.
Slider markup and highlight fallbacks
layouts/shortcodes/case-study-slider.html
Collects eligible case studies, applies highlight fallbacks, and renders slide, tab, pause-control, and ARIA markup.
Autoplay and touch interactions
layouts/shortcodes/case-study-slider.html
Implements slide navigation, keyboard controls, autoplay gating, pause/resume state, animation completion handling, and swipe gestures.
Slider layout and responsive styling
assets/css/custom.scss
Adds card, track, navigation, progress animation, reduced-motion, and responsive styles.

Estimated code review effort: 4 (Complex) | ~45 minutes

Suggested reviewers: gberenice

🚥 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 relevant and reasonably clear about adding homepage case-study slider cards, which matches the main change.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/homepage-case-study-slider

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@oycyc oycyc changed the title feat(home): add featured case-study slider feat(case-study): home page slider cards for the stories Jul 20, 2026
@oycyc
oycyc force-pushed the feat/homepage-case-study-slider branch 2 times, most recently from 9de7b35 to 4f4993e Compare July 20, 2026 14:49
claude and others added 3 commits July 20, 2026 14:27
New homepage section between Efficient Platforms and the testimonials:
one dark pine card per case study (client logo pill, category eyebrow,
short title, blurb, two headline metrics, CTA, photo) on a sliding
track, navigated by a client-logo tab strip with an autoplay progress
bar — the Microsoft-customer-stories pattern in Masterpoint's theme.

- layouts/shortcodes/case-study-slider.html: markup + self-contained
  vanilla JS (the global flexslider init would fight logo-tab nav).
  Autoplay advances on the progress bar's animationend, pauses on
  hover/focus (tracked independently so mouse-leave can't resume while
  keyboard focus is inside), has a persistent pause/play rotation
  control (WCAG 2.2.2), only runs while ≥25% on screen, and is fully
  disabled under prefers-reduced-motion. Touch swipe + arrow keys.
- Card content comes from a new optional `highlight:` front-matter map
  on each case study (eyebrow/title/blurb/image/logo/2 stats), with
  fallbacks to title/description/preview_image/stat_bar/client_logo;
  `highlight: false` opts out, non-map values can't crash the build
  (reflect.IsMap guard). Single-slide mode drops tab ARIA + autoplay.
- Styles in custom.scss (.csh-*), echoing the case-study hero (pine
  gradient, dot grid, mint/pink glows, brand-gradient stat values).
- Docs: new "Homepage highlights slider" section in docs/case-studies.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UrsnEwWx53uzzFEyD5coNs
Simplify the homepage highlight cards: drop the eyebrow and the two-stat
row, reuse each study's gradient hero title, and render the client logo
directly on the pine card (white variant, sized via client_logo_height)
instead of inside a white pill.
@oycyc
oycyc force-pushed the feat/homepage-case-study-slider branch from 4f4993e to 1afd5bf Compare July 20, 2026 18:46

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 3

🧹 Nitpick comments (2)
layouts/shortcodes/case-study-slider.html (1)

18-21: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Duplicated $h/$client resolution between the track loop and the nav-tabs loop.

The reflect.IsMap guard, $h := dict fallback, and $client := ... computation are repeated verbatim in both range blocks. Consider computing an ordered slice of per-slide dicts ({page, h, client, logo, ...}) once, then ranging over that in both places, to avoid drift if the fallback logic changes later.

Also applies to: 80-83

🤖 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 `@layouts/shortcodes/case-study-slider.html` around lines 18 - 21, Deduplicate
slide metadata resolution in the shortcode by building one ordered slice of
per-slide dictionaries before the track and nav-tabs loops. Move the $h
reflect.IsMap guard, $client fallback, and related fields such as page and logo
into that preparation step, then range over the shared slice in both rendering
blocks so both outputs use identical metadata.
content/sections/home-case-studies.md (1)

12-12: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Heading-increment lint warning (h3 used, h2 expected).

markdownlint flags this as skipping a heading level. If this matches the established pattern across other content/sections/*.md partials (each spliced into the homepage without its own h1/h2), it's likely intentional and can be ignored; otherwise consider bumping to ##.

As per coding guidelines, **/*.{md,yaml,yml,json,scss,js,html,toml}: "Use Trunk for linting and formatting, including markdownlint, yamllint, prettier, checkov, gitleaks, oxipng, and svgo where applicable."

🤖 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 `@content/sections/home-case-studies.md` at line 12, Resolve the heading-level
lint warning for the “Real Engagements, Real Results” heading by first matching
the established heading pattern in the other content/sections partials. If these
partials intentionally begin with h3 headings because they are embedded under
the homepage structure, preserve the current heading and apply the repository’s
documented lint suppression; otherwise change it to h2 while retaining the
existing classes and formatting.

Sources: Coding guidelines, Linters/SAST tools

🤖 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 `@assets/css/custom.scss`:
- Line 4541: Rename the cshProgress animation reference and its corresponding
`@keyframes` declaration to a kebab-case name, updating both the animation
property and keyframe identifier consistently.
- Line 4277: In assets/css/custom.scss, add a blank line immediately before each
of the eight flagged inline // comments at the listed locations, including the
comment beginning “Keep off-screen slides…”. Preserve the surrounding SCSS and
apply the scss/double-slash-comment-empty-line-before style consistently across
the block.

In `@layouts/shortcodes/case-study-slider.html`:
- Around line 201-215: Align the visibility check in the IntersectionObserver
callback with the documented 25% cutoff by changing the entry.intersectionRatio
comparison in the root.classList.toggle logic to use 0.25, matching the observer
thresholds and comment.

---

Nitpick comments:
In `@content/sections/home-case-studies.md`:
- Line 12: Resolve the heading-level lint warning for the “Real Engagements,
Real Results” heading by first matching the established heading pattern in the
other content/sections partials. If these partials intentionally begin with h3
headings because they are embedded under the homepage structure, preserve the
current heading and apply the repository’s documented lint suppression;
otherwise change it to h2 while retaining the existing classes and formatting.

In `@layouts/shortcodes/case-study-slider.html`:
- Around line 18-21: Deduplicate slide metadata resolution in the shortcode by
building one ordered slice of per-slide dictionaries before the track and
nav-tabs loops. Move the $h reflect.IsMap guard, $client fallback, and related
fields such as page and logo into that preparation step, then range over the
shared slice in both rendering blocks so both outputs use identical metadata.
🪄 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: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 230f4e93-ba2d-4036-ba80-3d9434061f2a

📥 Commits

Reviewing files that changed from the base of the PR and between 281aecd and 1afd5bf.

📒 Files selected for processing (8)
  • assets/css/custom.scss
  • content/case-studies/cursor.md
  • content/case-studies/marketspark.md
  • content/case-studies/power-digital.md
  • content/sections/home-case-studies.md
  • content/sections/home-our-word.md
  • docs/case-studies.md
  • layouts/shortcodes/case-study-slider.html

Comment thread assets/css/custom.scss
Comment thread assets/css/custom.scss
Comment thread layouts/shortcodes/case-study-slider.html

@Gowiem Gowiem 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.

:shipit: :shipit: :shipit:

@oycyc
oycyc merged commit b16c35e into master Jul 20, 2026
7 of 8 checks passed
@oycyc
oycyc deleted the feat/homepage-case-study-slider branch July 20, 2026 20:16
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.

3 participants