@greatapps/greatauth-ui 0.3.11 → 0.3.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -359,8 +359,7 @@ function Skeleton({ className, ...props }) {
359
359
 
360
360
  // src/components/ui/sidebar.tsx
361
361
  import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
362
- var SIDEBAR_COOKIE_NAME = "sidebar_state";
363
- var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
362
+ var SIDEBAR_STORAGE_KEY = "sidebar_state";
364
363
  var SIDEBAR_WIDTH = "16rem";
365
364
  var SIDEBAR_WIDTH_MOBILE = "18rem";
366
365
  var SIDEBAR_WIDTH_ICON = "3rem";
@@ -384,7 +383,13 @@ function SidebarProvider({
384
383
  }) {
385
384
  const isMobile = useIsMobile();
386
385
  const [openMobile, setOpenMobile] = React.useState(false);
387
- const [_open, _setOpen] = React.useState(defaultOpen);
386
+ const [_open, _setOpen] = React.useState(() => {
387
+ if (typeof window === "undefined") return defaultOpen;
388
+ const stored = localStorage.getItem(SIDEBAR_STORAGE_KEY);
389
+ if (stored === "true") return true;
390
+ if (stored === "false") return false;
391
+ return defaultOpen;
392
+ });
388
393
  const open = openProp ?? _open;
389
394
  const setOpen = React.useCallback(
390
395
  (value) => {
@@ -394,7 +399,10 @@ function SidebarProvider({
394
399
  } else {
395
400
  _setOpen(openState);
396
401
  }
397
- document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
402
+ try {
403
+ localStorage.setItem(SIDEBAR_STORAGE_KEY, String(openState));
404
+ } catch {
405
+ }
398
406
  },
399
407
  [setOpenProp, open]
400
408
  );
@@ -1005,7 +1013,7 @@ function AppSidebar({ config }) {
1005
1013
  const userImage = session?.user?.image || "";
1006
1014
  const initials = getUserInitials(userName, userEmail);
1007
1015
  return /* @__PURE__ */ jsxs5(Sidebar, { collapsible: "icon", children: [
1008
- /* @__PURE__ */ jsx12(SidebarHeader, { children: /* @__PURE__ */ jsx12(SidebarMenu, { children: /* @__PURE__ */ jsx12(SidebarMenuItem, { children: /* @__PURE__ */ jsx12(SidebarMenuButton, { size: "lg", asChild: true, children: /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2", children: [
1016
+ /* @__PURE__ */ jsx12(SidebarHeader, { children: /* @__PURE__ */ jsx12(SidebarMenu, { children: /* @__PURE__ */ jsx12(SidebarMenuItem, { children: /* @__PURE__ */ jsx12(SidebarMenuButton, { size: "lg", asChild: true, children: /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2 group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:gap-0", children: [
1009
1017
  /* @__PURE__ */ jsx12("div", { className: "shrink-0", children: config.appIcon }),
1010
1018
  /* @__PURE__ */ jsx12("span", { className: "font-semibold truncate group-data-[collapsible=icon]:hidden", children: config.appName }),
1011
1019
  config.appBadge && /* @__PURE__ */ jsx12(Badge, { variant: "destructive", className: "group-data-[collapsible=icon]:hidden", children: config.appBadge })