File tree Expand file tree Collapse file tree 5 files changed +8
-14
lines changed Expand file tree Collapse file tree 5 files changed +8
-14
lines changed Original file line number Diff line number Diff line change @@ -50,6 +50,7 @@ public function share(Request $request): array
5050 ...(new Ziggy )->toArray (),
5151 'location ' => $ request ->url (),
5252 ],
53+ 'sidebarOpen ' => ! $ request ->hasCookie ('sidebar_state ' ) || $ request ->cookie ('sidebar_state ' ) === 'true ' ,
5354 ];
5455 }
5556}
Original file line number Diff line number Diff line change 1414 health: '/up ' ,
1515 )
1616 ->withMiddleware (function (Middleware $ middleware ) {
17- $ middleware ->encryptCookies (except: ['appearance ' ]);
17+ $ middleware ->encryptCookies (except: ['appearance ' , ' sidebar_state ' ]);
1818
1919 $ middleware ->web (append: [
2020 HandleAppearance::class,
Original file line number Diff line number Diff line change 11<script setup lang="ts">
22import { SidebarProvider } from ' @/components/ui/sidebar' ;
3- import { onMounted , ref } from ' vue' ;
3+ import { usePage } from ' @inertiajs/vue3' ;
4+ import { SharedData } from ' @/types' ;
45
56interface Props {
67 variant? : ' header' | ' sidebar' ;
78}
89
910defineProps <Props >();
1011
11- const isOpen = ref (true );
12-
13- onMounted (() => {
14- isOpen .value = localStorage .getItem (' sidebar' ) !== ' false' ;
15- });
16-
17- const handleSidebarChange = (open : boolean ) => {
18- isOpen .value = open ;
19- localStorage .setItem (' sidebar' , String (open ));
20- };
12+ const isOpen = usePage <SharedData >().props .sidebarOpen ;
2113 </script >
2214
2315<template >
2416 <div v-if =" variant === 'header'" class =" flex min-h-screen w-full flex-col" >
2517 <slot />
2618 </div >
27- <SidebarProvider v-else :default-open =" isOpen" :open = " isOpen " @update:open = " handleSidebarChange " >
19+ <SidebarProvider v-else :default-open =" isOpen" >
2820 <slot />
2921 </SidebarProvider >
3022</template >
Original file line number Diff line number Diff line change 11import { createContext } from 'radix-vue' ;
22import type { ComputedRef , Ref } from 'vue' ;
33
4- export const SIDEBAR_COOKIE_NAME = 'sidebar:state ' ;
4+ export const SIDEBAR_COOKIE_NAME = 'sidebar_state ' ;
55export const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7 ;
66export const SIDEBAR_WIDTH = '16rem' ;
77export const SIDEBAR_WIDTH_MOBILE = '18rem' ;
Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ export interface SharedData extends PageProps {
2323 quote : { message : string ; author : string } ;
2424 auth : Auth ;
2525 ziggy : Config & { location : string } ;
26+ sidebarOpen : boolean ;
2627}
2728
2829export interface User {
You can’t perform that action at this time.
0 commit comments