WIP starbook demo
All checks were successful
Deploy App / build (push) Successful in 34s
Deploy App / deploy (push) Successful in 25s

This commit is contained in:
valere
2026-02-10 07:31:31 +01:00
parent 7fa6f6ccc8
commit 7be09dd12d
17 changed files with 516 additions and 914 deletions

View File

@@ -1,8 +1,36 @@
<template>
<div class="min-h-screen bg-gray-100">
<div class="min-h-screen" @keydown.esc="resetFocus">
<NuxtRouteAnnouncer />
<NuxtLayout>
<NuxtPage />
<NuxtPage ref="pageContent" />
</NuxtLayout>
</div>
</template>
<script setup lang="ts">
import { ref, onMounted, onUnmounted } from 'vue'
const pageContent = ref < HTMLElement | null > (null)
const resetFocus = (event: KeyboardEvent) => {
if (event.key === 'Escape') {
// On déplace le focus sur l'élément racine
if (document.activeElement instanceof HTMLElement) {
document.activeElement.blur()
}
// On force le focus sur le body
document.body.focus()
}
}
// Ajout du gestionnaire d'événement au montage du composant
onMounted(() => {
window.addEventListener('keydown', resetFocus)
})
// Nettoyage du gestionnaire d'événement lors du démontage du composant
onUnmounted(() => {
window.removeEventListener('keydown', resetFocus)
})
</script>