30 lines
766 B
Vue
30 lines
766 B
Vue
<script setup lang="ts">
|
|
useHead({ title: 'Notes' })
|
|
|
|
const { toggleList } = useNotesSidebar()
|
|
const { createAndOpen } = useNewNote()
|
|
useNotesSearch().runSearch()
|
|
|
|
// ⌘ on Mac, Ctrl elsewhere. ⌘N itself is reserved by the browser. ⌘E is kept from the editor in notes/[id].vue.
|
|
defineShortcuts({
|
|
meta_alt_n: { usingInput: true, handler: createAndOpen },
|
|
meta_e: { usingInput: true, handler: toggleList }
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<PasswordGate title="Notes">
|
|
<div class="flex h-dvh">
|
|
<NotesSidebar />
|
|
|
|
<main class="relative min-w-0 flex-1 overflow-y-auto">
|
|
<NuxtPage :page-key="route => route.fullPath" />
|
|
</main>
|
|
</div>
|
|
|
|
<NotesSidebarHandle />
|
|
<NotesDrawer />
|
|
<NotesActionBar />
|
|
</PasswordGate>
|
|
</template>
|