fix: Avoid double tap on iOS and close navigation on click

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl
2024-09-02 07:58:51 +02:00
committed by backportbot[bot]
parent aca6b9d969
commit 07b0716d33
2 changed files with 25 additions and 0 deletions

View File

@@ -9,6 +9,8 @@
:to="routeTo" :to="routeTo"
:undo="deleted" :undo="deleted"
:menu-placement="'auto'" :menu-placement="'auto'"
:force-display-actions="isTouchDevice"
@click="onNavigate"
@undo="unDelete"> @undo="unDelete">
<NcAppNavigationIconBullet slot="icon" :color="board.color" /> <NcAppNavigationIconBullet slot="icon" :color="board.color" />
@@ -152,6 +154,9 @@ import CloseIcon from 'vue-material-design-icons/Close.vue'
import CheckIcon from 'vue-material-design-icons/Check.vue' import CheckIcon from 'vue-material-design-icons/Check.vue'
import { loadState } from '@nextcloud/initial-state' import { loadState } from '@nextcloud/initial-state'
import { emit } from '@nextcloud/event-bus'
import isTouchDevice from '../../mixins/isTouchDevice.js'
const canCreateState = loadState('deck', 'canCreate') const canCreateState = loadState('deck', 'canCreate')
@@ -173,6 +178,7 @@ export default {
directives: { directives: {
ClickOutside, ClickOutside,
}, },
mixins: [isTouchDevice],
inject: [ inject: [
'boardApi', 'boardApi',
], ],
@@ -336,6 +342,13 @@ export default {
actionExport() { actionExport() {
this.boardApi.exportBoard(this.board) this.boardApi.exportBoard(this.board)
}, },
onNavigate() {
if (this.isTouchDevice) {
emit('toggle-navigation', {
open: false,
})
}
},
}, },
} }
</script> </script>

View File

@@ -0,0 +1,12 @@
/**
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
export default {
computed: {
isTouchDevice() {
return ('ontouchstart' in window) || (navigator.maxTouchPoints > 0)
},
},
}