fix: show static.webp fallback for mobile features carousel
Summary
Fixed an issue where the static gif/webp fallback was not showing for features without images in the mobile view of the features section.
The FeaturesDesktopGrid component already had a fallback to display /api/images/hyprnote/static.webp when a feature doesn't have an image (e.g., "Coming Soon" features like Floating Panel and Daily Note). However, FeaturesMobileCarousel was only conditionally rendering when feature.image existed, leaving an empty container for features without images.
This change adds the same fallback pattern to the mobile carousel, making it consistent with the desktop grid behavior.
Review & Testing Checklist for Human
- [ ] Verify the static.webp displays correctly on mobile viewport for "Floating Panel" and "Daily Note" features (the Coming Soon items)
- [ ] Confirm the
object-coverstyling looks appropriate on mobile screens
Notes
- Link to Devin run: https://app.devin.ai/sessions/c100534211794c7aab7689bdcdcb4d40
- Requested by: [email protected] (@ComputelessComputer)
π€ Devin AI Engineer
I'll be helping with this pull request! Here's what you should know:
β I will automatically:
- Address comments on this PR that start with 'DevinAI' or '@devin'.
- Look at CI failures and help fix them
Note: I can only respond to comments from users who have write access to this repository.
βοΈ Control Options:
- [ ] Disable automatic comment and CI monitoring
Deploy Preview for hyprnote-storybook ready!
| Name | Link |
|---|---|
| Latest commit | e1e52b5d0e1534d21f4846014f8da36627f8f2f1 |
| Latest deploy log | https://app.netlify.com/projects/hyprnote-storybook/deploys/692d5856c39aba000835368f |
| Deploy Preview | https://deploy-preview-2046--hyprnote-storybook.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify project configuration.
Deploy Preview for hyprnote ready!
| Name | Link |
|---|---|
| Latest commit | e1e52b5d0e1534d21f4846014f8da36627f8f2f1 |
| Latest deploy log | https://app.netlify.com/projects/hyprnote/deploys/692d5856ce047400072921dd |
| Deploy Preview | https://deploy-preview-2046--hyprnote.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify project configuration.
π Walkthrough
Walkthrough
The FeaturesMobileCarousel component's image rendering is updated to handle missing images via a fallback. When feature.image exists, it renders as before; otherwise, it renders a fallback img element pointing to a static image with object-fit: cover instead of the previous object-contain.
Changes
| Cohort / File(s) | Summary |
|---|---|
Image fallback rendering apps/web/src/routes/_view/index.tsx |
Updated conditional rendering to provide fallback img element when feature.image is unavailable; changed object-fit from object-contain to object-cover |
Estimated code review effort
π― 2 (Simple) | β±οΈ ~8 minutes
- Verify the fallback image path is correct and accessible
- Confirm
object-fit: coverstyling is intentional and doesn't break layout in edge cases - Check if this fallback applies to all feature carousel instances as intended
Possibly related PRs
-
#2002: Modifies
FeaturesMobileCarouselcomponent with progress/auto-advance functionality and signature updatesβshares the same component but addresses different concerns.
Pre-merge checks and finishing touches
β 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%. | You can run @coderabbitai generate docstrings to improve docstring coverage. |
β Passed checks (2 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title check | β Passed | The title clearly describes the main change: adding a static.webp fallback display to the mobile features carousel, which is the primary modification in the changeset. |
| Description check | β Passed | The description is well-related to the changeset, explaining the issue fixed, the implementation approach, and providing testing checklist and context. |
β¨ Finishing touches
- [ ] π Generate docstrings
π§ͺ Generate unit tests (beta)
- [ ] Create PR with unit tests
- [ ] Post copyable unit tests in a comment
- [ ] Commit unit tests in branch
devin/1764579179-fix-mobile-static-gif
Comment @coderabbitai help to get the list of available commands and usage tips.