diff --git a/app/plugins/shortcut.client.ts b/app/plugins/shortcut.client.ts index 8e29c3a..e919262 100644 --- a/app/plugins/shortcut.client.ts +++ b/app/plugins/shortcut.client.ts @@ -1,5 +1,7 @@ import { useUiStore } from '~/store/ui' import { usePlayerStore } from '~/store/player' +import { useCardStore } from '~/store/card' +import { useDataStore } from '~/store/data' export default defineNuxtPlugin((nuxtApp) => { // Ne s'exécuter que côté client @@ -7,6 +9,8 @@ export default defineNuxtPlugin((nuxtApp) => { const ui = useUiStore() const player = usePlayerStore() + const cardStore = useCardStore() + const dataStore = useDataStore() function isInputElement(target: EventTarget | null): boolean { return ( @@ -41,6 +45,24 @@ export default defineNuxtPlugin((nuxtApp) => { switch (e.code) { // Gestion de la barre d'espace pour play/pause + case 'KeyR': // R pour révéler toutes les cartes + e.preventDefault() + e.stopPropagation() + if (!isInputElement(e.target as HTMLElement) && ui.getSelectedBox) { + const tracks = dataStore.getTracksByboxId(ui.getSelectedBox.id) + cardStore.revealAllCards(tracks) + } + break + + case 'KeyH': // H pour cacher toutes les cartes + e.preventDefault() + e.stopPropagation() + if (!isInputElement(e.target as HTMLElement) && ui.getSelectedBox) { + const tracks = dataStore.getTracksByboxId(ui.getSelectedBox.id) + cardStore.hideAllCards(tracks) + } + break + case 'Space': e.preventDefault() e.stopPropagation()