From 8b39ba491a9f3e4d06f7dfe260ebcc9e1a00071a Mon Sep 17 00:00:00 2001 From: "Calum H." Date: Thu, 30 Oct 2025 21:20:16 +0000 Subject: [PATCH] fix: keybind issues with gallery + moderation checklist (#4674) --- apps/app-frontend/src/pages/project/Gallery.vue | 15 ++++++++++++--- .../moderation/checklist/ModerationChecklist.vue | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/apps/app-frontend/src/pages/project/Gallery.vue b/apps/app-frontend/src/pages/project/Gallery.vue index 43c22496..e55d7d11 100644 --- a/apps/app-frontend/src/pages/project/Gallery.vue +++ b/apps/app-frontend/src/pages/project/Gallery.vue @@ -92,7 +92,7 @@ import { XIcon, } from '@modrinth/assets' import { Button, Card } from '@modrinth/ui' -import { ref } from 'vue' +import { onMounted, onUnmounted, ref } from 'vue' import { hide_ads_window, show_ads_window } from '@/helpers/ads.js' import { trackEvent } from '@/helpers/analytics' @@ -151,17 +151,26 @@ const expandImage = (item, index) => { function keyListener(e) { if (expandedGalleryItem.value) { - e.preventDefault() if (e.key === 'Escape') { + e.preventDefault() hideImage() } else if (e.key === 'ArrowLeft') { + e.preventDefault() previousImage() } else if (e.key === 'ArrowRight') { + e.preventDefault() nextImage() } } } -document.addEventListener('keypress', keyListener) + +onMounted(() => { + document.addEventListener('keydown', keyListener) +}) + +onUnmounted(() => { + document.removeEventListener('keydown', keyListener) +})