diff --git a/packages/frontend/src/components/ShortcutsDialog/Container.vue b/packages/frontend/src/components/ShortcutsDialog/Container.vue new file mode 100644 index 0000000..5dee54f --- /dev/null +++ b/packages/frontend/src/components/ShortcutsDialog/Container.vue @@ -0,0 +1,81 @@ + + + diff --git a/packages/frontend/src/components/ShortcutsDialog/index.ts b/packages/frontend/src/components/ShortcutsDialog/index.ts new file mode 100644 index 0000000..9c39cd3 --- /dev/null +++ b/packages/frontend/src/components/ShortcutsDialog/index.ts @@ -0,0 +1 @@ +export { default as ShortcutsDialog } from "./Container.vue"; diff --git a/packages/frontend/src/layouts/AuthenticatedLayout/Container.vue b/packages/frontend/src/layouts/AuthenticatedLayout/Container.vue index 9c3ee11..a9b2038 100644 --- a/packages/frontend/src/layouts/AuthenticatedLayout/Container.vue +++ b/packages/frontend/src/layouts/AuthenticatedLayout/Container.vue @@ -6,6 +6,7 @@ import { useRouter } from "vue-router"; import { useAuthStore } from "../../stores/auth"; import { useThemeStore } from "../../stores/theme"; import { CommandPalette } from "@/components/CommandPalette"; +import { ShortcutsDialog } from "@/components/ShortcutsDialog"; import { UserNoticeDialog } from "@/components/UserNoticeDialog"; import { config } from "@/config"; @@ -13,6 +14,7 @@ const authStore = useAuthStore(); const themeStore = useThemeStore(); const router = useRouter(); const menu = ref(); +const shortcutsVisible = ref(false); const goSettings = async () => { await router.push({ name: "settings" }); @@ -40,6 +42,13 @@ const menuItems = computed(() => { : []; const linkItems = [ + { + label: "Keyboard shortcuts", + icon: "pi pi-question-circle", + command: () => { + shortcutsVisible.value = true; + }, + }, { label: "API Docs", icon: "pi pi-book", @@ -91,6 +100,10 @@ const goLogin = async () => {