import {RouteLocation} from 'vue-router'
import {isAppleDevice} from '@/helpers/isAppleDevice'
const ctrl = isAppleDevice() ? '⌘' : 'ctrl'
interface Shortcut {
title: string
keys: string[]
combination?: 'then'
}
interface ShortcutGroup {
available?: (route: RouteLocation) => boolean
shortcuts: Shortcut[]
export const KEYBOARD_SHORTCUTS : ShortcutGroup[] = [
{
title: 'keyboardShortcuts.general',
shortcuts: [
title: 'keyboardShortcuts.toggleMenu',
keys: [ctrl, 'e'],
},
title: 'keyboardShortcuts.quickSearch',
keys: [ctrl, 'k'],
],
title: 'list.kanban.title',
available: (route) => route.name === 'list.kanban',
title: 'keyboardShortcuts.task.done',
keys: [ctrl, 'click'],
title: 'keyboardShortcuts.list.title',
available: (route) => (route.name as string)?.startsWith('list.'),
title: 'keyboardShortcuts.list.switchToListView',
keys: ['g', 'l'],
combination: 'then',
title: 'keyboardShortcuts.list.switchToGanttView',
keys: ['g', 'g'],
title: 'keyboardShortcuts.list.switchToTableView',
keys: ['g', 't'],
title: 'keyboardShortcuts.list.switchToKanbanView',
keys: ['g', 'k'],
title: 'keyboardShortcuts.task.title',
available: (route) => route.name === 'task.detail',
title: 'keyboardShortcuts.task.assign',
keys: ['a'],
title: 'keyboardShortcuts.task.labels',
keys: ['l'],
title: 'keyboardShortcuts.task.dueDate',
keys: ['d'],
title: 'keyboardShortcuts.task.attachment',
keys: ['f'],
title: 'keyboardShortcuts.task.related',
keys: ['r'],
]