@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 +13 -5
- package/dist/index.js.map +1 -1
- package/dist/ui.js +12 -4
- package/dist/ui.js.map +1 -1
- package/package.json +1 -1
- package/src/components/app-sidebar.tsx +1 -1
- package/src/components/ui/sidebar.tsx +9 -5
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
|
|
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(
|
|
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
|
-
|
|
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 })
|