Skip to content

feat(keyboard): add keyboard shortcut system for power users (#856) - #869

Merged
Chucks1093 merged 6 commits into
accesslayerorg:devfrom
meem08:feat/keyboard-shortcuts-856
Sep 3, 2026
Merged

feat(keyboard): add keyboard shortcut system for power users (#856)#869
Chucks1093 merged 6 commits into
accesslayerorg:devfrom
meem08:feat/keyboard-shortcuts-856

Conversation

@meem08

@meem08 meem08 commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Implement a global keyboard-shortcut system that lets power users trigger common actions without reaching for the mouse.
closes #856

Global shortcuts (dialog closed):
/ → focus marketplace search input
B → open buy modal
S → open sell modal
P → navigate to portfolio page
T → open trade dialog (buy)
1–4 → switch profile tabs (overview, creations, collectors, activity)
? → toggle keyboard-shortcuts help modal
Ctrl+R → refresh creator list

Dialog shortcuts:
Enter → confirm trade (when form is valid)
Esc → close dialog (Radix native)

Amount shortcuts (amount input focused):
+/- → adjust amount by 1
1–5 → quick presets (1, 2, 3, 5, 10)

All shortcuts are disabled when focus is inside an input, textarea, or contenteditable element to avoid conflicts with normal typing.

New files:

  • useTradeKeyboardShortcuts hook (centralised shortcut manager)
  • KeyboardShortcutsHelp dialog (triggered by ?)
  • TradeShortcutHints floating indicator (auto-dismisses)

Modified files:

  • TradeDialog: internal amount shortcuts, shortcut hint bar
  • SearchBar: added data-testid for keyboard targeting
  • LandingPage: wired up all shortcuts via the centralised hook

Summary

Testing

  • pnpm lint
  • pnpm build

Checklist

  • Linked issue or backlog item
  • Scope is limited to the stated change
  • Updated docs if behavior or setup changed
  • Added screenshots for UI changes when relevant

…ayerorg#856)

Implement a global keyboard-shortcut system that lets power users
trigger common actions without reaching for the mouse.

Global shortcuts (dialog closed):
  /       → focus marketplace search input
  B       → open buy modal
  S       → open sell modal
  P       → navigate to portfolio page
  T       → open trade dialog (buy)
  1–4     → switch profile tabs (overview, creations, collectors, activity)
  ?       → toggle keyboard-shortcuts help modal
  Ctrl+R  → refresh creator list

Dialog shortcuts:
  Enter   → confirm trade (when form is valid)
  Esc     → close dialog (Radix native)

Amount shortcuts (amount input focused):
  +/-     → adjust amount by 1
  1–5     → quick presets (1, 2, 3, 5, 10)

All shortcuts are disabled when focus is inside an input, textarea,
or contenteditable element to avoid conflicts with normal typing.

New files:
  - useTradeKeyboardShortcuts hook (centralised shortcut manager)
  - KeyboardShortcutsHelp dialog (triggered by ?)
  - TradeShortcutHints floating indicator (auto-dismisses)

Modified files:
  - TradeDialog: internal amount shortcuts, shortcut hint bar
  - SearchBar: added data-testid for keyboard targeting
  - LandingPage: wired up all shortcuts via the centralised hook

Co-Authored-By: Codebuff <noreply@codebuff.com>
@drips-wave

drips-wave Bot commented Aug 31, 2026

Copy link
Copy Markdown

@meem08 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

meem08 and others added 5 commits August 31, 2026 03:48
The <Kbd> component had a lowercase </kbd> closing tag which caused
an ESLint parse error in CI.

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
Another lowercase </kbd> closing tag that should be </Kbd>,
causing ESLint parse errors in CI.

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
Extract TradeShortcut type, avoid readonly array push issue,
and use a cleaner lookup pattern.

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
@meem08

meem08 commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

@Chucks1093 review and merge

@Chucks1093
Chucks1093 merged commit 9957f2d into accesslayerorg:dev Sep 3, 2026
1 check 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.

Add a keyboard shortcut system for power users to trigger common actions without a mouse

2 participants