feat: focus settings on load
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
:data-message-id="message.id"
|
:data-message-id="message.id"
|
||||||
:tabindex="tabindex || -1"
|
:tabindex="tabindex || -1"
|
||||||
:aria-label="messageAriaLabel"
|
:aria-label="messageAriaLabel"
|
||||||
role="listitem"
|
role="option"
|
||||||
@keydown="handleKeydown"
|
@keydown="handleKeydown"
|
||||||
>
|
>
|
||||||
<div class="message__content">
|
<div class="message__content">
|
||||||
|
@@ -1,10 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="messages-container" ref="containerRef" @keydown="handleKeydown" tabindex="0" role="list"
|
<div class="messages-container" ref="containerRef" @keydown="handleKeydown" tabindex="0" role="listbox"
|
||||||
:aria-label="messagesAriaLabel">
|
:aria-label="messagesAriaLabel">
|
||||||
<div class="messages" role="presentation">
|
<div class="messages" role="presentation">
|
||||||
<!-- Regular Messages -->
|
<!-- Regular Messages -->
|
||||||
<MessageItem v-for="(message, index) in messages" :key="message.id" :message="message"
|
<MessageItem v-for="(message, index) in messages" :key="message.id" :message="message"
|
||||||
:tabindex="index === focusedMessageIndex ? 0 : -1" :data-message-index="index"
|
:tabindex="index === focusedMessageIndex ? 0 : -1" :data-message-index="index"
|
||||||
|
:aria-selected="index === focusedMessageIndex ? 'true' : 'false'"
|
||||||
@focus="focusedMessageIndex = index" />
|
@focus="focusedMessageIndex = index" />
|
||||||
|
|
||||||
<!-- Unsent Messages -->
|
<!-- Unsent Messages -->
|
||||||
|
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
<label class="setting-item">
|
<label class="setting-item">
|
||||||
<input
|
<input
|
||||||
|
ref="soundInput"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
v-model="localSettings.soundEnabled"
|
v-model="localSettings.soundEnabled"
|
||||||
class="checkbox"
|
class="checkbox"
|
||||||
@@ -245,6 +246,7 @@ const isSaving = ref(false)
|
|||||||
const isResetting = ref(false)
|
const isResetting = ref(false)
|
||||||
const showResetConfirm = ref(false)
|
const showResetConfirm = ref(false)
|
||||||
const selectedVoiceURI = ref('')
|
const selectedVoiceURI = ref('')
|
||||||
|
const soundInput = ref()
|
||||||
|
|
||||||
// Computed property for current server URL
|
// Computed property for current server URL
|
||||||
const currentServerUrl = computed(() => authStore.serverUrl)
|
const currentServerUrl = computed(() => authStore.serverUrl)
|
||||||
@@ -338,6 +340,7 @@ onMounted(() => {
|
|||||||
|
|
||||||
// Set up voice selection
|
// Set up voice selection
|
||||||
selectedVoiceURI.value = appStore.settings.selectedVoiceURI || ''
|
selectedVoiceURI.value = appStore.settings.selectedVoiceURI || ''
|
||||||
|
soundInput.value.focus();
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user