Skip to content

Commit e2c7f7b

Browse files
committed
fix: improve docs menu
1 parent d5a6c1f commit e2c7f7b

File tree

2 files changed

+35
-14
lines changed

2 files changed

+35
-14
lines changed

src/views/components/Sidebar.vue

+34-13
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,28 @@
1717

1818
<button
1919
@click="toggleMenu"
20-
:class="
21-
tw`flex lg:hidden w-full items-center space-x-2 cursor-pointer select-none text(gray-500 dark:gray-300 hover:dark:white hover:green-700) p-4 rounded bg-gray-100 dark:bg-gray-700 hover:(bg(green-100 dark:gray-600 opacity-50 dark:opacity-50))`
22-
"
20+
:class="[
21+
tw`flex lg:hidden w-full items-center space-x-2 cursor-pointer select-none text(gray-500 dark:gray-300 hover:dark:white hover:green-700) p-4 rounded bg-gray-100 dark:bg-gray-700 hover:(bg(green-100 dark:gray-600 opacity-50 dark:opacity-50))`,
22+
menuIsOpen ? tw`relative z-30` : ''
23+
]"
2324
>
2425
<svg
26+
v-if="menuIsOpen"
27+
:class="tw`w-5`"
28+
xmlns="http://www.w3.org/2000/svg"
29+
fill="none"
30+
viewBox="0 0 24 24"
31+
stroke="currentColor"
32+
>
33+
<path
34+
stroke-linecap="round"
35+
stroke-linejoin="round"
36+
stroke-width="2"
37+
d="M19 9l-7 7-7-7"
38+
/>
39+
</svg>
40+
<svg
41+
v-else
2542
:class="tw`w-5`"
2643
xmlns="http://www.w3.org/2000/svg"
2744
fill="none"
@@ -35,29 +52,29 @@
3552
d="M4 6h16M4 12h16M4 18h16"
3653
/>
3754
</svg>
38-
<div>{{ currentRoute.meta.title }}</div>
55+
<div>{{ menuIsOpen ? "Choose a page" : currentRoute.meta.title }}</div>
3956
</button>
4057

4158
<SidebarWrapper :menuIsOpen="menuIsOpen">
4259
<ul :class="tw`sticky top-10`">
4360
<li :class="classes.heading">Getting Started</li>
44-
<SidebarLink @click="toggleMenu" to="/docs/install">
61+
<SidebarLink @click="closeMenu" to="/docs/install">
4562
Installation
4663
</SidebarLink>
47-
<SidebarLink @click="toggleMenu" to="/docs/theming">Theming</SidebarLink>
48-
<SidebarLink @click="toggleMenu" to="/docs/guides">Guides</SidebarLink>
64+
<SidebarLink @click="closeMenu" to="/docs/theming">Theming</SidebarLink>
65+
<SidebarLink @click="closeMenu" to="/docs/guides">Guides</SidebarLink>
4966
<li :class="classes.heading">
5067
<div :class="tw`mt-8`">Components</div>
5168
</li>
52-
<SidebarLink @click="toggleMenu" to="/docs/anchor">
69+
<SidebarLink @click="closeMenu" to="/docs/anchor">
5370
Anchor Link
5471
</SidebarLink>
55-
<SidebarLink @click="toggleMenu" to="/docs/button">Button</SidebarLink>
56-
<SidebarLink @click="toggleMenu" to="/docs/dropdown">
72+
<SidebarLink @click="closeMenu" to="/docs/button">Button</SidebarLink>
73+
<SidebarLink @click="closeMenu" to="/docs/dropdown">
5774
Dropdown
5875
</SidebarLink>
59-
<SidebarLink @click="toggleMenu" to="/docs/prose">Prose</SidebarLink>
60-
<SidebarLink @click="toggleMenu" to="/docs/table">Table</SidebarLink>
76+
<SidebarLink @click="closeMenu" to="/docs/prose">Prose</SidebarLink>
77+
<SidebarLink @click="closeMenu" to="/docs/table">Table</SidebarLink>
6178
</ul>
6279
</SidebarWrapper>
6380
</template>
@@ -87,13 +104,17 @@ export default defineComponent({
87104
menuIsOpen.value = !menuIsOpen.value;
88105
};
89106
107+
const closeMenu = (): void => {
108+
menuIsOpen.value = false;
109+
};
110+
90111
watch(menuIsOpen, (menuIsOpen) => {
91112
menuIsOpen
92113
? document.body.classList.add(tw`overflow-hidden`)
93114
: document.body.classList.remove(tw`overflow-hidden`);
94115
});
95116
96-
return { tw, currentRoute, classes, menuIsOpen, toggleMenu };
117+
return { tw, currentRoute, classes, menuIsOpen, toggleMenu, closeMenu };
97118
},
98119
});
99120
</script>

src/views/components/SidebarWrapper.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div :class="tw`relative text-white!`">
2+
<div :class="tw`relative block lg:hidden`">
33
<transition
44
:enter-active-class="tw`duration-150 ease-out`"
55
:enter-from-class="tw`scale-95 opacity-0`"

0 commit comments

Comments
 (0)