Skip to content

Comments

fix: mobile changelog UI improvements#2070

Merged
ComputelessComputer merged 2 commits intomainfrom
devin/1764678475-mobile-changelog-ui-fixes
Dec 2, 2025
Merged

fix: mobile changelog UI improvements#2070
ComputelessComputer merged 2 commits intomainfrom
devin/1764678475-mobile-changelog-ui-fixes

Conversation

@ComputelessComputer
Copy link
Collaborator

@ComputelessComputer ComputelessComputer commented Dec 2, 2025

Summary

Mobile view improvements for the changelog page based on user feedback:

  1. View Diff button - Now icon-only on mobile (GitHub icon without "View Diff" text)
  2. Menu bar title - Removed "Version X.X.X" title from MockWindow header on mobile
  3. Traffic lights gap - Reduced spacing between traffic lights and hamburger menu icon (ml-2 → ml-1)

Review & Testing Checklist for Human

  • Test on mobile device/emulator to verify the View Diff button is still easily tappable at 32x32px
  • Verify the reduced gap between traffic lights and hamburger menu looks appropriate
  • Confirm title still appears correctly on desktop view

Notes

@devin-ai-integration
Copy link
Contributor

🤖 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

@netlify
Copy link

netlify bot commented Dec 2, 2025

Deploy Preview for hyprnote-storybook ready!

Name Link
🔨 Latest commit dc15c11
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote-storybook/deploys/692f0420e902020008d44b64
😎 Deploy Preview https://deploy-preview-2070--hyprnote-storybook.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

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

@netlify
Copy link

netlify bot commented Dec 2, 2025

Deploy Preview for hyprnote ready!

Name Link
🔨 Latest commit dc15c11
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote/deploys/692f0420f6d6480008954432
😎 Deploy Preview https://deploy-preview-2070--hyprnote.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 2, 2025

📝 Walkthrough

Walkthrough

Adds mobile-responsive presentation to the changelog view (conditional title, diff button/text, sidebar animation, and badge/icon adjustments) and tightens prefix icon spacing in the MockWindow component; also removes an unused icon import.

Changes

Cohort / File(s) Summary
Mock window spacing
apps/web/src/components/mock-window.tsx
Reduces left margin of the prefixIcons container from ml-2 to ml-1.
Mobile-responsive changelog UI & assets
apps/web/src/routes/_view/changelog/$slug.tsx
Adds isMobile-aware rendering (omits MockWindow title on mobile, hides diff button text and adapts button classes), changes MobileSidebarDrawer transition to a tween (duration 0.2s), updates status badges (latest → amber gradient + rocket icon; prerelease → moon icon), and removes an unused Star icon import.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Review apps/web/src/routes/_view/changelog/$slug.tsx for correct isMobile usage, conditional classNames, and visual regressions across breakpoints.
  • Verify MobileSidebarDrawer transition change (spring → tween, duration 0.2s) behaves as intended.
  • Confirm badge icon/gradient updates render correctly and the removed Star import is not used elsewhere.
  • Check apps/web/src/components/mock-window.tsx spacing change for layout impact in affected screens.

Possibly related PRs

Suggested reviewers

  • yujonglee

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 'fix: mobile changelog UI improvements' directly aligns with the main changes—mobile-specific UI enhancements to the changelog page including button styling, header title removal, and spacing adjustments.
Description check ✅ Passed The description is directly related to the changeset, detailing specific mobile UI improvements (View Diff button, MockWindow title, traffic lights gap) that match the code changes in both files.
✨ 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/1764678475-mobile-changelog-ui-fixes

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between adaf673 and dc15c11.

