fix: sidebar cookie handling (#469)

This commit is contained in:
shadcn 2024-10-30 20:05:30 +04:00 committed by GitHub
commit dce1314084
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -81,16 +81,15 @@ const SidebarProvider = React.forwardRef<
const open = openProp ?? _open;
const setOpen = React.useCallback(
(value: boolean | ((value: boolean) => boolean)) => {
const openState = typeof value === 'function' ? value(open) : value;
if (setOpenProp) {
return setOpenProp?.(
typeof value === 'function' ? value(open) : value
);
setOpenProp(openState);
} else {
_setOpen(openState);
}
_setOpen(value);
// This sets the cookie to keep the sidebar state.
document.cookie = `${SIDEBAR_COOKIE_NAME}=${open}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
},
[setOpenProp, open]
);