Skip to content

feat: enhance LanguageSwitcher component with drop-up option and impr…#121

Merged
JoachimLK merged 1 commit into
mainfrom
feat/mobile-frendlty
Mar 23, 2026
Merged

feat: enhance LanguageSwitcher component with drop-up option and impr…#121
JoachimLK merged 1 commit into
mainfrom
feat/mobile-frendlty

Conversation

@JoachimLK
Copy link
Copy Markdown
Contributor

@JoachimLK JoachimLK commented Mar 23, 2026

…ove layout for candidate and job detail pages

Summary

  • What does this PR change?
  • Why is this needed?

Type of change

  • Bug fix
  • Feature
  • Refactor
  • Docs
  • Chore

Validation

  • I tested locally
  • I added/updated relevant documentation
  • I verified multi-tenant scoping and auth behavior for affected API paths

DCO

  • All commits in this PR are signed off (Signed-off-by) via git commit -s

Summary by CodeRabbit

  • New Features

    • Mobile language switcher dropdown now adapts positioning for improved usability and visibility.
  • Style

    • Dashboard candidate page layout now displays with responsive stacking on smaller screens and optimized spacing adjustments.
    • Job detail page tab headers remain on a single line for enhanced readability.
    • Improved responsive design and layout adjustments across dashboard pages.

…ove layout for candidate and job detail pages
@railway-app railway-app Bot temporarily deployed to applirank / reqcore-pr-121 March 23, 2026 19:17 Destroyed
@railway-app
Copy link
Copy Markdown

railway-app Bot commented Mar 23, 2026

🚅 Deployed to the reqcore-pr-121 environment in applirank

Service Status Web Updated (UTC)
applirank 🕒 Building (View Logs) Mar 23, 2026 at 7:21 pm

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 23, 2026

📝 Walkthrough

Walkthrough

The pull request adds responsive layout improvements to the dashboard pages and enhances the LanguageSwitcher component with a new dropUp prop to control dropdown positioning on mobile devices.

Changes

Cohort / File(s) Summary
Language Switcher Enhancement
app/components/LanguageSwitcher.vue, app/components/AppTopBar.vue
Added dropUp boolean prop to LanguageSwitcher for conditional dropdown positioning (upward vs. downward). Updated AppTopBar to pass drop-up prop on mobile instances, with conditional class binding handling dropdown placement.
Dashboard Responsive Layout Updates
app/pages/dashboard/candidates/[id].vue, app/pages/dashboard/jobs/[id]/index.vue
Made layout components responsive with stacked mobile views and breakpoints: candidates page header and email/phone row change from single-row flex to stacked on small screens with adjusted grid columns; jobs page detail tabs add whitespace-nowrap to prevent text wrapping in scrollable container.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 Dropdowns dance both up and down,
Mobile views now wear the crown!
Responsive grids and flex so tight,
Your layouts flow just perfectly right! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is largely incomplete. It contains only the template structure with unchecked checkboxes and blank placeholder sections for 'What does this PR change?' and 'Why is this needed?', providing no substantive information about the changes. Fill in the summary section explaining what changed (LanguageSwitcher drop-up feature, responsive layout updates) and why it was needed. Select the appropriate type of change and check validation items as applicable.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title partially describes the changeset but is truncated. It mentions LanguageSwitcher drop-up enhancement and layout improvements, which align with actual changes, but the ellipsis suggests incomplete information.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/mobile-frendlty

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
Copy Markdown

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

🧹 Nitpick comments (1)
app/components/LanguageSwitcher.vue (1)

198-199: Consider: Horizontal alignment differs between drop-up and drop-down.

When dropUp is true, the dropdown aligns left (left-0), but when false it aligns right (right-0). This may be intentional for the mobile placement, but if consistent alignment is preferred:

♻️ Optional: Use consistent alignment
-        :class="props.dropUp ? 'left-0 bottom-full mb-1' : 'right-0 mt-1'"
+        :class="props.dropUp ? 'right-0 bottom-full mb-1' : 'right-0 mt-1'"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@app/components/LanguageSwitcher.vue` around lines 198 - 199, The dropdown's
horizontal alignment toggles between left and right based on props.dropUp,
causing inconsistent placement; update the class binding in LanguageSwitcher.vue
(the element using :class with props.dropUp) to use a consistent horizontal
alignment (e.g., always 'left-0' or always 'right-0') or make the horizontal
side configurable via a new prop (e.g., horizAlign) and apply that prop instead
of switching between 'left-0' and 'right-0', keeping the vertical classes
('bottom-full mb-1' vs 'mt-1') controlled by props.dropUp as before.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@app/components/LanguageSwitcher.vue`:
- Around line 198-199: The dropdown's horizontal alignment toggles between left
and right based on props.dropUp, causing inconsistent placement; update the
class binding in LanguageSwitcher.vue (the element using :class with
props.dropUp) to use a consistent horizontal alignment (e.g., always 'left-0' or
always 'right-0') or make the horizontal side configurable via a new prop (e.g.,
horizAlign) and apply that prop instead of switching between 'left-0' and
'right-0', keeping the vertical classes ('bottom-full mb-1' vs 'mt-1')
controlled by props.dropUp as before.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: adb587ce-dd9d-422d-8b8a-34fa9abdcbc8

📥 Commits

Reviewing files that changed from the base of the PR and between ab939bb and ccc829e.

📒 Files selected for processing (4)
  • app/components/AppTopBar.vue
  • app/components/LanguageSwitcher.vue
  • app/pages/dashboard/candidates/[id].vue
  • app/pages/dashboard/jobs/[id]/index.vue

@JoachimLK JoachimLK merged commit 5aea684 into main Mar 23, 2026
4 of 5 checks passed
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