22import { watchDebounced } from ' @vueuse/core'
33import { DrawerContent , DrawerOverlay , DrawerPortal , DrawerRoot , DrawerTrigger } from ' vaul-vue'
44import { useRouter , withBase } from ' vitepress'
5- import { ref , watch } from ' vue'
5+ import { defineAsyncComponent , ref , watch } from ' vue'
66import { useSecondarySidebar } from ' ../composables/useSecondarySidebar'
7- import SecondarySidebar from ' ./SecondarySidebar.vue'
8- import Sidebar from ' ./Sidebar.vue'
97
108const open = ref (false )
119const openSecondarySidebar = ref (false )
1210
11+ const SearchCommandBox = defineAsyncComponent (() => import (' ./SearchCommandBox.vue' ))
12+ const SecondarySidebar = defineAsyncComponent (() => import (' ./SecondarySidebar.vue' ))
13+ const Sidebar = defineAsyncComponent (() => import (' ./Sidebar.vue' ))
14+
1315const shouldTeleport = ref (false )
1416watchDebounced (
1517 () => openSecondarySidebar .value ,
@@ -33,8 +35,11 @@ const { showWidget } = useSecondarySidebar()
3335
3436<template >
3537 <div >
36- <div v-if =" showWidget" id =" widget" fixed bottom-64 rounded-4 bg-neutral-50 shadow w =" [calc(100vw-16px)]" inset-x-8 />
37- <nav w-screen border =" t neutral-300" nq-raw bg-neutral-0 z-10 :data-sidebar =" open ? '' : undefined" >
38+ <div
39+ v-if =" showWidget" id =" widget" fixed bottom-64 rounded-4 bg-neutral-50 shadow w =" [calc(100vw-16px)]"
40+ inset-x-8
41+ />
42+ <nav w-screen border =" t neutral-300" nq-raw bg-neutral-0 z-50 :data-sidebar =" open ? '' : undefined" >
3843 <ul grid =" ~ items-center" :class =" showSecondarySidebar ? 'cols-4' : 'cols-3'" children:children:h-56 >
3944 <li >
4045 <a :href =" withBase('')" stack >
@@ -49,27 +54,36 @@ const { showWidget } = useSecondarySidebar()
4954 </DrawerTrigger >
5055 <DrawerPortal >
5156 <DrawerOverlay fixed inset-0 bg-neutral bg-opacity-20 />
52- <DrawerContent mt-24 max-h =" 96%" h-80vh fixed bottom-56 left-0 right-0 >
57+ <DrawerContent mt-24 max-h =" 96%" h-80vh fixed bottom-0 left-0 right-0 >
5358 <SecondarySidebar :with-widget =" false" bg-neutral-100 w-screen f-pt-sm rounded-t-12 />
5459 </DrawerContent >
5560 </DrawerPortal >
5661 </DrawerRoot >
5762 </li >
5863
5964 <li px-8 >
60- <a :href =" withBase('')" nq-pill-blue nq-pill-lg h-48 =" !" w-full outline =" ~ 1.5 offset--1.5 white/8" >
61- <div i-nimiq:magnifying-glass />
62- </a >
65+ <DrawerRoot v-model:open =" open" >
66+ <DrawerTrigger stack nq-pill-blue nq-pill-lg h-48 =" !" w-full outline =" ~ 1.5 offset--1.5 white/8" >
67+ <div i-nimiq:magnifying-glass />
68+ </DrawerTrigger >
69+ <DrawerPortal >
70+ <DrawerOverlay fixed inset-0 bg-neutral bg-opacity-20 />
71+ <DrawerContent mt-24 max-h =" 96%" h-80vh fixed bottom-0 left-0 right-0 bg-neutral-100 rounded-t-12 f-pt-sm >
72+ <!-- <Sidebar :search="false" w-screen f-pt-sm rounded-t-12 /> -->
73+ <SearchCommandBox @close =" handleClose" />
74+ </DrawerContent >
75+ </DrawerPortal >
76+ </DrawerRoot >
6377 </li >
6478
6579 <li >
66- <DrawerRoot v-model:open = " open " >
80+ <DrawerRoot >
6781 <DrawerTrigger stack bg-transparent >
6882 <div i-tabler:menu-2 text-20 />
6983 </DrawerTrigger >
7084 <DrawerPortal >
7185 <DrawerOverlay fixed inset-0 bg-neutral bg-opacity-20 />
72- <DrawerContent mt-24 max-h =" 96%" h-80vh fixed bottom-56 left-0 right-0 >
86+ <DrawerContent mt-24 max-h =" 96%" h-80vh bottom-0 fixed left-0 right-0 >
7387 <Sidebar :search =" false" w-screen f-pt-sm rounded-t-12 />
7488 </DrawerContent >
7589 </DrawerPortal >
0 commit comments