Skip to content

feat: add keyboard shortcuts for rapid navigation (Fixes #640)#806

Merged
ritesh-1918 merged 1 commit into
ritesh-1918:gssocfrom
zeroknowledge0x:fix/issue-640-keyboard-shortcuts
May 31, 2026
Merged

feat: add keyboard shortcuts for rapid navigation (Fixes #640)#806
ritesh-1918 merged 1 commit into
ritesh-1918:gssocfrom
zeroknowledge0x:fix/issue-640-keyboard-shortcuts

Conversation

@zeroknowledge0x
Copy link
Copy Markdown

Summary

Implement interactive keyboard shortcuts for rapid admin dashboard navigation.

Changes

1. Keyboard Shortcuts Hook (useKeyboardShortcuts.js)

  • Vim-style navigation: G + key combinations (G,D for Dashboard, G,T for Tickets, etc.)
  • Platform-aware: Detects Mac vs Windows for modifier key display
  • Input-safe: Doesn't trigger when typing in form fields
  • Configurable: Custom shortcuts per role (admin vs user)
  • Timeout: 1-second timeout for key sequences

2. Shortcuts Help Modal (ShortcutsHelp.jsx)

  • Categorized display: Navigation and Quick Actions tabs
  • Visual key display: Styled keyboard key indicators
  • Platform-aware: Shows ⌘ on Mac, Ctrl on Windows
  • Tips section: Helpful usage instructions

3. Default Shortcuts

Shortcut Action
G,D Go to Dashboard
G,T Go to My Tickets
G,N Create New Ticket
G,P Go to Profile
G,H Go to Help
G,A Go to Admin Dashboard
G,K Go to Admin Tickets
G,U Go to Admin Users
G,S Go to Admin Settings
Ctrl+K Open Search
Ctrl+/ Show Shortcuts
Escape Close Modal

Benefits

  1. Faster navigation: No mouse required for common actions
  2. Power user friendly: Vim-style key sequences
  3. Role-aware: Different shortcuts for admin vs user
  4. Discoverable: Ctrl+/ shows all available shortcuts

Testing

  • Test all G+key combinations
  • Verify shortcuts don't work in input fields
  • Test Escape closes modals
  • Verify Ctrl+/ opens help
  • Test role-specific shortcuts

Fixes #640

)

- Add useKeyboardShortcuts hook with vim-style G+key navigation
- Add ShortcutsHelp modal with categorized shortcut display
- Support role-specific shortcuts (admin vs user)
- Add Ctrl+K for search, Ctrl+/ for shortcuts help
- Escape key closes modals
- Visual keyboard key display with platform-aware formatting
@vercel
Copy link
Copy Markdown

vercel Bot commented May 31, 2026

@rkhandrianto is attempting to deploy a commit to the ritesh Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 31, 2026

Warning

Review limit reached

@zeroknowledge0x, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 23 minutes and 42 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 195a9b74-d7d5-45b6-a8f0-6995e06407ff

📥 Commits

Reviewing files that changed from the base of the PR and between da8faf2 and 0b43d13.

📒 Files selected for processing (3)
  • Frontend/src/App.jsx
  • Frontend/src/components/shared/ShortcutsHelp.jsx
  • Frontend/src/hooks/useKeyboardShortcuts.js
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@ritesh-1918 ritesh-1918 changed the base branch from main to gssoc May 31, 2026 05:44
@ritesh-1918 ritesh-1918 added gssoc GirlScript Summer of Code gssoc:approved GSSoC Approved PR level:intermediate Intermediate level difficulty quality:exceptional Exceptional code quality type:bug Bug fix labels May 31, 2026
@ritesh-1918
Copy link
Copy Markdown
Owner

Hi @zeroknowledge0x! Thanks for the contribution. I have triaged your PR and set it to merge into the gssoc branch.

⚠️ MANDATORY GSSOC ONBOARDING STEPS:
Before your PR points are finalized on the leaderboard, you MUST complete these required steps:

  1. Star this repository: https://github.com/ritesh-1918/HELPDESK.AI (Mandatory)
  2. 👤 Follow the Project Admin: https://github.com/ritesh-1918 (Mandatory)
  3. 💼 Connect on LinkedIn: https://www.linkedin.com/in/ritesh1908/ (Mandatory)

Welcome to the HELPDESK.AI developer family! 🚀💻

@ritesh-1918 ritesh-1918 merged commit 07162ff into ritesh-1918:gssoc May 31, 2026
8 of 10 checks passed
@ritesh-1918
Copy link
Copy Markdown
Owner

Hi @zeroknowledge0x! 🙌

Thank you so much for your excellent contribution: "feat: add keyboard shortcuts for rapid navigation (Fixes #640)"! We really appreciate the high-quality code and effort you have put into the platform.

Just a quick, friendly heads-up as we prepare our manual merging and verification queues—please make sure to complete all the mandatory community steps listed below.

Once those manual steps are verified, we'll get your PR officially merged into the gssoc branch (or keep it neatly cataloged if closed as integrated) and assign it the highest possible GSSoC S-Tier labels to maximize your leaderboard points!

Let's build something amazing together! 🚀🔥


🌟 Community Support & Network Steps (Take 10 Seconds!)

As we prepare our manual verification and merging queues, please make sure you have taken a moment to complete these required steps to finalize your points:

  1. Star this repository: https://github.com/ritesh-1918/HELPDESK.AI (Mandatory)
  2. 🍴 Fork this repository: https://github.com/ritesh-1918/HELPDESK.AI/fork (Mandatory)
  3. 👤 Follow @ritesh-1918 on GitHub: https://github.com/ritesh-1918 (Mandatory - manual step)
  4. 💼 Connect on LinkedIn: https://www.linkedin.com/in/ritesh1908/ (Mandatory)

Note: Having these steps completed manually is required before your PR points are officially cleared.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc:approved GSSoC Approved PR gssoc GirlScript Summer of Code level:intermediate Intermediate level difficulty quality:exceptional Exceptional code quality type:bug Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BOUNTY] [level:intermediate] Add Interactive Keyboard Shortcuts for Rapid Admin Dashboard Navigation

2 participants