📒 Files selected for processing (2)
  • apps/web/src/components/mock-window.tsx (1 hunks)
  • apps/web/src/routes/_view/changelog/$slug.tsx (6 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • apps/web/src/components/mock-window.tsx
  • apps/web/src/routes/_view/changelog/$slug.tsx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Redirect rules - hyprnote
  • GitHub Check: Header rules - hyprnote
  • GitHub Check: Pages changed - hyprnote
  • GitHub Check: fmt
  • GitHub Check: ci

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: 0

🧹 Nitpick comments (1)
apps/web/src/routes/_view/changelog/$slug.tsx (1)

567-575: Refactor className to use cn for better maintainability.

The ternary operator duplicates many classes. As per coding guidelines, use cn with an array to group shared and conditional classes.

Apply this diff:

             <a
               href={diffUrl}
               target="_blank"
               rel="noopener noreferrer"
-              className={
-                isMobile
-                  ? "size-8 flex items-center justify-center text-sm bg-linear-to-t from-neutral-200 to-neutral-100 text-neutral-900 rounded-full shadow-sm hover:shadow-md hover:scale-[102%] active:scale-[98%] transition-all"
-                  : "px-4 h-8 flex items-center gap-2 text-sm bg-linear-to-t from-neutral-200 to-neutral-100 text-neutral-900 rounded-full shadow-sm hover:shadow-md hover:scale-[102%] active:scale-[98%] transition-all"
-              }
+              className={cn([
+                "flex items-center text-sm bg-linear-to-t from-neutral-200 to-neutral-100 text-neutral-900 rounded-full shadow-sm hover:shadow-md hover:scale-[102%] active:scale-[98%] transition-all",
+                isMobile ? "size-8 justify-center" : "px-4 h-8 gap-2",
+              ])}
               title="View diff on GitHub"
             >
               <Icon icon="mdi:github" className="text-lg" />
               {!isMobile && <span>View Diff</span>}
             </a>

Based on coding guidelines requiring cn for conditional className logic.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 573e473 and adaf673.

📒 Files selected for processing (2)
  • apps/web/src/components/mock-window.tsx (1 hunks)
  • apps/web/src/routes/_view/changelog/$slug.tsx (3 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{ts,tsx}: Avoid creating a bunch of types/interfaces if they are not shared. Especially for function props, just inline them instead.
Never do manual state management for form/mutation. Use useForm (from tanstack-form) and useQuery/useMutation (from tanstack-query) instead for 99% of cases. Avoid patterns like setError.
If there are many classNames with conditional logic, use cn (import from @hypr/utils). It is similar to clsx. Always pass an array and split by logical grouping.
Use motion/react instead of framer-motion.

Files:

  • apps/web/src/components/mock-window.tsx
  • apps/web/src/routes/_view/changelog/$slug.tsx
🧠 Learnings (3)
📓 Common learnings
Learnt from: CR
Repo: fastrepl/hyprnote PR: 0
File: apps/web/content/changelog/AGENTS.md:0-0
Timestamp: 2025-11-24T16:32:30.770Z
Learning: Applies to apps/web/content/changelog/** : Only include desktop-related changes in the changelog when reading through commits and diffs
Learnt from: CR
Repo: fastrepl/hyprnote PR: 0
File: apps/web/content/changelog/AGENTS.md:0-0
Timestamp: 2025-11-24T16:32:29.314Z
Learning: Applies to apps/web/content/changelog/** : Only keep desktop-related changes when maintaining changelog entries from commits and diffs
📚 Learning: 2025-11-24T16:32:30.770Z
Learnt from: CR
Repo: fastrepl/hyprnote PR: 0
File: apps/web/content/changelog/AGENTS.md:0-0
Timestamp: 2025-11-24T16:32:30.770Z
Learning: Applies to apps/web/content/changelog/** : Only include desktop-related changes in the changelog when reading through commits and diffs

Applied to files:

  • apps/web/src/routes/_view/changelog/$slug.tsx
📚 Learning: 2025-11-24T16:32:29.314Z
Learnt from: CR
Repo: fastrepl/hyprnote PR: 0
File: apps/web/content/changelog/AGENTS.md:0-0
Timestamp: 2025-11-24T16:32:29.314Z
Learning: Applies to apps/web/content/changelog/** : Only keep desktop-related changes when maintaining changelog entries from commits and diffs

Applied to files:

  • apps/web/src/routes/_view/changelog/$slug.tsx
🧬 Code graph analysis (1)
apps/web/src/routes/_view/changelog/$slug.tsx (1)
packages/ui/src/hooks/use-mobile.tsx (1)
  • useIsMobile (5-19)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Redirect rules - hyprnote
  • GitHub Check: Header rules - hyprnote
  • GitHub Check: Pages changed - hyprnote
  • GitHub Check: Devin
  • GitHub Check: fmt
  • GitHub Check: ci
🔇 Additional comments (2)
apps/web/src/components/mock-window.tsx (1)

37-37: LGTM: Tighter spacing for mobile UI.

The reduced left margin aligns with the mobile UI improvements in this PR.

apps/web/src/routes/_view/changelog/$slug.tsx (1)

251-251: LGTM: Mobile-responsive logic is correctly implemented.

The use of useIsMobile to conditionally hide the window title on mobile and adapt the diff button is appropriate for the mobile UI improvements.

Also applies to: 258-258, 522-522

devin-ai-integration bot and others added 2 commits December 2, 2025 22:40
- Make View Diff button icon-only in mobile view
- Remove title from menu bar in mobile view
- Reduce gap between traffic lights and hamburger menu icon

Co-Authored-By: john@hyprnote.com <john@hyprnote.com>
@ComputelessComputer ComputelessComputer force-pushed the devin/1764678475-mobile-changelog-ui-fixes branch from adaf673 to dc15c11 Compare December 2, 2025 15:22
@ComputelessComputer ComputelessComputer merged commit ae85942 into main Dec 2, 2025
13 checks passed
@ComputelessComputer ComputelessComputer deleted the devin/1764678475-mobile-changelog-ui-fixes branch December 2, 2025 15:32
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