Skip to content

feat: add screenshots to the landing page#588

Draft
Aeledfyr wants to merge 2 commits intoNerimity:mainfrom
Aeledfyr:landing-screenshots
Draft

feat: add screenshots to the landing page#588
Aeledfyr wants to merge 2 commits intoNerimity:mainfrom
Aeledfyr:landing-screenshots

Conversation

@Aeledfyr
Copy link
Contributor

@Aeledfyr Aeledfyr commented Mar 1, 2026

This adds some screenshots to the landing page, to give people a better idea of what Nerimity actually looks like, and hopefully to convince them to try it.

The images are available in multiple sizes and selected with srcset. There are jpegxl images and webp images for each size, and then a fallback jpeg at the median size for each. (The .jxl images have slightly higher quality than the .webp images, at least for color preservation, and are used when supported.)

This ends up adding about 500 KiB to the page load for desktop and about 400 KiB for mobile. The current page is about 360 KiB, so it roughly doubles the page size, but the images are set to lazy load, so it shouldn't slow down the page much. There are matching colored backgrounds behind each image, so the slow image loading should be relatively unobtrusive.

There are a few current concerns with this:

  • The images should ideally not end up in this repo's history, so the repo stays small.
  • I don't know how to write good alt-texts for the images. (If someone wants to write some, please do!)
  • How should alt-text translation be handled?

Screenshots

Desktop above-the-fold view:
image

Desktop scrolled view:
image

Mobile above-the-fold view:
Screenshot_20260228-162640

Mobile scrolled view:
Screenshot_20260228-162419

Did you test your code?

Tested on Firefox & Chrome on desktop and Chrome on Android; tested with varying network speeds in both Firefox and Chrome devtools, and with Lighthouse in Chrome devtools.

Checklist

  • Changes are clear, concise, and easy to review
  • Code has been tested and works as intended
  • Text/content changes support internationalization (i18n)
  • Any new user-facing strings are properly localized

Summary by CodeRabbit

  • New Features

    • Introduced a responsive screenshot gallery on the home page showcasing multiple views
  • Styling

    • Enhanced home page layout with improved element centering and adjusted spacing
    • Improved mobile responsiveness with optimized presentation for smaller screens
    • Refined container margins and visual alignment for a more polished appearance

@Aeledfyr Aeledfyr force-pushed the landing-screenshots branch from 0f7f960 to 9939468 Compare March 1, 2026 00:44
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 1, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a responsive screenshot gallery layout to HomePage with CSS styling for a three-panel image display and mobile responsiveness, along with a new internal ScreenshotView component to render the images.

Changes

Cohort / File(s) Summary
Screenshot Gallery Styling
src/pages/HomePage.module.css
Added new .screenshotContainer with three positioned image panels (.screenshotLeft, .screenshotCenter, .screenshotRight) and mobile-responsive adjustments via @media query (max-width: 500px). Adjusted existing classes: .content now centers children, .topContainer margin-top reduced from 100px to 60px, and .featureListContainer top margin removed.
Screenshot View Component
src/pages/HomePage.tsx
Introduced new internal ScreenshotView component rendering a three-panel layout with responsive images using picture/source/img elements and lazy loading, integrated after PlatformDownloadLinks in HomePage.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 In burrows of style, new galleries bloom,
Three screenshots dance in the HomePage room,
On mobile they pivot with grace and with care,
Responsive delights now laid bare! 🖼️✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: add screenshots to the landing page' accurately and concisely summarizes the main change—adding screenshot images to the homepage.
Description check ✅ Passed The PR description covers all required template sections: purpose, screenshots, testing details, and a completed checklist addressing code quality and testing requirements.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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 and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
src/pages/HomePage.module.css (2)

160-167: Redundant bottom: unset declaration.

Line 162 sets bottom: unset but Line 163 immediately overwrites it with bottom: 8%. The unset line appears to be a copy-paste artifact from .screenshotCenter and can be removed.

