fix: improve mobile responsiveness on issues page#4712
Conversation
Summary by CodeRabbit
WalkthroughThe Issues page header/filter bar was changed to a responsive flex layout: title and filters stack on small screens and align horizontally on larger screens. Label and Deadline Select triggers use ChangesResponsive Issues page header layout
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
The linked issue must be assigned to the PR author. |
|
Hi @Ani07-05, I checked your solution locally and it works nice I think. BEFORE:
|
kasya
left a comment
There was a problem hiding this comment.
Hi @Ani07-05! Thanks for working on this update.
I reviewed it and have a small request.
Could you update the dropdown buttons for mobile view to stick to the left? Right now caret/dropdown icon shows up in the middle of the dropdown when on the mobile view.
I also noticed that when I am in responsive view on some breakpoint this component breaks and shows 2 different layers of background 🤔 Seems like there's another block under it that has more rounded border but the same color. Could you fix this too?
Thanks!
sure will implement these changes and resolve the double block issue |
8b73e1a to
9687632
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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
`@frontend/src/app/my/mentorship/programs/`[programKey]/modules/[moduleKey]/issues/page.tsx:
- Line 239: The trigger classes were updated for the mobile layout but the
selectorIcon alignment wasn’t—update the component props where you set trigger
to also include an explicit mobile-first selectorIcon class so the caret is
positioned correctly on small screens (e.g., add a selectorIcon prop alongside
trigger with a mobile-first alignment class then override for larger screens);
apply this same selectorIcon change to both occurrences where trigger is set
(the instances around the existing trigger prop at the previous and later call
sites).
- Line 230: The wrapper div that renders the background uses the classes
"bg-gray-200 dark:bg-[`#323232`]" (and rounded/overflow styling) and the trigger
elements repeat the same background, causing a double-layer artifact; remove the
duplicate background classes (specifically "bg-gray-200" and "dark:bg-[`#323232`]"
— leave rounded/overflow if needed) from the trigger elements referenced in the
file (the trigger elements near the wrapper class "flex h-12 w-full items-center
overflow-hidden rounded-lg bg-gray-200 dark:bg-[`#323232`] sm:w-auto" and the
other occurrences noted) so only the wrapper provides the background/shape.
🪄 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 5143138c-b0f6-4ce1-a747-0de6ab87e6f2
📒 Files selected for processing (1)
frontend/src/app/my/mentorship/programs/[programKey]/modules/[moduleKey]/issues/page.tsx
have addressed them , is this fine @kasya ? |
There was a problem hiding this comment.
♻️ Duplicate comments (1)
frontend/src/app/my/mentorship/programs/[programKey]/modules/[moduleKey]/issues/page.tsx (1)
240-240:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winSelectorIcon positioning still doesn't match reviewer's mobile-left request.
While
selectorIconis now explicitly set (progress from the past review), usingright-3positions the caret on the right at all screen sizes. The reviewer requested the caret stick to the left on mobile, which requires responsive positioning.Suggested fix using flex ordering
Apply the mobile-first flex ordering approach for both Select components:
trigger: 'bg-transparent pl-0 text-nowrap rounded-none w-full sm:w-40', - selectorIcon: 'right-3', + selectorIcon: 'order-first mr-2 sm:order-last sm:mr-0', popoverContent: 'text-md min-w-40 dark:bg-[`#323232`] rounded-none p-0',trigger: 'bg-transparent pl-0 text-nowrap rounded-none w-full sm:w-36', - selectorIcon: 'right-3', + selectorIcon: 'order-first mr-2 sm:order-last sm:mr-0', popoverContent: 'text-md min-w-36 dark:bg-[`#323232`] rounded-none p-0',Also applies to: 271-271
🤖 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 `@frontend/src/app/my/mentorship/programs/`[programKey]/modules/[moduleKey]/issues/page.tsx at line 240, The selectorIcon is hardcoded to 'right-3' so the caret sits on the right at all screen sizes; change the two occurrences of selectorIcon (the properties currently set to 'right-3') to be responsive so the caret is left-aligned on mobile and right-aligned on larger screens — e.g., use a responsive utility value like 'left-3 lg:right-3' or switch to a mobile-first flex ordering approach within the Select component (move the icon element before the label and apply order classes such as 'order-0 lg:order-2') to ensure the caret is left on mobile and right on desktop.
🤖 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.
Duplicate comments:
In
`@frontend/src/app/my/mentorship/programs/`[programKey]/modules/[moduleKey]/issues/page.tsx:
- Line 240: The selectorIcon is hardcoded to 'right-3' so the caret sits on the
right at all screen sizes; change the two occurrences of selectorIcon (the
properties currently set to 'right-3') to be responsive so the caret is
left-aligned on mobile and right-aligned on larger screens — e.g., use a
responsive utility value like 'left-3 lg:right-3' or switch to a mobile-first
flex ordering approach within the Select component (move the icon element before
the label and apply order classes such as 'order-0 lg:order-2') to ensure the
caret is left on mobile and right on desktop.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 4e5a7796-2b2e-49bb-846d-0f0c66b8cda2
📒 Files selected for processing (1)
frontend/src/app/my/mentorship/programs/[programKey]/modules/[moduleKey]/issues/page.tsx
|








Proposed change
Resolves #4568
The Issues page header was using
flex items-center justify-betweenat all screen sizes, causing the filter dropdowns (Label, Deadline) to overlap the page title on narrow viewports (e.g. Galaxy Z Fold).Checklist
make check-testlocally: all warnings addressed, tests passed