File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 5757 import GlobalSearch from " @/components/GlobalSearch.vue" ;
5858 import Content from " @/components/Content.vue" ;
5959 import MenuItem from " @/components/MenuItem.vue" ;
60+ import { Separator } from " @/components/ui/separator" ;
6061
6162 const dialogs = useDialogs ();
6263 const menu = useMenu ();
9192
9293<template >
9394 <ConfigProvider >
94- <SidebarProvider >
95+ <SidebarProvider persist >
9596 <template v-if =" auth ()?.user " >
9697 <Sidebar >
9798 <SidebarHeader class =" p-4 h-14 items-start justify-center" >
252253 <template v-if =" auth ()?.user " >
253254 <SidebarTrigger class =" -ml-1 shrink-0" />
254255 </template >
256+ <Separator
257+ orientation =" vertical"
258+ class =" mr-2 data-[orientation=vertical]:h-4"
259+ />
255260 <div class =" min-w-0 flex-1 lg:flex-initial" >
256261 <slot name =" breadcrumb" />
257262 </div >
Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ const delegatedProps = computed(() => {
1616 <Separator
1717 v-bind =" delegatedProps"
1818 :class =" cn('shrink-0 bg-border', props.orientation === 'vertical' ? 'w-px h-full' : 'h-px w-full', props.class)"
19+ :data-orientation =" props.orientation"
1920 >
2021 <slot />
2122 </Separator >
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ const props = withDefaults(defineProps<{
99 defaultOpen? : boolean
1010 open? : boolean
1111 class? : HTMLAttributes [' class' ]
12+ persist? : boolean ,
1213}>(), {
1314 defaultOpen: true ,
1415 open: undefined ,
@@ -20,17 +21,19 @@ const emits = defineEmits<{
2021
2122const isMobile = useMediaQuery (' (max-width: 768px)' )
2223const openMobile = ref (false )
24+ const defaultOpen = props .persist ? localStorage .getItem (' sidebar-open' ) !== ' false' : props .defaultOpen
2325
2426const open = useVModel (props , ' open' , emits , {
25- defaultValue: props . defaultOpen ?? false ,
27+ defaultValue: defaultOpen ,
2628 passive: (props .open === undefined ) as false ,
2729}) as Ref <boolean >
2830
2931function setOpen(value : boolean ) {
3032 open .value = value // emits('update:open', value)
3133
34+ localStorage .setItem (' sidebar-open' , value .toString ());
3235 // This sets the cookie to keep the sidebar state.
33- document .cookie = ` ${SIDEBAR_COOKIE_NAME }=${open .value }; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE } `
36+ // document.cookie = `${SIDEBAR_COOKIE_NAME}=${open.value}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`
3437}
3538
3639function setOpenMobile(value : boolean ) {
You can’t perform that action at this time.
0 commit comments