feat: mount VoiceOverlay and wire Space bar shortcut in App.vue
This commit is contained in:
@@ -3,6 +3,7 @@ import { onMounted, onUnmounted, ref, watch } from "vue";
|
|||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import AppHeader from "@/components/AppHeader.vue";
|
import AppHeader from "@/components/AppHeader.vue";
|
||||||
import ToastNotification from "@/components/ToastNotification.vue";
|
import ToastNotification from "@/components/ToastNotification.vue";
|
||||||
|
import VoiceOverlay from "@/components/VoiceOverlay.vue";
|
||||||
import { useTheme } from "@/composables/useTheme";
|
import { useTheme } from "@/composables/useTheme";
|
||||||
import { useShortcuts } from "@/composables/useShortcuts";
|
import { useShortcuts } from "@/composables/useShortcuts";
|
||||||
import { useAuthStore } from "@/stores/auth";
|
import { useAuthStore } from "@/stores/auth";
|
||||||
@@ -120,6 +121,10 @@ function onGlobalKeydown(e: KeyboardEvent) {
|
|||||||
router.push("/chat");
|
router.push("/chat");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case " ":
|
||||||
|
e.preventDefault();
|
||||||
|
document.dispatchEvent(new CustomEvent("voice:ptt-toggle"));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,7 +276,7 @@ onUnmounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
<div class="shortcut-row">
|
<div class="shortcut-row">
|
||||||
<kbd class="shortcut-key">Space</kbd>
|
<kbd class="shortcut-key">Space</kbd>
|
||||||
<span class="shortcut-desc">Hold to speak (voice, when enabled)</span>
|
<span class="shortcut-desc">Tap to speak (voice, when enabled)</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -282,6 +287,7 @@ onUnmounted(() => {
|
|||||||
<template v-else>
|
<template v-else>
|
||||||
<router-view />
|
<router-view />
|
||||||
</template>
|
</template>
|
||||||
|
<VoiceOverlay />
|
||||||
<ToastNotification />
|
<ToastNotification />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user