@pablo2410/shared-ui 0.8.0 → 0.9.0
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/chunk-4ATPOBMZ.js +442 -0
- package/dist/chunk-4ATPOBMZ.js.map +1 -0
- package/dist/{chunk-GU3OMCTY.js → chunk-RQEAFIJQ.js} +219 -158
- package/dist/chunk-RQEAFIJQ.js.map +1 -0
- package/dist/hierarchy/index.d.ts +9 -1
- package/dist/hierarchy/index.js +7 -431
- package/dist/hierarchy/index.js.map +1 -1
- package/dist/layout/index.d.ts +17 -1
- package/dist/layout/index.js +5 -1
- package/dist/shell/index.js +3 -1
- package/dist/shell/index.js.map +1 -1
- package/dist/shell/oplytics-shell.css +1 -1
- package/package.json +1 -1
- package/dist/chunk-GU3OMCTY.js.map +0 -1
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
readActiveEnterpriseCookie
|
|
3
|
+
} from "./chunk-4ATPOBMZ.js";
|
|
1
4
|
import {
|
|
2
5
|
Avatar,
|
|
3
6
|
AvatarFallback,
|
|
@@ -130,8 +133,58 @@ function HealthFooter({
|
|
|
130
133
|
);
|
|
131
134
|
}
|
|
132
135
|
|
|
133
|
-
// src/layout/
|
|
136
|
+
// src/layout/EnterpriseDebugLabel.tsx
|
|
137
|
+
import { useEffect as useEffect2, useState as useState2 } from "react";
|
|
134
138
|
import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
139
|
+
function EnterpriseDebugLabel({
|
|
140
|
+
selectionEnterpriseId,
|
|
141
|
+
cookieEnterpriseName,
|
|
142
|
+
className
|
|
143
|
+
}) {
|
|
144
|
+
const [cookieId, setCookieId] = useState2(null);
|
|
145
|
+
useEffect2(() => {
|
|
146
|
+
const read = () => setCookieId(readActiveEnterpriseCookie());
|
|
147
|
+
read();
|
|
148
|
+
window.addEventListener("focus", read);
|
|
149
|
+
document.addEventListener("visibilitychange", read);
|
|
150
|
+
return () => {
|
|
151
|
+
window.removeEventListener("focus", read);
|
|
152
|
+
document.removeEventListener("visibilitychange", read);
|
|
153
|
+
};
|
|
154
|
+
}, []);
|
|
155
|
+
const cookieNum = cookieId !== null && cookieId !== "" ? Number(cookieId) : null;
|
|
156
|
+
const hasSelection = selectionEnterpriseId !== void 0 && selectionEnterpriseId !== null;
|
|
157
|
+
const mismatch = hasSelection && cookieNum !== null && cookieNum !== selectionEnterpriseId;
|
|
158
|
+
const noActive = cookieNum === null;
|
|
159
|
+
return /* @__PURE__ */ jsxs2(
|
|
160
|
+
"div",
|
|
161
|
+
{
|
|
162
|
+
className: cn(
|
|
163
|
+
"flex items-center gap-1.5 px-2 py-1 rounded-md border font-mono text-[10px] leading-none whitespace-nowrap",
|
|
164
|
+
mismatch ? "bg-[#EF4444]/15 border-[#EF4444]/40 text-[#FCA5A5]" : noActive ? "bg-[#F59E0B]/15 border-[#F59E0B]/40 text-[#FCD34D]" : "bg-[#10B981]/10 border-[#10B981]/30 text-[#6EE7B7]",
|
|
165
|
+
className
|
|
166
|
+
),
|
|
167
|
+
title: "TEMP DIAGNOSTIC: enterprise the loaded data is scoped to (cookie) vs. the UI hierarchy selection. Remove once subdomain data issue is fixed.",
|
|
168
|
+
children: [
|
|
169
|
+
/* @__PURE__ */ jsx2("span", { "aria-hidden": true, children: "\u{1F50D}" }),
|
|
170
|
+
noActive ? /* @__PURE__ */ jsx2("span", { children: "no active enterprise (cookie unset)" }) : /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
171
|
+
/* @__PURE__ */ jsxs2("span", { children: [
|
|
172
|
+
"data ENT #",
|
|
173
|
+
cookieNum,
|
|
174
|
+
cookieEnterpriseName ? ` \xB7 ${cookieEnterpriseName}` : ""
|
|
175
|
+
] }),
|
|
176
|
+
hasSelection && /* @__PURE__ */ jsxs2("span", { children: [
|
|
177
|
+
mismatch ? " \u26A0 \u2260 sel #" : " \xB7 sel #",
|
|
178
|
+
selectionEnterpriseId
|
|
179
|
+
] })
|
|
180
|
+
] })
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// src/layout/DashboardLayout.tsx
|
|
187
|
+
import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
135
188
|
var DEFAULT_SERVICE_HUB_URL = "https://portal.oplytics.digital/app";
|
|
136
189
|
var DEFAULT_USER_SETTINGS_URL = "https://portal.oplytics.digital/account";
|
|
137
190
|
function UserMenu({
|
|
@@ -140,17 +193,17 @@ function UserMenu({
|
|
|
140
193
|
userSettingsUrl = DEFAULT_USER_SETTINGS_URL
|
|
141
194
|
}) {
|
|
142
195
|
const initials = (user.name || "U").split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2);
|
|
143
|
-
return /* @__PURE__ */
|
|
144
|
-
/* @__PURE__ */
|
|
145
|
-
/* @__PURE__ */
|
|
146
|
-
/* @__PURE__ */
|
|
196
|
+
return /* @__PURE__ */ jsxs3(DropdownMenu, { children: [
|
|
197
|
+
/* @__PURE__ */ jsx3(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs3("button", { className: "flex items-center gap-2 rounded-md px-2 py-1 hover:bg-[#1E2738] transition-colors outline-none focus-visible:ring-1 focus-visible:ring-[#8C34E9]", children: [
|
|
198
|
+
/* @__PURE__ */ jsx3(Avatar, { className: "h-7 w-7 border border-[#2A2A3E]", children: /* @__PURE__ */ jsx3(AvatarFallback, { className: "text-[10px] font-medium bg-[#8C34E9]/20 text-[#C084FC]", children: initials }) }),
|
|
199
|
+
/* @__PURE__ */ jsx3("span", { className: "hidden md:block text-xs text-[#E2E8F0] truncate max-w-[100px]", children: user.name || "User" })
|
|
147
200
|
] }) }),
|
|
148
|
-
/* @__PURE__ */
|
|
149
|
-
/* @__PURE__ */
|
|
150
|
-
/* @__PURE__ */
|
|
151
|
-
/* @__PURE__ */
|
|
201
|
+
/* @__PURE__ */ jsxs3(DropdownMenuContent, { align: "end", className: "w-48 bg-[#0D1220] border-[#1E2738]", children: [
|
|
202
|
+
/* @__PURE__ */ jsxs3("div", { className: "px-3 py-2 border-b border-[#1E2738]", children: [
|
|
203
|
+
/* @__PURE__ */ jsx3("p", { className: "text-xs font-medium text-[#E2E8F0] truncate", children: user.name }),
|
|
204
|
+
/* @__PURE__ */ jsx3("p", { className: "text-[10px] text-[#596475] truncate", children: user.role })
|
|
152
205
|
] }),
|
|
153
|
-
/* @__PURE__ */
|
|
206
|
+
/* @__PURE__ */ jsxs3(
|
|
154
207
|
DropdownMenuItem,
|
|
155
208
|
{
|
|
156
209
|
onClick: () => {
|
|
@@ -158,19 +211,19 @@ function UserMenu({
|
|
|
158
211
|
},
|
|
159
212
|
className: "text-xs text-[#E2E8F0] hover:bg-[#1E2738] cursor-pointer focus:bg-[#1E2738]",
|
|
160
213
|
children: [
|
|
161
|
-
/* @__PURE__ */
|
|
214
|
+
/* @__PURE__ */ jsx3(Settings, { className: "h-3.5 w-3.5 mr-2 text-[#8890A0]" }),
|
|
162
215
|
"User Settings"
|
|
163
216
|
]
|
|
164
217
|
}
|
|
165
218
|
),
|
|
166
|
-
/* @__PURE__ */
|
|
167
|
-
/* @__PURE__ */
|
|
219
|
+
/* @__PURE__ */ jsx3(DropdownMenuSeparator, { className: "bg-[#1E2738]" }),
|
|
220
|
+
/* @__PURE__ */ jsxs3(
|
|
168
221
|
DropdownMenuItem,
|
|
169
222
|
{
|
|
170
223
|
onClick: () => onLogout?.(),
|
|
171
224
|
className: "text-xs text-[#EF4444] hover:bg-[#EF4444]/10 cursor-pointer focus:bg-[#EF4444]/10 focus:text-[#EF4444]",
|
|
172
225
|
children: [
|
|
173
|
-
/* @__PURE__ */
|
|
226
|
+
/* @__PURE__ */ jsx3(LogOut, { className: "h-3.5 w-3.5 mr-2" }),
|
|
174
227
|
"Sign Out"
|
|
175
228
|
]
|
|
176
229
|
}
|
|
@@ -180,9 +233,9 @@ function UserMenu({
|
|
|
180
233
|
}
|
|
181
234
|
function EnterpriseBadge({ enterprise }) {
|
|
182
235
|
if (!enterprise) return null;
|
|
183
|
-
return /* @__PURE__ */
|
|
184
|
-
/* @__PURE__ */
|
|
185
|
-
/* @__PURE__ */
|
|
236
|
+
return /* @__PURE__ */ jsxs3("div", { className: "hidden lg:flex items-center gap-1.5 px-2 py-1 rounded-md bg-[#8C34E9]/10 border border-[#8C34E9]/20", children: [
|
|
237
|
+
/* @__PURE__ */ jsx3("div", { className: "h-4 w-4 rounded-sm bg-[#8C34E9]/30 flex items-center justify-center", children: /* @__PURE__ */ jsx3("span", { className: "text-[8px] font-bold text-[#C084FC]", children: enterprise.name.charAt(0).toUpperCase() }) }),
|
|
238
|
+
/* @__PURE__ */ jsx3("span", { className: "text-[10px] font-medium text-[#C084FC] truncate max-w-[80px]", children: enterprise.code || enterprise.name })
|
|
186
239
|
] });
|
|
187
240
|
}
|
|
188
241
|
function NavSection({
|
|
@@ -193,12 +246,12 @@ function NavSection({
|
|
|
193
246
|
onNavigate
|
|
194
247
|
}) {
|
|
195
248
|
const label = section.title ?? section.label;
|
|
196
|
-
return /* @__PURE__ */
|
|
197
|
-
label && /* @__PURE__ */
|
|
198
|
-
/* @__PURE__ */
|
|
249
|
+
return /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
250
|
+
label && /* @__PURE__ */ jsx3("div", { className: cn("px-4 py-2", marginTop && "mt-2"), children: !isCollapsed && /* @__PURE__ */ jsx3("span", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider", children: label }) }),
|
|
251
|
+
/* @__PURE__ */ jsx3(SidebarMenu, { className: "px-2 py-1", children: section.items.map((item) => {
|
|
199
252
|
const active = resolveActive(item.path);
|
|
200
253
|
const Icon = item.icon;
|
|
201
|
-
return /* @__PURE__ */
|
|
254
|
+
return /* @__PURE__ */ jsx3(SidebarMenuItem, { children: /* @__PURE__ */ jsxs3(
|
|
202
255
|
SidebarMenuButton,
|
|
203
256
|
{
|
|
204
257
|
isActive: active,
|
|
@@ -206,8 +259,8 @@ function NavSection({
|
|
|
206
259
|
tooltip: item.label,
|
|
207
260
|
className: "h-10 transition-all font-normal",
|
|
208
261
|
children: [
|
|
209
|
-
Icon && /* @__PURE__ */
|
|
210
|
-
/* @__PURE__ */
|
|
262
|
+
Icon && /* @__PURE__ */ jsx3(Icon, { className: cn("h-4 w-4", active && "text-primary") }),
|
|
263
|
+
/* @__PURE__ */ jsx3("span", { children: item.label })
|
|
211
264
|
]
|
|
212
265
|
}
|
|
213
266
|
) }, item.path);
|
|
@@ -239,25 +292,25 @@ function DashboardShell({
|
|
|
239
292
|
const isCollapsed = state === "collapsed";
|
|
240
293
|
const navigate = onNavigate;
|
|
241
294
|
const resolveActive = (path) => isActive ? isActive(path, activePath) : isMenuItemActive(path, activePath);
|
|
242
|
-
return /* @__PURE__ */
|
|
243
|
-
/* @__PURE__ */
|
|
244
|
-
/* @__PURE__ */
|
|
245
|
-
/* @__PURE__ */
|
|
295
|
+
return /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
296
|
+
/* @__PURE__ */ jsxs3(Sidebar, { collapsible: "icon", className: "border-r-0", children: [
|
|
297
|
+
/* @__PURE__ */ jsx3(SidebarHeader, { className: "h-16 justify-center", children: /* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-3 px-2 transition-all w-full", children: [
|
|
298
|
+
/* @__PURE__ */ jsx3(
|
|
246
299
|
"button",
|
|
247
300
|
{
|
|
248
301
|
onClick: toggleSidebar,
|
|
249
302
|
className: "h-8 w-8 flex items-center justify-center hover:bg-accent rounded-lg transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ring shrink-0",
|
|
250
303
|
"aria-label": "Toggle navigation",
|
|
251
|
-
children: /* @__PURE__ */
|
|
304
|
+
children: /* @__PURE__ */ jsx3(PanelLeft, { className: "h-4 w-4 text-muted-foreground" })
|
|
252
305
|
}
|
|
253
306
|
),
|
|
254
|
-
!isCollapsed ? /* @__PURE__ */
|
|
255
|
-
serviceIcon && /* @__PURE__ */
|
|
256
|
-
/* @__PURE__ */
|
|
307
|
+
!isCollapsed ? /* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-2 min-w-0", children: [
|
|
308
|
+
serviceIcon && /* @__PURE__ */ jsx3("span", { className: "text-[#8C34E9] shrink-0", children: serviceIcon }),
|
|
309
|
+
/* @__PURE__ */ jsx3("span", { className: "font-semibold tracking-tight truncate", children: serviceName })
|
|
257
310
|
] }) : null
|
|
258
311
|
] }) }),
|
|
259
|
-
/* @__PURE__ */
|
|
260
|
-
serviceHubUrl && /* @__PURE__ */
|
|
312
|
+
/* @__PURE__ */ jsxs3(SidebarContent, { className: "gap-0", children: [
|
|
313
|
+
serviceHubUrl && /* @__PURE__ */ jsx3(SidebarMenu, { className: "px-2 pt-2 pb-1", children: /* @__PURE__ */ jsx3(SidebarMenuItem, { children: /* @__PURE__ */ jsxs3(
|
|
261
314
|
SidebarMenuButton,
|
|
262
315
|
{
|
|
263
316
|
onClick: () => {
|
|
@@ -266,12 +319,12 @@ function DashboardShell({
|
|
|
266
319
|
tooltip: "Back to Service Hub",
|
|
267
320
|
className: "h-10 transition-all font-normal text-muted-foreground hover:text-foreground",
|
|
268
321
|
children: [
|
|
269
|
-
/* @__PURE__ */
|
|
270
|
-
/* @__PURE__ */
|
|
322
|
+
/* @__PURE__ */ jsx3(ArrowLeft, { className: "h-4 w-4" }),
|
|
323
|
+
/* @__PURE__ */ jsx3("span", { children: "Service Hub" })
|
|
271
324
|
]
|
|
272
325
|
}
|
|
273
326
|
) }) }),
|
|
274
|
-
menuSections.map((section, i) => /* @__PURE__ */
|
|
327
|
+
menuSections.map((section, i) => /* @__PURE__ */ jsx3(
|
|
275
328
|
NavSection,
|
|
276
329
|
{
|
|
277
330
|
section,
|
|
@@ -281,7 +334,7 @@ function DashboardShell({
|
|
|
281
334
|
},
|
|
282
335
|
section.title ?? section.label ?? `section-${i}`
|
|
283
336
|
)),
|
|
284
|
-
isAdmin && adminSections?.map((section, i) => /* @__PURE__ */
|
|
337
|
+
isAdmin && adminSections?.map((section, i) => /* @__PURE__ */ jsx3(
|
|
285
338
|
NavSection,
|
|
286
339
|
{
|
|
287
340
|
section,
|
|
@@ -293,21 +346,21 @@ function DashboardShell({
|
|
|
293
346
|
section.title ?? section.label ?? `admin-${i}`
|
|
294
347
|
))
|
|
295
348
|
] }),
|
|
296
|
-
settingsPath && /* @__PURE__ */
|
|
349
|
+
settingsPath && /* @__PURE__ */ jsx3(SidebarFooter, { className: "p-2", children: /* @__PURE__ */ jsx3(SidebarMenu, { children: /* @__PURE__ */ jsx3(SidebarMenuItem, { children: /* @__PURE__ */ jsxs3(
|
|
297
350
|
SidebarMenuButton,
|
|
298
351
|
{
|
|
299
352
|
onClick: () => navigate(settingsPath),
|
|
300
353
|
tooltip: "Settings",
|
|
301
354
|
className: "h-10 transition-all font-normal text-muted-foreground hover:text-foreground",
|
|
302
355
|
children: [
|
|
303
|
-
/* @__PURE__ */
|
|
304
|
-
/* @__PURE__ */
|
|
356
|
+
/* @__PURE__ */ jsx3(Settings, { className: "h-4 w-4" }),
|
|
357
|
+
/* @__PURE__ */ jsx3("span", { children: "Settings" })
|
|
305
358
|
]
|
|
306
359
|
}
|
|
307
360
|
) }) }) })
|
|
308
361
|
] }),
|
|
309
|
-
/* @__PURE__ */
|
|
310
|
-
/* @__PURE__ */
|
|
362
|
+
/* @__PURE__ */ jsxs3(SidebarInset, { children: [
|
|
363
|
+
/* @__PURE__ */ jsxs3(
|
|
311
364
|
"header",
|
|
312
365
|
{
|
|
313
366
|
className: cn(
|
|
@@ -317,35 +370,42 @@ function DashboardShell({
|
|
|
317
370
|
"sticky top-0 z-40"
|
|
318
371
|
),
|
|
319
372
|
children: [
|
|
320
|
-
/* @__PURE__ */
|
|
321
|
-
/* @__PURE__ */
|
|
322
|
-
serviceIcon && /* @__PURE__ */
|
|
323
|
-
hierarchyNavigator && /* @__PURE__ */
|
|
373
|
+
/* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: [
|
|
374
|
+
/* @__PURE__ */ jsx3(SidebarTrigger, { className: "h-9 w-9 rounded-lg bg-background shrink-0 md:hidden" }),
|
|
375
|
+
serviceIcon && /* @__PURE__ */ jsx3("span", { className: "text-[#8C34E9] shrink-0 hidden sm:block", children: serviceIcon }),
|
|
376
|
+
hierarchyNavigator && /* @__PURE__ */ jsx3("div", { className: "min-w-0 overflow-x-auto scrollbar-none", children: hierarchyNavigator })
|
|
324
377
|
] }),
|
|
325
|
-
/* @__PURE__ */
|
|
378
|
+
/* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-2 shrink-0", children: [
|
|
326
379
|
reportingToolbar,
|
|
327
|
-
/* @__PURE__ */
|
|
328
|
-
|
|
329
|
-
|
|
380
|
+
/* @__PURE__ */ jsx3(
|
|
381
|
+
EnterpriseDebugLabel,
|
|
382
|
+
{
|
|
383
|
+
selectionEnterpriseId: enterprise?.id ?? null,
|
|
384
|
+
cookieEnterpriseName: enterprise?.name ?? null
|
|
385
|
+
}
|
|
386
|
+
),
|
|
387
|
+
/* @__PURE__ */ jsx3(EnterpriseBadge, { enterprise }),
|
|
388
|
+
/* @__PURE__ */ jsx3("div", { className: "w-px h-6 bg-[#1E2738] hidden md:block" }),
|
|
389
|
+
user && /* @__PURE__ */ jsx3(UserMenu, { user, onLogout, userSettingsUrl })
|
|
330
390
|
] })
|
|
331
391
|
]
|
|
332
392
|
}
|
|
333
393
|
),
|
|
334
|
-
/* @__PURE__ */
|
|
394
|
+
/* @__PURE__ */ jsx3("main", { className: "flex-1 p-4 md:p-6 pb-14", children })
|
|
335
395
|
] }),
|
|
336
396
|
footer,
|
|
337
|
-
showHealthFooter && user?.role === "platform_admin" && /* @__PURE__ */
|
|
397
|
+
showHealthFooter && user?.role === "platform_admin" && /* @__PURE__ */ jsx3(HealthFooter, { user, enterprise })
|
|
338
398
|
] });
|
|
339
399
|
}
|
|
340
400
|
function DashboardLayout(props) {
|
|
341
401
|
const isMobile = useIsMobile();
|
|
342
|
-
return /* @__PURE__ */
|
|
402
|
+
return /* @__PURE__ */ jsx3(SidebarProvider, { defaultOpen: props.defaultOpen ?? !isMobile, children: /* @__PURE__ */ jsx3(DashboardShell, { ...props }) });
|
|
343
403
|
}
|
|
344
404
|
|
|
345
405
|
// src/layout/DashboardLayoutSkeleton.tsx
|
|
346
|
-
import { jsx as
|
|
406
|
+
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
347
407
|
function Skeleton({ className }) {
|
|
348
|
-
return /* @__PURE__ */
|
|
408
|
+
return /* @__PURE__ */ jsx4(
|
|
349
409
|
"div",
|
|
350
410
|
{
|
|
351
411
|
className: cn(
|
|
@@ -356,47 +416,47 @@ function Skeleton({ className }) {
|
|
|
356
416
|
);
|
|
357
417
|
}
|
|
358
418
|
function DashboardLayoutSkeleton({ className }) {
|
|
359
|
-
return /* @__PURE__ */
|
|
360
|
-
/* @__PURE__ */
|
|
361
|
-
/* @__PURE__ */
|
|
362
|
-
/* @__PURE__ */
|
|
363
|
-
/* @__PURE__ */
|
|
419
|
+
return /* @__PURE__ */ jsxs4("div", { className: cn("flex min-h-screen bg-[#0A0E1A]", className), children: [
|
|
420
|
+
/* @__PURE__ */ jsxs4("div", { className: "w-[260px] border-r border-[#1E2738] bg-[#0D1220] p-4 space-y-6", children: [
|
|
421
|
+
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-3 px-2", children: [
|
|
422
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-8 w-8 rounded-md" }),
|
|
423
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-4 w-24" })
|
|
364
424
|
] }),
|
|
365
|
-
/* @__PURE__ */
|
|
366
|
-
/* @__PURE__ */
|
|
367
|
-
/* @__PURE__ */
|
|
368
|
-
/* @__PURE__ */
|
|
369
|
-
/* @__PURE__ */
|
|
425
|
+
/* @__PURE__ */ jsxs4("div", { className: "space-y-2 px-2", children: [
|
|
426
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-9 w-full rounded-lg" }),
|
|
427
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-9 w-full rounded-lg" }),
|
|
428
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-9 w-full rounded-lg" }),
|
|
429
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-9 w-full rounded-lg" })
|
|
370
430
|
] }),
|
|
371
|
-
/* @__PURE__ */
|
|
372
|
-
/* @__PURE__ */
|
|
373
|
-
/* @__PURE__ */
|
|
374
|
-
/* @__PURE__ */
|
|
431
|
+
/* @__PURE__ */ jsxs4("div", { className: "px-2", children: [
|
|
432
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-3 w-16 mb-3" }),
|
|
433
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-9 w-full rounded-lg" }),
|
|
434
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-9 w-full rounded-lg mt-2" })
|
|
375
435
|
] }),
|
|
376
|
-
/* @__PURE__ */
|
|
377
|
-
/* @__PURE__ */
|
|
378
|
-
/* @__PURE__ */
|
|
379
|
-
/* @__PURE__ */
|
|
380
|
-
/* @__PURE__ */
|
|
436
|
+
/* @__PURE__ */ jsx4("div", { className: "absolute bottom-4 left-4 right-4", children: /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-3 px-1", children: [
|
|
437
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-8 w-8 rounded-full" }),
|
|
438
|
+
/* @__PURE__ */ jsxs4("div", { className: "flex-1 space-y-2", children: [
|
|
439
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-3 w-20" }),
|
|
440
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-2 w-32" })
|
|
381
441
|
] })
|
|
382
442
|
] }) })
|
|
383
443
|
] }),
|
|
384
|
-
/* @__PURE__ */
|
|
385
|
-
/* @__PURE__ */
|
|
386
|
-
/* @__PURE__ */
|
|
387
|
-
/* @__PURE__ */
|
|
444
|
+
/* @__PURE__ */ jsxs4("div", { className: "flex-1 p-6 space-y-4", children: [
|
|
445
|
+
/* @__PURE__ */ jsxs4("div", { className: "flex items-center justify-between", children: [
|
|
446
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-8 w-48 rounded-lg" }),
|
|
447
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-9 w-24 rounded-lg" })
|
|
388
448
|
] }),
|
|
389
|
-
/* @__PURE__ */
|
|
390
|
-
/* @__PURE__ */
|
|
391
|
-
/* @__PURE__ */
|
|
392
|
-
/* @__PURE__ */
|
|
393
|
-
/* @__PURE__ */
|
|
449
|
+
/* @__PURE__ */ jsxs4("div", { className: "grid gap-4 md:grid-cols-2 lg:grid-cols-4", children: [
|
|
450
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-24 rounded-xl" }),
|
|
451
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-24 rounded-xl" }),
|
|
452
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-24 rounded-xl" }),
|
|
453
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-24 rounded-xl" })
|
|
394
454
|
] }),
|
|
395
|
-
/* @__PURE__ */
|
|
396
|
-
/* @__PURE__ */
|
|
397
|
-
/* @__PURE__ */
|
|
398
|
-
/* @__PURE__ */
|
|
399
|
-
/* @__PURE__ */
|
|
455
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-64 rounded-xl" }),
|
|
456
|
+
/* @__PURE__ */ jsxs4("div", { className: "space-y-2", children: [
|
|
457
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-10 w-full rounded-lg" }),
|
|
458
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-10 w-full rounded-lg" }),
|
|
459
|
+
/* @__PURE__ */ jsx4(Skeleton, { className: "h-10 w-full rounded-lg" })
|
|
400
460
|
] })
|
|
401
461
|
] })
|
|
402
462
|
] });
|
|
@@ -404,7 +464,7 @@ function DashboardLayoutSkeleton({ className }) {
|
|
|
404
464
|
|
|
405
465
|
// src/layout/SharedPageHeader.tsx
|
|
406
466
|
import { ChevronLeft } from "lucide-react";
|
|
407
|
-
import { jsx as
|
|
467
|
+
import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
408
468
|
function SharedPageHeader({
|
|
409
469
|
title,
|
|
410
470
|
subtitle,
|
|
@@ -417,7 +477,7 @@ function SharedPageHeader({
|
|
|
417
477
|
className,
|
|
418
478
|
children
|
|
419
479
|
}) {
|
|
420
|
-
return /* @__PURE__ */
|
|
480
|
+
return /* @__PURE__ */ jsxs5(
|
|
421
481
|
"div",
|
|
422
482
|
{
|
|
423
483
|
className: cn(
|
|
@@ -427,10 +487,10 @@ function SharedPageHeader({
|
|
|
427
487
|
className
|
|
428
488
|
),
|
|
429
489
|
children: [
|
|
430
|
-
breadcrumbs && /* @__PURE__ */
|
|
431
|
-
/* @__PURE__ */
|
|
432
|
-
/* @__PURE__ */
|
|
433
|
-
onBack && /* @__PURE__ */
|
|
490
|
+
breadcrumbs && /* @__PURE__ */ jsx5("div", { className: cn("mb-2", compact && "mb-1"), children: breadcrumbs }),
|
|
491
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex items-center justify-between gap-4", children: [
|
|
492
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-3 min-w-0", children: [
|
|
493
|
+
onBack && /* @__PURE__ */ jsx5(
|
|
434
494
|
"button",
|
|
435
495
|
{
|
|
436
496
|
onClick: onBack,
|
|
@@ -441,12 +501,12 @@ function SharedPageHeader({
|
|
|
441
501
|
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[#8C34E9]"
|
|
442
502
|
),
|
|
443
503
|
"aria-label": "Go back",
|
|
444
|
-
children: /* @__PURE__ */
|
|
504
|
+
children: /* @__PURE__ */ jsx5(ChevronLeft, { className: compact ? "h-4 w-4" : "h-5 w-5" })
|
|
445
505
|
}
|
|
446
506
|
),
|
|
447
|
-
icon && /* @__PURE__ */
|
|
448
|
-
/* @__PURE__ */
|
|
449
|
-
/* @__PURE__ */
|
|
507
|
+
icon && /* @__PURE__ */ jsx5("div", { className: "shrink-0 text-[#8C34E9]", children: icon }),
|
|
508
|
+
/* @__PURE__ */ jsxs5("div", { className: "min-w-0", children: [
|
|
509
|
+
/* @__PURE__ */ jsx5(
|
|
450
510
|
"h1",
|
|
451
511
|
{
|
|
452
512
|
className: cn(
|
|
@@ -457,7 +517,7 @@ function SharedPageHeader({
|
|
|
457
517
|
children: title
|
|
458
518
|
}
|
|
459
519
|
),
|
|
460
|
-
subtitle && /* @__PURE__ */
|
|
520
|
+
subtitle && /* @__PURE__ */ jsx5(
|
|
461
521
|
"p",
|
|
462
522
|
{
|
|
463
523
|
className: cn(
|
|
@@ -470,16 +530,16 @@ function SharedPageHeader({
|
|
|
470
530
|
)
|
|
471
531
|
] })
|
|
472
532
|
] }),
|
|
473
|
-
actions && /* @__PURE__ */
|
|
533
|
+
actions && /* @__PURE__ */ jsx5("div", { className: "shrink-0 flex items-center gap-2", children: actions })
|
|
474
534
|
] }),
|
|
475
|
-
children && /* @__PURE__ */
|
|
535
|
+
children && /* @__PURE__ */ jsx5("div", { className: cn("mt-3", compact && "mt-2"), children })
|
|
476
536
|
]
|
|
477
537
|
}
|
|
478
538
|
);
|
|
479
539
|
}
|
|
480
540
|
|
|
481
541
|
// src/layout/SharedFooter.tsx
|
|
482
|
-
import { jsx as
|
|
542
|
+
import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
483
543
|
var FOOTER_SERVICES = [
|
|
484
544
|
{ name: "SQDCP", slug: "sqdcp", localRoute: "/services/sqdcp", externalUrl: "https://sqdcp.oplytics.digital" },
|
|
485
545
|
{ name: "OEE Manager", slug: "oee-manager", localRoute: "/services/oee-manager", externalUrl: "https://oee.oplytics.digital" },
|
|
@@ -501,7 +561,7 @@ function SharedFooter({
|
|
|
501
561
|
year
|
|
502
562
|
}) {
|
|
503
563
|
const currentYear = year ?? (/* @__PURE__ */ new Date()).getFullYear();
|
|
504
|
-
return /* @__PURE__ */
|
|
564
|
+
return /* @__PURE__ */ jsx6(
|
|
505
565
|
"footer",
|
|
506
566
|
{
|
|
507
567
|
className: cn(
|
|
@@ -510,25 +570,25 @@ function SharedFooter({
|
|
|
510
570
|
"font-[Space_Grotesk,sans-serif]",
|
|
511
571
|
className
|
|
512
572
|
),
|
|
513
|
-
children: /* @__PURE__ */
|
|
514
|
-
/* @__PURE__ */
|
|
515
|
-
/* @__PURE__ */
|
|
516
|
-
/* @__PURE__ */
|
|
517
|
-
/* @__PURE__ */
|
|
573
|
+
children: /* @__PURE__ */ jsxs6("div", { className: "max-w-7xl mx-auto px-6 py-10", children: [
|
|
574
|
+
/* @__PURE__ */ jsxs6("div", { className: "grid grid-cols-1 md:grid-cols-4 gap-8 mb-8", children: [
|
|
575
|
+
/* @__PURE__ */ jsxs6("div", { className: "md:col-span-1", children: [
|
|
576
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-2 mb-3", children: [
|
|
577
|
+
/* @__PURE__ */ jsx6(
|
|
518
578
|
"div",
|
|
519
579
|
{
|
|
520
580
|
className: "w-7 h-7 rounded-full flex items-center justify-center",
|
|
521
581
|
style: { background: "#8C34E9" },
|
|
522
|
-
children: /* @__PURE__ */
|
|
582
|
+
children: /* @__PURE__ */ jsx6("span", { className: "text-white font-bold text-xs", children: "O" })
|
|
523
583
|
}
|
|
524
584
|
),
|
|
525
|
-
/* @__PURE__ */
|
|
585
|
+
/* @__PURE__ */ jsx6("span", { className: "text-[#E2E8F0] font-semibold text-sm font-[Montserrat,sans-serif]", children: "Oplytics.digital" })
|
|
526
586
|
] }),
|
|
527
|
-
/* @__PURE__ */
|
|
587
|
+
/* @__PURE__ */ jsx6("p", { className: "text-xs text-[#596475] leading-relaxed", children: "Operational intelligence platform for manufacturing excellence." })
|
|
528
588
|
] }),
|
|
529
|
-
/* @__PURE__ */
|
|
530
|
-
/* @__PURE__ */
|
|
531
|
-
/* @__PURE__ */
|
|
589
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
590
|
+
/* @__PURE__ */ jsx6("h4", { className: "text-[#E2E8F0] font-medium text-xs uppercase tracking-wider mb-3 font-[Montserrat,sans-serif]", children: "Services" }),
|
|
591
|
+
/* @__PURE__ */ jsx6("ul", { className: "space-y-2", children: services.map((service) => /* @__PURE__ */ jsx6("li", { children: /* @__PURE__ */ jsx6(
|
|
532
592
|
"a",
|
|
533
593
|
{
|
|
534
594
|
href: useExternalUrls && service.externalUrl ? service.externalUrl : service.localRoute,
|
|
@@ -538,10 +598,10 @@ function SharedFooter({
|
|
|
538
598
|
}
|
|
539
599
|
) }, service.slug)) })
|
|
540
600
|
] }),
|
|
541
|
-
/* @__PURE__ */
|
|
542
|
-
/* @__PURE__ */
|
|
543
|
-
/* @__PURE__ */
|
|
544
|
-
showPricing && /* @__PURE__ */
|
|
601
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
602
|
+
/* @__PURE__ */ jsx6("h4", { className: "text-[#E2E8F0] font-medium text-xs uppercase tracking-wider mb-3 font-[Montserrat,sans-serif]", children: "Company" }),
|
|
603
|
+
/* @__PURE__ */ jsxs6("ul", { className: "space-y-2", children: [
|
|
604
|
+
showPricing && /* @__PURE__ */ jsx6("li", { children: /* @__PURE__ */ jsx6(
|
|
545
605
|
"a",
|
|
546
606
|
{
|
|
547
607
|
href: "/pricing",
|
|
@@ -550,7 +610,7 @@ function SharedFooter({
|
|
|
550
610
|
children: "Pricing"
|
|
551
611
|
}
|
|
552
612
|
) }),
|
|
553
|
-
/* @__PURE__ */
|
|
613
|
+
/* @__PURE__ */ jsx6("li", { children: /* @__PURE__ */ jsx6(
|
|
554
614
|
"a",
|
|
555
615
|
{
|
|
556
616
|
href: "/about",
|
|
@@ -558,7 +618,7 @@ function SharedFooter({
|
|
|
558
618
|
children: "About"
|
|
559
619
|
}
|
|
560
620
|
) }),
|
|
561
|
-
/* @__PURE__ */
|
|
621
|
+
/* @__PURE__ */ jsx6("li", { children: /* @__PURE__ */ jsx6(
|
|
562
622
|
"a",
|
|
563
623
|
{
|
|
564
624
|
href: "/contact",
|
|
@@ -568,10 +628,10 @@ function SharedFooter({
|
|
|
568
628
|
) })
|
|
569
629
|
] })
|
|
570
630
|
] }),
|
|
571
|
-
/* @__PURE__ */
|
|
572
|
-
/* @__PURE__ */
|
|
573
|
-
/* @__PURE__ */
|
|
574
|
-
/* @__PURE__ */
|
|
631
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
632
|
+
/* @__PURE__ */ jsx6("h4", { className: "text-[#E2E8F0] font-medium text-xs uppercase tracking-wider mb-3 font-[Montserrat,sans-serif]", children: "Legal" }),
|
|
633
|
+
/* @__PURE__ */ jsxs6("ul", { className: "space-y-2", children: [
|
|
634
|
+
/* @__PURE__ */ jsx6("li", { children: /* @__PURE__ */ jsx6(
|
|
575
635
|
"a",
|
|
576
636
|
{
|
|
577
637
|
href: "/privacy",
|
|
@@ -579,7 +639,7 @@ function SharedFooter({
|
|
|
579
639
|
children: "Privacy Policy"
|
|
580
640
|
}
|
|
581
641
|
) }),
|
|
582
|
-
/* @__PURE__ */
|
|
642
|
+
/* @__PURE__ */ jsx6("li", { children: /* @__PURE__ */ jsx6(
|
|
583
643
|
"a",
|
|
584
644
|
{
|
|
585
645
|
href: "/terms",
|
|
@@ -588,7 +648,7 @@ function SharedFooter({
|
|
|
588
648
|
}
|
|
589
649
|
) })
|
|
590
650
|
] }),
|
|
591
|
-
showSignIn && /* @__PURE__ */
|
|
651
|
+
showSignIn && /* @__PURE__ */ jsx6("div", { className: "mt-4", children: /* @__PURE__ */ jsx6(
|
|
592
652
|
"a",
|
|
593
653
|
{
|
|
594
654
|
href: "/login",
|
|
@@ -600,14 +660,14 @@ function SharedFooter({
|
|
|
600
660
|
] })
|
|
601
661
|
] }),
|
|
602
662
|
children,
|
|
603
|
-
/* @__PURE__ */
|
|
604
|
-
/* @__PURE__ */
|
|
663
|
+
/* @__PURE__ */ jsxs6("div", { className: "pt-6 border-t border-[#1E2738] flex flex-col sm:flex-row items-center justify-between gap-3", children: [
|
|
664
|
+
/* @__PURE__ */ jsxs6("p", { className: "text-xs text-[#596475]", children: [
|
|
605
665
|
"\xA9 ",
|
|
606
666
|
currentYear,
|
|
607
667
|
" Oplytics.digital. All rights reserved."
|
|
608
668
|
] }),
|
|
609
|
-
/* @__PURE__ */
|
|
610
|
-
typeof __APP_VERSION__ !== "undefined" && /* @__PURE__ */
|
|
669
|
+
/* @__PURE__ */ jsx6("p", { className: "text-xs text-[#3E4A5C]", children: "Built for manufacturing excellence" }),
|
|
670
|
+
typeof __APP_VERSION__ !== "undefined" && /* @__PURE__ */ jsxs6("p", { className: "text-xs text-[#3E4A5C]", children: [
|
|
611
671
|
"Platform v",
|
|
612
672
|
__APP_VERSION__
|
|
613
673
|
] })
|
|
@@ -618,7 +678,7 @@ function SharedFooter({
|
|
|
618
678
|
}
|
|
619
679
|
|
|
620
680
|
// src/layout/ServiceFooter.tsx
|
|
621
|
-
import { Fragment as
|
|
681
|
+
import { Fragment as Fragment3, jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
622
682
|
var ENV_LABELS = {
|
|
623
683
|
production: { label: "prod", color: "#10b981" },
|
|
624
684
|
staging: { label: "stg", color: "#f59e0b" },
|
|
@@ -637,7 +697,7 @@ function ServiceFooter({
|
|
|
637
697
|
const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
638
698
|
const env = environment ? ENV_LABELS[environment] : null;
|
|
639
699
|
const version = buildVersion ?? (typeof __APP_VERSION__ !== "undefined" ? __APP_VERSION__ : void 0);
|
|
640
|
-
return /* @__PURE__ */
|
|
700
|
+
return /* @__PURE__ */ jsxs7(
|
|
641
701
|
"footer",
|
|
642
702
|
{
|
|
643
703
|
className: cn(
|
|
@@ -648,60 +708,60 @@ function ServiceFooter({
|
|
|
648
708
|
className
|
|
649
709
|
),
|
|
650
710
|
children: [
|
|
651
|
-
/* @__PURE__ */
|
|
652
|
-
/* @__PURE__ */
|
|
711
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex items-center gap-2 min-w-0", children: [
|
|
712
|
+
/* @__PURE__ */ jsx7(
|
|
653
713
|
"div",
|
|
654
714
|
{
|
|
655
715
|
className: "w-5 h-5 rounded-full flex items-center justify-center shrink-0",
|
|
656
716
|
style: { background: "#8C34E9" },
|
|
657
|
-
children: /* @__PURE__ */
|
|
717
|
+
children: /* @__PURE__ */ jsx7("span", { className: "text-white font-bold", style: { fontSize: 9 }, children: "O" })
|
|
658
718
|
}
|
|
659
719
|
),
|
|
660
|
-
/* @__PURE__ */
|
|
720
|
+
/* @__PURE__ */ jsx7("span", { className: "text-[10px] text-[#596475] whitespace-nowrap hidden sm:inline", children: "Operational Excellence. One Digital Platform." })
|
|
661
721
|
] }),
|
|
662
|
-
showHealthMonitor && /* @__PURE__ */
|
|
663
|
-
enterpriseName && /* @__PURE__ */
|
|
664
|
-
/* @__PURE__ */
|
|
665
|
-
/* @__PURE__ */
|
|
666
|
-
enterpriseId != null && /* @__PURE__ */
|
|
722
|
+
showHealthMonitor && /* @__PURE__ */ jsxs7("div", { className: "flex items-center gap-1.5 text-[10px] text-[#3E4A5C] min-w-0 overflow-hidden", children: [
|
|
723
|
+
enterpriseName && /* @__PURE__ */ jsxs7(Fragment3, { children: [
|
|
724
|
+
/* @__PURE__ */ jsxs7("span", { className: "whitespace-nowrap", children: [
|
|
725
|
+
/* @__PURE__ */ jsx7("span", { className: "text-[#596475]", children: enterpriseName }),
|
|
726
|
+
enterpriseId != null && /* @__PURE__ */ jsxs7("span", { className: "text-[#3E4A5C]", children: [
|
|
667
727
|
" (",
|
|
668
728
|
enterpriseId,
|
|
669
729
|
")"
|
|
670
730
|
] })
|
|
671
731
|
] }),
|
|
672
|
-
/* @__PURE__ */
|
|
732
|
+
/* @__PURE__ */ jsx7(Separator, {})
|
|
673
733
|
] }),
|
|
674
|
-
userEmail && /* @__PURE__ */
|
|
675
|
-
/* @__PURE__ */
|
|
676
|
-
userRole && /* @__PURE__ */
|
|
734
|
+
userEmail && /* @__PURE__ */ jsxs7(Fragment3, { children: [
|
|
735
|
+
/* @__PURE__ */ jsx7("span", { className: "whitespace-nowrap text-[#596475]", children: userEmail }),
|
|
736
|
+
userRole && /* @__PURE__ */ jsxs7("span", { className: "text-[#3E4A5C]", children: [
|
|
677
737
|
" (",
|
|
678
738
|
userRole,
|
|
679
739
|
")"
|
|
680
740
|
] }),
|
|
681
|
-
/* @__PURE__ */
|
|
741
|
+
/* @__PURE__ */ jsx7(Separator, {})
|
|
682
742
|
] }),
|
|
683
|
-
env && /* @__PURE__ */
|
|
684
|
-
/* @__PURE__ */
|
|
743
|
+
env && /* @__PURE__ */ jsxs7(Fragment3, { children: [
|
|
744
|
+
/* @__PURE__ */ jsxs7("span", { className: "whitespace-nowrap", children: [
|
|
685
745
|
"ENV:",
|
|
686
746
|
" ",
|
|
687
|
-
/* @__PURE__ */
|
|
747
|
+
/* @__PURE__ */ jsx7("span", { style: { color: env.color }, className: "font-semibold", children: env.label })
|
|
688
748
|
] }),
|
|
689
|
-
/* @__PURE__ */
|
|
749
|
+
/* @__PURE__ */ jsx7(Separator, {})
|
|
690
750
|
] }),
|
|
691
|
-
version && /* @__PURE__ */
|
|
751
|
+
version && /* @__PURE__ */ jsxs7("span", { className: "whitespace-nowrap text-[#3E4A5C] font-mono", children: [
|
|
692
752
|
"v.",
|
|
693
753
|
version
|
|
694
754
|
] })
|
|
695
755
|
] }),
|
|
696
|
-
/* @__PURE__ */
|
|
697
|
-
/* @__PURE__ */
|
|
756
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex items-center gap-2 text-[10px] text-[#3E4A5C] whitespace-nowrap shrink-0", children: [
|
|
757
|
+
/* @__PURE__ */ jsxs7("span", { children: [
|
|
698
758
|
"\xA9 ",
|
|
699
759
|
currentYear,
|
|
700
760
|
" Oplytics.digital"
|
|
701
761
|
] }),
|
|
702
|
-
!showHealthMonitor && version && /* @__PURE__ */
|
|
703
|
-
/* @__PURE__ */
|
|
704
|
-
/* @__PURE__ */
|
|
762
|
+
!showHealthMonitor && version && /* @__PURE__ */ jsxs7(Fragment3, { children: [
|
|
763
|
+
/* @__PURE__ */ jsx7(Separator, {}),
|
|
764
|
+
/* @__PURE__ */ jsxs7("span", { className: "font-mono", children: [
|
|
705
765
|
"v.",
|
|
706
766
|
version
|
|
707
767
|
] })
|
|
@@ -712,7 +772,7 @@ function ServiceFooter({
|
|
|
712
772
|
);
|
|
713
773
|
}
|
|
714
774
|
function Separator() {
|
|
715
|
-
return /* @__PURE__ */
|
|
775
|
+
return /* @__PURE__ */ jsx7("span", { className: "text-[#1E2738] select-none", "aria-hidden": true, children: "|" });
|
|
716
776
|
}
|
|
717
777
|
|
|
718
778
|
// src/layout/createServiceLayout.tsx
|
|
@@ -881,6 +941,7 @@ export {
|
|
|
881
941
|
isMenuItemActive,
|
|
882
942
|
useSidebarResize,
|
|
883
943
|
HealthFooter,
|
|
944
|
+
EnterpriseDebugLabel,
|
|
884
945
|
DashboardLayout,
|
|
885
946
|
DashboardLayoutSkeleton,
|
|
886
947
|
SharedPageHeader,
|
|
@@ -895,4 +956,4 @@ export {
|
|
|
895
956
|
policyDeploymentConfig,
|
|
896
957
|
SERVICE_CONFIGS
|
|
897
958
|
};
|
|
898
|
-
//# sourceMappingURL=chunk-
|
|
959
|
+
//# sourceMappingURL=chunk-RQEAFIJQ.js.map
|