mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
fix(AppMenu): ensure that aria attributes are set when needed
We hide **if** there is **no** notification. We *do not* hide and *show the label* **if** there are notifications for that application. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
This commit is contained in:
parent
2057fff1ad
commit
10eda65525
1 changed files with 8 additions and 7 deletions
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue