Merge pull request #54198 from nextcloud/backport/54172/stable30

[stable30] fix(AppMenu): ensure that aria attributes are set when needed
This commit is contained in:
Ferdinand Thiessen 2025-08-01 18:53:25 +02:00 committed by GitHub
commit 9336537bad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 11 additions and 10 deletions

View file

@ -14,24 +14,25 @@
</template>
<script setup lang="ts">
import type { INavigationEntry } from '../types/navigation'
import type { INavigationEntry } from '../types/navigation.ts'
import { n } from '@nextcloud/l10n'
import { computed } from 'vue'
import IconDot from 'vue-material-design-icons/Circle.vue'
const props = defineProps<{
app: INavigationEntry
}>()
const ariaHidden = computed(() => String(props.app.unread > 0))
// only hide if there are no unread notifications
const ariaHidden = computed(() => !props.app.unread ? 'true' : undefined)
const ariaLabel = computed(() => {
if (ariaHidden.value === 'true') {
return ''
if (!props.app.unread) {
return undefined
}
return props.app.name
+ (props.app.unread > 0 ? ` (${n('core', '{count} notification', '{count} notifications', props.app.unread, { count: props.app.unread })})` : '')
return `${props.app.name} (${n('core', '{count} notification', '{count} notifications', props.app.unread, { count: props.app.unread })})`
})
</script>

4
dist/core-main.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long