@greatapps/greatauth-ui 0.3.10 → 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 +18 -10
- 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 +6 -6
- 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,10 +1013,10 @@ 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: [
|
|
1009
|
-
config.appIcon,
|
|
1010
|
-
/* @__PURE__ */ jsx12("span", { className: "font-semibold", children: config.appName }),
|
|
1011
|
-
config.appBadge && /* @__PURE__ */ jsx12(Badge, { variant: "destructive", children: config.appBadge })
|
|
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: [
|
|
1017
|
+
/* @__PURE__ */ jsx12("div", { className: "shrink-0", children: config.appIcon }),
|
|
1018
|
+
/* @__PURE__ */ jsx12("span", { className: "font-semibold truncate group-data-[collapsible=icon]:hidden", children: config.appName }),
|
|
1019
|
+
config.appBadge && /* @__PURE__ */ jsx12(Badge, { variant: "destructive", className: "group-data-[collapsible=icon]:hidden", children: config.appBadge })
|
|
1012
1020
|
] }) }) }) }) }),
|
|
1013
1021
|
/* @__PURE__ */ jsx12(SidebarContent, { children: config.menuGroups.map((group) => /* @__PURE__ */ jsxs5(SidebarGroup, { children: [
|
|
1014
1022
|
/* @__PURE__ */ jsx12(SidebarGroupLabel, { children: group.label }),
|
|
@@ -1022,11 +1030,11 @@ function AppSidebar({ config }) {
|
|
|
1022
1030
|
userImage && /* @__PURE__ */ jsx12(AvatarImage, { src: userImage, alt: userName }),
|
|
1023
1031
|
/* @__PURE__ */ jsx12(AvatarFallback, { children: initials })
|
|
1024
1032
|
] }),
|
|
1025
|
-
/* @__PURE__ */ jsxs5("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
|
|
1033
|
+
/* @__PURE__ */ jsxs5("div", { className: "grid flex-1 text-left text-sm leading-tight group-data-[collapsible=icon]:hidden", children: [
|
|
1026
1034
|
/* @__PURE__ */ jsx12("span", { className: "truncate font-semibold", children: userName }),
|
|
1027
1035
|
/* @__PURE__ */ jsx12("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
|
|
1028
1036
|
] }),
|
|
1029
|
-
/* @__PURE__ */ jsx12(ChevronUp, { className: "ml-auto size-4" })
|
|
1037
|
+
/* @__PURE__ */ jsx12(ChevronUp, { className: "ml-auto size-4 group-data-[collapsible=icon]:hidden" })
|
|
1030
1038
|
] }) }),
|
|
1031
1039
|
/* @__PURE__ */ jsxs5(
|
|
1032
1040
|
DropdownMenuContent,
|