@logickernel/bridge 0.9.8 → 0.9.9
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/next/components.cjs
CHANGED
|
@@ -445,14 +445,14 @@ function SidebarTrigger({
|
|
|
445
445
|
"data-slot": "sidebar-trigger",
|
|
446
446
|
variant: "ghost",
|
|
447
447
|
size: "icon",
|
|
448
|
-
className: cn("size-7"
|
|
448
|
+
className: cn(className, "size-7"),
|
|
449
449
|
onClick: (event) => {
|
|
450
450
|
onClick?.(event);
|
|
451
451
|
toggleSidebar();
|
|
452
452
|
},
|
|
453
453
|
...props,
|
|
454
454
|
children: [
|
|
455
|
-
/* @__PURE__ */ jsxRuntime.jsx(LucideIcons.
|
|
455
|
+
/* @__PURE__ */ jsxRuntime.jsx(LucideIcons.MenuIcon, {}),
|
|
456
456
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
457
457
|
]
|
|
458
458
|
}
|
|
@@ -484,12 +484,11 @@ function SidebarRail({ className, ...props }) {
|
|
|
484
484
|
}
|
|
485
485
|
function SidebarInset({ className, ...props }) {
|
|
486
486
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
487
|
-
"
|
|
487
|
+
"div",
|
|
488
488
|
{
|
|
489
489
|
"data-slot": "sidebar-inset",
|
|
490
490
|
className: cn(
|
|
491
491
|
"bg-background relative flex w-full flex-1 flex-col",
|
|
492
|
-
"px-4",
|
|
493
492
|
"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
|
|
494
493
|
className
|
|
495
494
|
),
|
|
@@ -757,6 +756,7 @@ function getIconComponent(icon) {
|
|
|
757
756
|
}
|
|
758
757
|
function NavMain({ items }) {
|
|
759
758
|
const pathname = navigation.usePathname();
|
|
759
|
+
const { isMobile, setOpenMobile } = useSidebar();
|
|
760
760
|
if (typeof window !== "undefined" && process.env.NODE_ENV === "development") {
|
|
761
761
|
console.log("[NavMain] Received items:", {
|
|
762
762
|
itemsCount: items.length,
|
|
@@ -856,7 +856,18 @@ function NavMain({ items }) {
|
|
|
856
856
|
]
|
|
857
857
|
}
|
|
858
858
|
) }),
|
|
859
|
-
/* @__PURE__ */ jsxRuntime.jsx(CollapsibleContent2, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuSub, { children: item.items?.map((subItem) => /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuSubItem, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuSubButton, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
859
|
+
/* @__PURE__ */ jsxRuntime.jsx(CollapsibleContent2, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuSub, { children: item.items?.map((subItem) => /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuSubItem, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuSubButton, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
860
|
+
Link__default.default,
|
|
861
|
+
{
|
|
862
|
+
href: subItem.url,
|
|
863
|
+
onClick: () => {
|
|
864
|
+
if (isMobile) {
|
|
865
|
+
setOpenMobile(false);
|
|
866
|
+
}
|
|
867
|
+
},
|
|
868
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: subItem.title })
|
|
869
|
+
}
|
|
870
|
+
) }) }, subItem.title)) }) })
|
|
860
871
|
] })
|
|
861
872
|
},
|
|
862
873
|
item.title
|
|
@@ -868,10 +879,21 @@ function NavMain({ items }) {
|
|
|
868
879
|
asChild: true,
|
|
869
880
|
tooltip: item.title,
|
|
870
881
|
isActive,
|
|
871
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
882
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
883
|
+
Link__default.default,
|
|
884
|
+
{
|
|
885
|
+
href: item.url,
|
|
886
|
+
onClick: () => {
|
|
887
|
+
if (isMobile) {
|
|
888
|
+
setOpenMobile(false);
|
|
889
|
+
}
|
|
890
|
+
},
|
|
891
|
+
children: [
|
|
892
|
+
item.icon && /* @__PURE__ */ jsxRuntime.jsx(item.icon, {}),
|
|
893
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: item.title })
|
|
894
|
+
]
|
|
895
|
+
}
|
|
896
|
+
)
|
|
875
897
|
}
|
|
876
898
|
) }, item.title);
|
|
877
899
|
}) })
|
|
@@ -1109,11 +1131,19 @@ function TeamSwitcher({
|
|
|
1109
1131
|
const isAppOrgRoute = pathname.startsWith("/app/") && pathSegments.length > 2 && pathSegments[2] !== "user";
|
|
1110
1132
|
const pathOrgId = isAppOrgRoute ? pathSegments[2] : null;
|
|
1111
1133
|
const currentOrgId = organizationId || (pathOrgId && teams.some((team) => team.id === pathOrgId) ? pathOrgId : null);
|
|
1112
|
-
const activeTeam = currentOrgId ? teams.find((team) => team.id === currentOrgId) : null;
|
|
1113
1134
|
const handleTeamChange = (teamId) => {
|
|
1135
|
+
if (isMobile && sidebar?.setOpenMobile) {
|
|
1136
|
+
sidebar.setOpenMobile(false);
|
|
1137
|
+
}
|
|
1114
1138
|
router.push(`/app/${teamId}/home`);
|
|
1115
1139
|
router.refresh();
|
|
1116
1140
|
};
|
|
1141
|
+
const handleManageOrganizations = () => {
|
|
1142
|
+
if (isMobile && sidebar?.setOpenMobile) {
|
|
1143
|
+
sidebar.setOpenMobile(false);
|
|
1144
|
+
}
|
|
1145
|
+
router.push("/app/user/organizations");
|
|
1146
|
+
};
|
|
1117
1147
|
const teamsWithLogo = teams.map((org) => {
|
|
1118
1148
|
const logoIcon = org.logo ? getIconComponent(org.logo) : LucideIcons.GalleryVerticalEnd;
|
|
1119
1149
|
return {
|
|
@@ -1123,6 +1153,7 @@ function TeamSwitcher({
|
|
|
1123
1153
|
plan: org.plan || "Member"
|
|
1124
1154
|
};
|
|
1125
1155
|
});
|
|
1156
|
+
const activeTeamWithLogo = currentOrgId ? teamsWithLogo.find((team) => team.id === currentOrgId) : null;
|
|
1126
1157
|
if (teamsWithLogo.length === 0) {
|
|
1127
1158
|
return /* @__PURE__ */ jsxRuntime.jsx(SidebarMenu, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(SidebarMenuButton, { size: "lg", className: "cursor-default", children: [
|
|
1128
1159
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-muted flex aspect-square size-8 items-center justify-center rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.GalleryVerticalEnd, { className: "size-4 text-muted-foreground" }) }),
|
|
@@ -1132,70 +1163,6 @@ function TeamSwitcher({
|
|
|
1132
1163
|
] })
|
|
1133
1164
|
] }) }) });
|
|
1134
1165
|
}
|
|
1135
|
-
if (!activeTeam) {
|
|
1136
|
-
return /* @__PURE__ */ jsxRuntime.jsx(SidebarMenu, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
|
|
1137
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1138
|
-
SidebarMenuButton,
|
|
1139
|
-
{
|
|
1140
|
-
size: "lg",
|
|
1141
|
-
className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
|
|
1142
|
-
children: [
|
|
1143
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-muted flex aspect-square size-8 items-center justify-center rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.GalleryVerticalEnd, { className: "size-4 text-muted-foreground" }) }),
|
|
1144
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
|
|
1145
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-medium", children: "Organizations" }),
|
|
1146
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate text-xs text-muted-foreground", children: [
|
|
1147
|
-
teamsWithLogo.length,
|
|
1148
|
-
" available"
|
|
1149
|
-
] })
|
|
1150
|
-
] }),
|
|
1151
|
-
/* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronsUpDown, { className: "ml-auto" })
|
|
1152
|
-
]
|
|
1153
|
-
}
|
|
1154
|
-
) }),
|
|
1155
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1156
|
-
DropdownMenuContent,
|
|
1157
|
-
{
|
|
1158
|
-
className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg",
|
|
1159
|
-
align: "start",
|
|
1160
|
-
side: isMobile ? "bottom" : "right",
|
|
1161
|
-
sideOffset: 4,
|
|
1162
|
-
children: [
|
|
1163
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel, { className: "text-muted-foreground text-xs", children: "Select an organization" }),
|
|
1164
|
-
teamsWithLogo.map((team) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1165
|
-
DropdownMenuItem,
|
|
1166
|
-
{
|
|
1167
|
-
onClick: () => handleTeamChange(team.id),
|
|
1168
|
-
className: "gap-2 p-2",
|
|
1169
|
-
children: [
|
|
1170
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-6 items-center justify-center rounded-md border", children: /* @__PURE__ */ jsxRuntime.jsx(team.logo, { className: "size-3.5 shrink-0" }) }),
|
|
1171
|
-
team.name
|
|
1172
|
-
]
|
|
1173
|
-
},
|
|
1174
|
-
team.id
|
|
1175
|
-
)),
|
|
1176
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
1177
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1178
|
-
DropdownMenuItem,
|
|
1179
|
-
{
|
|
1180
|
-
className: "gap-2 p-2",
|
|
1181
|
-
onClick: () => router.push("/app/user/organizations"),
|
|
1182
|
-
children: [
|
|
1183
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-6 items-center justify-center rounded-md border bg-transparent", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.GalleryVerticalEnd, { className: "size-4" }) }),
|
|
1184
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground font-medium", children: "Manage organizations" })
|
|
1185
|
-
]
|
|
1186
|
-
}
|
|
1187
|
-
)
|
|
1188
|
-
]
|
|
1189
|
-
}
|
|
1190
|
-
)
|
|
1191
|
-
] }) }) });
|
|
1192
|
-
}
|
|
1193
|
-
const activeTeamWithLogo = teamsWithLogo.find(
|
|
1194
|
-
(team) => team.id === currentOrgId
|
|
1195
|
-
);
|
|
1196
|
-
if (!activeTeamWithLogo) {
|
|
1197
|
-
return null;
|
|
1198
|
-
}
|
|
1199
1166
|
return /* @__PURE__ */ jsxRuntime.jsx(SidebarMenu, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
|
|
1200
1167
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1201
1168
|
SidebarMenuButton,
|
|
@@ -1203,10 +1170,18 @@ function TeamSwitcher({
|
|
|
1203
1170
|
size: "lg",
|
|
1204
1171
|
className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
|
|
1205
1172
|
children: [
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-medium", children: activeTeamWithLogo.name })
|
|
1209
|
-
|
|
1173
|
+
activeTeamWithLogo ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1174
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(activeTeamWithLogo.logo, { className: "size-4" }) }),
|
|
1175
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid flex-1 text-left text-sm leading-tight", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-medium", children: activeTeamWithLogo.name }) })
|
|
1176
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1177
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-muted flex aspect-square size-8 items-center justify-center rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.GalleryVerticalEnd, { className: "size-4 text-muted-foreground" }) }),
|
|
1178
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
|
|
1179
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-medium", children: "Organizations" }),
|
|
1180
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate text-xs text-muted-foreground", children: [
|
|
1181
|
+
teamsWithLogo.length,
|
|
1182
|
+
" available"
|
|
1183
|
+
] })
|
|
1184
|
+
] })
|
|
1210
1185
|
] }),
|
|
1211
1186
|
/* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronsUpDown, { className: "ml-auto" })
|
|
1212
1187
|
]
|
|
@@ -1220,7 +1195,7 @@ function TeamSwitcher({
|
|
|
1220
1195
|
side: isMobile ? "bottom" : "right",
|
|
1221
1196
|
sideOffset: 4,
|
|
1222
1197
|
children: [
|
|
1223
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel, { className: "text-muted-foreground text-xs", children: "Organizations" }),
|
|
1198
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel, { className: "text-muted-foreground text-xs", children: activeTeamWithLogo ? "Organizations" : "Select an organization" }),
|
|
1224
1199
|
teamsWithLogo.map((team) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1225
1200
|
DropdownMenuItem,
|
|
1226
1201
|
{
|
|
@@ -1239,7 +1214,7 @@ function TeamSwitcher({
|
|
|
1239
1214
|
DropdownMenuItem,
|
|
1240
1215
|
{
|
|
1241
1216
|
className: "gap-2 p-2",
|
|
1242
|
-
onClick:
|
|
1217
|
+
onClick: handleManageOrganizations,
|
|
1243
1218
|
children: [
|
|
1244
1219
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-6 items-center justify-center rounded-md border bg-transparent", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.GalleryVerticalEnd, { className: "size-4" }) }),
|
|
1245
1220
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground font-medium", children: "Manage organizations" })
|
|
@@ -1267,16 +1242,12 @@ function useNavigation({
|
|
|
1267
1242
|
enabled,
|
|
1268
1243
|
organizationId,
|
|
1269
1244
|
apiBaseUrl,
|
|
1270
|
-
willFetch: enabled
|
|
1245
|
+
willFetch: enabled
|
|
1271
1246
|
});
|
|
1272
1247
|
}
|
|
1273
|
-
if (!enabled
|
|
1248
|
+
if (!enabled) {
|
|
1274
1249
|
if (typeof window !== "undefined" && process.env.NODE_ENV === "development") {
|
|
1275
|
-
console.log("[useNavigation] Skipping fetch:"
|
|
1276
|
-
reason: !enabled ? "disabled" : "no organizationId",
|
|
1277
|
-
enabled,
|
|
1278
|
-
organizationId
|
|
1279
|
-
});
|
|
1250
|
+
console.log("[useNavigation] Skipping fetch: disabled");
|
|
1280
1251
|
}
|
|
1281
1252
|
setItems([]);
|
|
1282
1253
|
setOrganizations([]);
|
|
@@ -1284,7 +1255,7 @@ function useNavigation({
|
|
|
1284
1255
|
return;
|
|
1285
1256
|
}
|
|
1286
1257
|
const fetchNavigation = async () => {
|
|
1287
|
-
const url = `${apiBaseUrl}/navigation/${organizationId}`;
|
|
1258
|
+
const url = organizationId ? `${apiBaseUrl}/navigation/${organizationId}` : `${apiBaseUrl}/navigation`;
|
|
1288
1259
|
if (typeof window !== "undefined" && process.env.NODE_ENV === "development") {
|
|
1289
1260
|
console.log("[useNavigation] Fetching navigation:", url);
|
|
1290
1261
|
}
|
|
@@ -1312,7 +1283,8 @@ function useNavigation({
|
|
|
1312
1283
|
console.log("[useNavigation] Navigation data received:", {
|
|
1313
1284
|
itemsCount: data.items?.length || 0,
|
|
1314
1285
|
organizationsCount: data.organizations?.length || 0,
|
|
1315
|
-
hasUser: !!data.user
|
|
1286
|
+
hasUser: !!data.user,
|
|
1287
|
+
organizationId: data.organizationId
|
|
1316
1288
|
});
|
|
1317
1289
|
}
|
|
1318
1290
|
setItems(data.items || []);
|
|
@@ -1464,6 +1436,22 @@ function AppSidebar({
|
|
|
1464
1436
|
/* @__PURE__ */ jsxRuntime.jsx(SidebarRail, {})
|
|
1465
1437
|
] });
|
|
1466
1438
|
}
|
|
1439
|
+
function AppHeader() {
|
|
1440
|
+
const { isMobile } = useSidebar();
|
|
1441
|
+
if (!isMobile) {
|
|
1442
|
+
return null;
|
|
1443
|
+
}
|
|
1444
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("header", { className: "p-2 relative flex items-center justify-center", children: [
|
|
1445
|
+
/* @__PURE__ */ jsxRuntime.jsx(SidebarTrigger, { className: "absolute left-2" }),
|
|
1446
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-sans text-xl", children: "Random Truffle" })
|
|
1447
|
+
] });
|
|
1448
|
+
}
|
|
1449
|
+
function SidebarContent2({ children }) {
|
|
1450
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1451
|
+
/* @__PURE__ */ jsxRuntime.jsx(AppHeader, {}),
|
|
1452
|
+
/* @__PURE__ */ jsxRuntime.jsx("main", { className: "px-4 py-2 md:py-4", children })
|
|
1453
|
+
] });
|
|
1454
|
+
}
|
|
1467
1455
|
function AppLayout({
|
|
1468
1456
|
user,
|
|
1469
1457
|
organizationId,
|
|
@@ -1479,10 +1467,7 @@ function AppLayout({
|
|
|
1479
1467
|
apiBaseUrl
|
|
1480
1468
|
}
|
|
1481
1469
|
),
|
|
1482
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1483
|
-
/* @__PURE__ */ jsxRuntime.jsx(SidebarTrigger, {}),
|
|
1484
|
-
children
|
|
1485
|
-
] })
|
|
1470
|
+
/* @__PURE__ */ jsxRuntime.jsx(SidebarInset, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarContent2, { children }) })
|
|
1486
1471
|
] });
|
|
1487
1472
|
}
|
|
1488
1473
|
|