From 2d5ad5b962184308ae0eb80a82497fa0fa8e6cd4 Mon Sep 17 00:00:00 2001 From: Whbbit1999 <60510247+Whbbit1999@users.noreply.github.com> Date: Tue, 19 Nov 2024 14:51:24 +0800 Subject: [PATCH] fix: mobile sidebar component #840 (#884) * fix: sidebar component mobile #840 * chore: update new-york style too * chore: run registry build * revert: change in templates.ts --------- Co-authored-by: zernonia --- apps/www/src/lib/registry/default/ui/sidebar/Sidebar.vue | 1 + .../src/lib/registry/default/ui/sidebar/SidebarProvider.vue | 6 +++--- apps/www/src/lib/registry/new-york/ui/sidebar/Sidebar.vue | 1 + .../lib/registry/new-york/ui/sidebar/SidebarProvider.vue | 4 ++-- apps/www/src/public/registry/styles/default/sidebar.json | 4 ++-- apps/www/src/public/registry/styles/new-york/sidebar.json | 4 ++-- 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/apps/www/src/lib/registry/default/ui/sidebar/Sidebar.vue b/apps/www/src/lib/registry/default/ui/sidebar/Sidebar.vue index ebbdd30a..9f0aa2c7 100644 --- a/apps/www/src/lib/registry/default/ui/sidebar/Sidebar.vue +++ b/apps/www/src/lib/registry/default/ui/sidebar/Sidebar.vue @@ -36,6 +36,7 @@ const { isMobile, state, openMobile, setOpenMobile } = useSidebar() import { cn } from '@/lib/utils' -import { useEventListener, useVModel } from '@vueuse/core' +import { useEventListener, useMediaQuery, useVModel } from '@vueuse/core' import { TooltipProvider } from 'radix-vue' import { computed, type HTMLAttributes, type Ref, ref } from 'vue' import { provideSidebarContext, SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON } from './utils' @@ -18,7 +18,7 @@ const emits = defineEmits<{ 'update:open': [open: boolean] }>() -const isMobile = ref(false) // useIsMobile() +const isMobile = useMediaQuery('(max-width: 768px)') const openMobile = ref(false) const open = useVModel(props, 'open', emits, { @@ -39,7 +39,7 @@ function setOpenMobile(value: boolean) { // Helper to toggle the sidebar. function toggleSidebar() { - return isMobile.value ? setOpenMobile(!open.value) : setOpen(!open.value) + return isMobile.value ? setOpenMobile(!openMobile.value) : setOpen(!open.value) } useEventListener('keydown', (event: KeyboardEvent) => { diff --git a/apps/www/src/lib/registry/new-york/ui/sidebar/Sidebar.vue b/apps/www/src/lib/registry/new-york/ui/sidebar/Sidebar.vue index 30b2630a..0937ea45 100644 --- a/apps/www/src/lib/registry/new-york/ui/sidebar/Sidebar.vue +++ b/apps/www/src/lib/registry/new-york/ui/sidebar/Sidebar.vue @@ -36,6 +36,7 @@ const { isMobile, state, openMobile, setOpenMobile } = useSidebar() \nimport type { HTMLAttributes } from 'vue'\nimport Sheet from '@/lib/registry/default/ui/sheet/Sheet.vue'\nimport SheetContent from '@/lib/registry/default/ui/sheet/SheetContent.vue'\nimport { cn } from '@/lib/utils'\nimport { SIDEBAR_WIDTH_MOBILE, useSidebar } from './utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<{\n side?: 'left' | 'right'\n variant?: 'sidebar' | 'floating' | 'inset'\n collapsible?: 'offcanvas' | 'icon' | 'none'\n class?: HTMLAttributes['class']\n}>(), {\n side: 'left',\n variant: 'sidebar',\n collapsible: 'offcanvas',\n})\n\nconst { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n\n\n" + "content": "\n\n\n" }, { "name": "SidebarContent.vue", @@ -98,7 +98,7 @@ }, { "name": "SidebarProvider.vue", - "content": "\n\n\n" + "content": "\n\n\n" }, { "name": "SidebarRail.vue", diff --git a/apps/www/src/public/registry/styles/new-york/sidebar.json b/apps/www/src/public/registry/styles/new-york/sidebar.json index be0ccf58..d63bdbc3 100644 --- a/apps/www/src/public/registry/styles/new-york/sidebar.json +++ b/apps/www/src/public/registry/styles/new-york/sidebar.json @@ -18,7 +18,7 @@ "files": [ { "name": "Sidebar.vue", - "content": "\n\n\n" + "content": "\n\n\n" }, { "name": "SidebarContent.vue", @@ -98,7 +98,7 @@ }, { "name": "SidebarProvider.vue", - "content": "\n\n\n" + "content": "\n\n\n" }, { "name": "SidebarRail.vue",