From c58f364002d6a7fddb828f31907818e7276f317b Mon Sep 17 00:00:00 2001 From: akadotsh Date: Sun, 14 Jun 2026 23:21:12 +0530 Subject: [PATCH] feat: add keyboard shortcuts for package links (g/h/i/n) --- app/components/AppFooter.vue | 16 ++++++++++++++++ app/components/Package/ExternalLinks.vue | 18 +++++++++++++++--- app/composables/useShortcuts.ts | 15 ++++++++++++++- docs/content/2.guide/2.keyboard-shortcuts.md | 4 ++++ i18n/locales/en.json | 6 +++++- i18n/schema.json | 12 ++++++++++++ 6 files changed, 66 insertions(+), 5 deletions(-) diff --git a/app/components/AppFooter.vue b/app/components/AppFooter.vue index 2ee2a47f19..d11f1a9885 100644 --- a/app/components/AppFooter.vue +++ b/app/components/AppFooter.vue @@ -252,6 +252,22 @@ const footerSections = computed>(( c {{ $t('shortcuts.compare_from_package') }} +
  • + g + {{ $t('shortcuts.open_repo') }} +
  • +
  • + h + {{ $t('shortcuts.open_homepage') }} +
  • +
  • + i + {{ $t('shortcuts.open_issues') }} +
  • +
  • + n + {{ $t('shortcuts.open_npm') }} +
  • diff --git a/app/components/Package/ExternalLinks.vue b/app/components/Package/ExternalLinks.vue index 9864c23365..5d00e0df76 100644 --- a/app/components/Package/ExternalLinks.vue +++ b/app/components/Package/ExternalLinks.vue @@ -52,6 +52,13 @@ const repositoryCommandLabel = computed(() => { return `${$t('package.links.repo')}${provider}: ${repoRef.value.owner}/${repoRef.value.repo}` }) +useShortcuts({ + g: () => repositoryUrl.value, + h: () => homepageUrl.value, + i: () => displayVersion.value?.bugs?.url, + n: () => `https://www.npmjs.com/package/${props.pkg.name}`, +}) + useCommandPaletteContextCommands( computed(() => { const commands: CommandPaletteContextCommandInput[] = [] @@ -154,7 +161,7 @@ useCommandPaletteContextCommands(