🧹 Proposed fix
  .screenshotLeft {
    position: absolute;
-   bottom: unset;
    bottom: 8%;
    left: 7%;
    width: 85%;
    z-index: 2;
  }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/pages/HomePage.module.css` around lines 160 - 167, Remove the redundant
bottom: unset declaration inside the .screenshotLeft CSS rule (it is immediately
overwritten by bottom: 8%); update the .screenshotLeft block by deleting the
bottom: unset line so only bottom: 8% remains, leaving other properties
(position, left, width, z-index) unchanged.

53-53: Stylelint formatting issues.

Static analysis flags empty line inconsistencies:

  • Line 53: Unexpected empty line before margin-top declaration
  • Line 102: Missing empty line before display declaration

These can be auto-fixed with stylelint --fix if enforced in CI.

Also applies to: 102-102

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/pages/HomePage.module.css` at line 53, Fix the Stylelint formatting
issues by removing the unexpected empty line before the margin-top declaration
and adding the missing empty line before the display declaration (i.e., adjust
the spacing around the `margin-top` and `display` declarations to match the
project's CSS style rules), or simply run `stylelint --fix` to auto-correct the
file; ensure the `margin-top` and `display` declarations now follow the same
empty-line conventions as other rules.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/pages/HomePage.tsx`:
- Around line 283-289: The three <img> elements in the ScreenshotView component
lack alt attributes; add accessible, translatable alt text by using the
translation context: call useTransContext() at the top of ScreenshotView (e.g.,
const [t] = useTransContext();) and pass descriptive keys to t for each
screenshot (e.g., t('screenshot.centerAlt'), t('screenshot.leftAlt'),
t('screenshot.rightAlt')) and wire those returned strings into the alt attribute
of each <img> element; ensure the same pattern is applied to the other two image
groups referenced in the comment.

---

Nitpick comments:
In `@src/pages/HomePage.module.css`:
- Around line 160-167: Remove the redundant bottom: unset declaration inside the
.screenshotLeft CSS rule (it is immediately overwritten by bottom: 8%); update
the .screenshotLeft block by deleting the bottom: unset line so only bottom: 8%
remains, leaving other properties (position, left, width, z-index) unchanged.
- Line 53: Fix the Stylelint formatting issues by removing the unexpected empty
line before the margin-top declaration and adding the missing empty line before
the display declaration (i.e., adjust the spacing around the `margin-top` and
`display` declarations to match the project's CSS style rules), or simply run
`stylelint --fix` to auto-correct the file; ensure the `margin-top` and
`display` declarations now follow the same empty-line conventions as other
rules.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6e03078 and 9939468.

⛔ Files ignored due to path filters (8)
  • public/assets/screenshot-center.png is excluded by !**/*.png
  • public/assets/screenshot-left.png is excluded by !**/*.png
  • public/assets/screenshot-right.png is excluded by !**/*.png
  • public/assets/screenshots/center-2400w-base.png is excluded by !**/*.png
  • public/assets/screenshots/left-1720w-base.png is excluded by !**/*.png
  • public/assets/screenshots/left-860w-fallback.jpg is excluded by !**/*.jpg
  • public/assets/screenshots/right-1170w-base.png is excluded by !**/*.png
  • public/assets/screenshots/right-585w-fallback.jpg is excluded by !**/*.jpg
📒 Files selected for processing (20)
  • public/assets/screenshots/center-1200w.jxl
  • public/assets/screenshots/center-1200w.webp
  • public/assets/screenshots/center-2400w.jxl
  • public/assets/screenshots/center-2400w.webp
  • public/assets/screenshots/center-600w.jxl
  • public/assets/screenshots/center-600w.webp
  • public/assets/screenshots/left-1720w.jxl
  • public/assets/screenshots/left-1720w.webp
  • public/assets/screenshots/left-430w.jxl
  • public/assets/screenshots/left-430w.webp
  • public/assets/screenshots/left-860w.jxl
  • public/assets/screenshots/left-860w.webp
  • public/assets/screenshots/right-1170w.jxl
  • public/assets/screenshots/right-1170w.webp
  • public/assets/screenshots/right-293w.jxl
  • public/assets/screenshots/right-293w.webp
  • public/assets/screenshots/right-585w.jxl
  • public/assets/screenshots/right-585w.webp
  • src/pages/HomePage.module.css
  • src/pages/HomePage.tsx

@Aeledfyr Aeledfyr marked this pull request as draft March 1, 2026 00:49
@Aeledfyr Aeledfyr force-pushed the landing-screenshots branch from 9939468 to 06a6769 Compare March 1, 2026 00:55
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.

1 participant