Locked menu on first open

This commit is contained in:
nicwands
2026-04-06 11:44:49 -04:00
parent fc33a9c051
commit 5e633d9dd6
2 changed files with 23 additions and 3 deletions

View File

@@ -1,7 +1,11 @@
<template> <template>
<transition name="menu"> <transition name="menu">
<div v-if="menuOpen" class="menu" ref="container"> <div
<Nav /> v-if="menuOpen || lockOpen"
:class="['menu', { locked: lockOpen }]"
ref="container"
>
<Nav v-if="!lockOpen" />
<div class="menu-wrap layout-block"> <div class="menu-wrap layout-block">
<new-note class="menu-item" @noteOpened="closeMenu" /> <new-note class="menu-item" @noteOpened="closeMenu" />
@@ -32,6 +36,10 @@ import useMenu from '@/composables/useMenu'
import { useRoute } from 'vue-router' import { useRoute } from 'vue-router'
import useExport from '@/composables/useExport' import useExport from '@/composables/useExport'
const props = defineProps({
lockOpen: { type: Boolean, default: () => false },
})
const container = ref() const container = ref()
const { menuOpen, closeMenu } = useMenu() const { menuOpen, closeMenu } = useMenu()
@@ -85,6 +93,10 @@ const handleExport = async () => {
} }
} }
&.locked .menu-wrap {
padding-top: 0;
}
&.menu-enter-active, &.menu-enter-active,
&.menu-leave-active { &.menu-leave-active {
transition: transform 300ms var(--ease-out-expo); transition: transform 300ms var(--ease-out-expo);

View File

@@ -1,5 +1,8 @@
<template> <template>
<main v-if="loaded" class="directory layout-block"> <main
v-if="loaded && (categories?.length || notes?.length)"
class="directory layout-block"
>
<category-row <category-row
v-for="(category, i) in categories" v-for="(category, i) in categories"
:index="i" :index="i"
@@ -18,6 +21,10 @@
<decryption-warning :failedIds="decryptionFailures" /> <decryption-warning :failedIds="decryptionFailures" />
</main> </main>
<main v-else-if="loaded">
<Menu lockOpen />
</main>
<page-loading v-else /> <page-loading v-else />
</template> </template>
@@ -30,6 +37,7 @@ import NoteRow from '@/components/NoteRow.vue'
import useNotes from '@/composables/useNotes' import useNotes from '@/composables/useNotes'
import NewNote from '@/components/NewNote.vue' import NewNote from '@/components/NewNote.vue'
import { useMagicKeys } from '@vueuse/core' import { useMagicKeys } from '@vueuse/core'
import Menu from '@/components/Menu.vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
const router = useRouter() const router = useRouter()