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