@burdenoff/microfe-channel 2026.624.3 → 2026.625.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/channel/modules/channels/pages/ChannelDashboardPage.js +108 -98
- package/dist/channel/modules/channels/pages/ChannelDashboardPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelDetailsPage.js +287 -277
- package/dist/channel/modules/channels/pages/ChannelDetailsPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelSettingsPage.js +140 -131
- package/dist/channel/modules/channels/pages/ChannelSettingsPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelUsersPage.js +170 -173
- package/dist/channel/modules/channels/pages/ChannelUsersPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelsListPage.js +127 -120
- package/dist/channel/modules/channels/pages/ChannelsListPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js +161 -155
- package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ConnectionsListPage.js +70 -68
- package/dist/channel/modules/channels/pages/ConnectionsListPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/CreateChannelPage.js +27 -24
- package/dist/channel/modules/channels/pages/CreateChannelPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/CreateConnectionPage.js +161 -156
- package/dist/channel/modules/channels/pages/CreateConnectionPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js +179 -182
- package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/EditChannelPage.js +130 -122
- package/dist/channel/modules/channels/pages/EditChannelPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/EditConnectionPage.js +137 -132
- package/dist/channel/modules/channels/pages/EditConnectionPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/SendMessagePage.js +87 -84
- package/dist/channel/modules/channels/pages/SendMessagePage.js.map +1 -1
- package/dist/channel/modules/channels/pages/WebhookEventsPage.js +193 -194
- package/dist/channel/modules/channels/pages/WebhookEventsPage.js.map +1 -1
- package/package.json +2 -2
|
@@ -12,8 +12,9 @@ import { Activity as oe, AlertCircle as p, AlertTriangle as m, Cable as h, Check
|
|
|
12
12
|
import { useNavigate as me } from "react-router-dom";
|
|
13
13
|
import { usePermissions as he } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
14
14
|
import { jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
15
|
+
import { CTAOverflowMenu as ge, GlassCard as E } from "@burdenoff/fe-libs/ui";
|
|
15
16
|
//#region src/channel/modules/channels/pages/ChannelDashboardPage.tsx
|
|
16
|
-
var
|
|
17
|
+
var D = {
|
|
17
18
|
EMAIL: {
|
|
18
19
|
label: "Email",
|
|
19
20
|
color: "bg-accent-blue-subtle text-accent-blue"
|
|
@@ -54,7 +55,7 @@ var E = {
|
|
|
54
55
|
label: "Webchat",
|
|
55
56
|
color: "bg-accent-teal-subtle text-accent-teal"
|
|
56
57
|
}
|
|
57
|
-
},
|
|
58
|
+
}, O = {
|
|
58
59
|
ACTIVE: {
|
|
59
60
|
label: "Active",
|
|
60
61
|
dotColor: "bg-status-success-bg",
|
|
@@ -85,7 +86,7 @@ var E = {
|
|
|
85
86
|
textColor: "text-text-secondary",
|
|
86
87
|
icon: b
|
|
87
88
|
}
|
|
88
|
-
},
|
|
89
|
+
}, k = {
|
|
89
90
|
HEALTHY: {
|
|
90
91
|
label: "Healthy",
|
|
91
92
|
color: "text-status-success-text",
|
|
@@ -107,7 +108,7 @@ var E = {
|
|
|
107
108
|
icon: _
|
|
108
109
|
}
|
|
109
110
|
};
|
|
110
|
-
function
|
|
111
|
+
function _e(e) {
|
|
111
112
|
let t = Date.now() - new Date(e).getTime();
|
|
112
113
|
if (Number.isNaN(t) || t < 0) return "just now";
|
|
113
114
|
let n = Math.floor(t / 1e3);
|
|
@@ -119,13 +120,14 @@ function ge(e) {
|
|
|
119
120
|
let a = Math.floor(i / 24);
|
|
120
121
|
return a < 7 ? `${a}d ago` : a < 30 ? `${Math.floor(a / 7)}w ago` : `${Math.floor(a / 30)}mo ago`;
|
|
121
122
|
}
|
|
122
|
-
function
|
|
123
|
-
return /* @__PURE__ */ T(
|
|
124
|
-
|
|
123
|
+
function A({ icon: e, iconClass: t, value: n, label: r, sub: i }) {
|
|
124
|
+
return /* @__PURE__ */ T(E, {
|
|
125
|
+
treatment: "metric",
|
|
126
|
+
className: "p-4 border-border-seam",
|
|
125
127
|
children: [/* @__PURE__ */ T("div", {
|
|
126
128
|
className: "flex items-center gap-3",
|
|
127
129
|
children: [/* @__PURE__ */ w("div", {
|
|
128
|
-
className: "p-2 rounded-lg
|
|
130
|
+
className: "p-2 rounded-lg bg-accent-primary/10",
|
|
129
131
|
children: /* @__PURE__ */ w(e, {
|
|
130
132
|
size: 18,
|
|
131
133
|
className: t
|
|
@@ -138,27 +140,27 @@ function k({ icon: e, iconClass: t, value: n, label: r, sub: i }) {
|
|
|
138
140
|
children: r
|
|
139
141
|
})] })]
|
|
140
142
|
}), i && /* @__PURE__ */ w("p", {
|
|
141
|
-
className: "text-[11px] text-text-
|
|
143
|
+
className: "text-[11px] text-text-muted mt-2 pl-11",
|
|
142
144
|
children: i
|
|
143
145
|
})]
|
|
144
146
|
});
|
|
145
147
|
}
|
|
146
|
-
function
|
|
147
|
-
let m = me(), { hasPermission: g } = he(), _ = g(c.CHANNEL_CREATE), { t: C } = ae(),
|
|
148
|
+
function j() {
|
|
149
|
+
let m = me(), { hasPermission: g } = he(), _ = g(c.CHANNEL_CREATE), { t: C } = ae(), j = (e, t) => {
|
|
148
150
|
let n = C(e);
|
|
149
151
|
return n === e ? t : n;
|
|
150
|
-
}, [
|
|
151
|
-
...
|
|
152
|
+
}, [ve, M] = f(null), [ye, N] = f(null), [P, F] = f(0), I = (e) => ({
|
|
153
|
+
...D[e] ?? {
|
|
152
154
|
label: e,
|
|
153
155
|
color: "bg-bg-sunken text-text-tertiary"
|
|
154
156
|
},
|
|
155
|
-
label: l(e, te,
|
|
157
|
+
label: l(e, te, j)
|
|
156
158
|
}), L = (e) => ({
|
|
157
|
-
...
|
|
158
|
-
label: l(e, ne,
|
|
159
|
+
...O[e] ?? O.INACTIVE,
|
|
160
|
+
label: l(e, ne, j)
|
|
159
161
|
}), R = (e) => ({
|
|
160
|
-
...
|
|
161
|
-
label: l(e, ee,
|
|
162
|
+
...k[e] ?? k.UNKNOWN,
|
|
163
|
+
label: l(e, ee, j)
|
|
162
164
|
}), { channels: z, isLoading: B, error: V, total: H, filter: U, updateFilter: W, deleteChannel: G, activateChannel: K, deactivateChannel: q, runHealthCheck: J, refetch: Y } = o(), X = Math.max(1, Math.ceil(H / 10)), Z = ie(Y);
|
|
163
165
|
d(() => {
|
|
164
166
|
Z.current = Y;
|
|
@@ -207,7 +209,7 @@ function A() {
|
|
|
207
209
|
errored: i,
|
|
208
210
|
unhealthy: a
|
|
209
211
|
};
|
|
210
|
-
}, [z]),
|
|
212
|
+
}, [z]), be = u(async (e) => {
|
|
211
213
|
t("medium"), N(e);
|
|
212
214
|
try {
|
|
213
215
|
await G(e), n("success"), M(null);
|
|
@@ -216,14 +218,14 @@ function A() {
|
|
|
216
218
|
} finally {
|
|
217
219
|
N(null);
|
|
218
220
|
}
|
|
219
|
-
}, [G]),
|
|
221
|
+
}, [G]), xe = u(async (e) => {
|
|
220
222
|
N(e.id);
|
|
221
223
|
try {
|
|
222
224
|
e.status === "ACTIVE" ? await q(e.id) : await K(e.id);
|
|
223
225
|
} finally {
|
|
224
226
|
N(null);
|
|
225
227
|
}
|
|
226
|
-
}, [K, q]),
|
|
228
|
+
}, [K, q]), Se = u(async (e) => {
|
|
227
229
|
N(e);
|
|
228
230
|
try {
|
|
229
231
|
await J(e);
|
|
@@ -248,57 +250,64 @@ function A() {
|
|
|
248
250
|
})
|
|
249
251
|
}), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h1", {
|
|
250
252
|
className: "text-xl font-bold text-text-primary",
|
|
251
|
-
children:
|
|
253
|
+
children: j("channel.channelDashboard", "Channel Dashboard")
|
|
252
254
|
}), /* @__PURE__ */ w("p", {
|
|
253
255
|
className: "text-sm text-text-secondary",
|
|
254
|
-
children:
|
|
256
|
+
children: j("channel.dashboardSubtitle", "Manage and monitor your communication channels")
|
|
255
257
|
})] })]
|
|
256
|
-
}), /* @__PURE__ */
|
|
258
|
+
}), /* @__PURE__ */ w("div", {
|
|
257
259
|
className: "flex items-center gap-2",
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
260
|
+
"data-tour": "channels-dashboard-create-button",
|
|
261
|
+
children: /* @__PURE__ */ w(ge, {
|
|
262
|
+
primary: _ ? {
|
|
263
|
+
label: j("channel.createChannel", "Create Channel"),
|
|
264
|
+
icon: /* @__PURE__ */ w(y, {
|
|
265
|
+
size: 16,
|
|
266
|
+
"aria-hidden": "true"
|
|
267
|
+
}),
|
|
268
|
+
onSelect: () => m("/channels/create")
|
|
269
|
+
} : void 0,
|
|
270
|
+
actions: [{
|
|
271
|
+
label: j("channel.refresh", "Refresh"),
|
|
272
|
+
icon: /* @__PURE__ */ w(S, {
|
|
273
|
+
size: 16,
|
|
274
|
+
"aria-hidden": "true"
|
|
275
|
+
}),
|
|
276
|
+
onSelect: () => void Y()
|
|
277
|
+
}]
|
|
278
|
+
})
|
|
270
279
|
})]
|
|
271
280
|
}),
|
|
272
281
|
/* @__PURE__ */ T("div", {
|
|
273
282
|
"data-tour": "channels-dashboard-kpi-section",
|
|
274
283
|
className: "grid gap-3 grid-cols-2 md:grid-cols-3 lg:grid-cols-4",
|
|
275
284
|
children: [
|
|
276
|
-
/* @__PURE__ */ w(
|
|
285
|
+
/* @__PURE__ */ w(A, {
|
|
277
286
|
icon: x,
|
|
278
287
|
iconClass: "text-accent-primary",
|
|
279
288
|
value: H,
|
|
280
|
-
label:
|
|
281
|
-
sub: $.active > 0 ? `${$.active} ${
|
|
289
|
+
label: j("channel.totalChannels", "Total Channels"),
|
|
290
|
+
sub: $.active > 0 ? `${$.active} ${j("channel.status.active", "Active").toLowerCase()}, ${H - $.active} ${j("channel.status.inactive", "Inactive").toLowerCase()}` : void 0
|
|
282
291
|
}),
|
|
283
|
-
/* @__PURE__ */ w(
|
|
292
|
+
/* @__PURE__ */ w(A, {
|
|
284
293
|
icon: fe,
|
|
285
294
|
iconClass: "text-status-success-text",
|
|
286
295
|
value: $.healthy,
|
|
287
|
-
label:
|
|
288
|
-
sub: $.unhealthy > 0 ? `${$.unhealthy} ${
|
|
296
|
+
label: j("channel.healthy", "Healthy"),
|
|
297
|
+
sub: $.unhealthy > 0 ? `${$.unhealthy} ${j("channel.health.unhealthy", "Unhealthy").toLowerCase()}` : H > 0 ? $.healthy === H ? j("channel.allSystemsNominal", "All systems nominal") : `${H - $.healthy} ${j("channel.health.unchecked", "unchecked")}` : void 0
|
|
289
298
|
}),
|
|
290
|
-
/* @__PURE__ */ w(
|
|
299
|
+
/* @__PURE__ */ w(A, {
|
|
291
300
|
icon: h,
|
|
292
301
|
iconClass: "text-accent-blue",
|
|
293
302
|
value: $.connected,
|
|
294
|
-
label:
|
|
295
|
-
sub: H > 0 ? `${H - $.connected} ${
|
|
303
|
+
label: j("channel.connected", "Connected"),
|
|
304
|
+
sub: H > 0 ? `${H - $.connected} ${j("channel.disconnected", "Disconnected").toLowerCase()}` : void 0
|
|
296
305
|
}),
|
|
297
|
-
/* @__PURE__ */ w(
|
|
306
|
+
/* @__PURE__ */ w(A, {
|
|
298
307
|
icon: le,
|
|
299
308
|
iconClass: "text-accent-violet",
|
|
300
309
|
value: $.messages24h.toLocaleString(),
|
|
301
|
-
label:
|
|
310
|
+
label: j("channel.messages24h", "Messages (24h)")
|
|
302
311
|
})
|
|
303
312
|
]
|
|
304
313
|
}),
|
|
@@ -317,14 +326,14 @@ function A() {
|
|
|
317
326
|
children: $.errored
|
|
318
327
|
}),
|
|
319
328
|
" ",
|
|
320
|
-
|
|
329
|
+
j($.errored === 1 ? "channel.errorStateSummarySingle" : "channel.errorStateSummaryMultiple", $.errored === 1 ? "channel in error state" : "channels in error state")
|
|
321
330
|
]
|
|
322
331
|
}),
|
|
323
332
|
/* @__PURE__ */ w("button", {
|
|
324
333
|
type: "button",
|
|
325
334
|
onClick: () => W({ status: "ERROR" }),
|
|
326
335
|
className: "ml-auto text-xs font-medium text-status-error-text hover:text-status-error-text/80 transition-colors",
|
|
327
|
-
children:
|
|
336
|
+
children: j("channel.showErrors", "Show errors")
|
|
328
337
|
})
|
|
329
338
|
]
|
|
330
339
|
}),
|
|
@@ -339,8 +348,8 @@ function A() {
|
|
|
339
348
|
className: "absolute left-3 top-1/2 -translate-y-1/2 text-text-secondary"
|
|
340
349
|
}), /* @__PURE__ */ w("input", {
|
|
341
350
|
type: "text",
|
|
342
|
-
"aria-label":
|
|
343
|
-
placeholder:
|
|
351
|
+
"aria-label": j("channel.searchChannels", "Search channels..."),
|
|
352
|
+
placeholder: j("channel.searchChannels", "Search channels..."),
|
|
344
353
|
value: U.search || "",
|
|
345
354
|
onChange: (e) => W({ search: e.target.value }),
|
|
346
355
|
className: "w-full pl-9 pr-4 py-2 text-sm bg-surface border border-border-subtle rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500/50 placeholder:text-text-secondary"
|
|
@@ -352,8 +361,8 @@ function A() {
|
|
|
352
361
|
className: "px-3 py-2 text-sm bg-surface border border-border-subtle rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500/50 text-text-primary",
|
|
353
362
|
children: [/* @__PURE__ */ w("option", {
|
|
354
363
|
value: "",
|
|
355
|
-
children:
|
|
356
|
-
}), Object.entries(
|
|
364
|
+
children: j("channel.allPlatforms", "All Platforms")
|
|
365
|
+
}), Object.entries(D).map(([e, t]) => /* @__PURE__ */ w("option", {
|
|
357
366
|
value: e,
|
|
358
367
|
children: t.label
|
|
359
368
|
}, e))]
|
|
@@ -364,8 +373,8 @@ function A() {
|
|
|
364
373
|
className: "px-3 py-2 text-sm bg-surface border border-border-subtle rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500/50 text-text-primary",
|
|
365
374
|
children: [/* @__PURE__ */ w("option", {
|
|
366
375
|
value: "",
|
|
367
|
-
children:
|
|
368
|
-
}), Object.entries(
|
|
376
|
+
children: j("channel.allStatus", "All Status")
|
|
377
|
+
}), Object.entries(O).map(([e, t]) => /* @__PURE__ */ w("option", {
|
|
369
378
|
value: e,
|
|
370
379
|
children: t.label
|
|
371
380
|
}, e))]
|
|
@@ -383,7 +392,7 @@ function A() {
|
|
|
383
392
|
className: "flex-1 min-w-0",
|
|
384
393
|
children: [/* @__PURE__ */ w("p", {
|
|
385
394
|
className: "text-sm font-medium text-status-error-text",
|
|
386
|
-
children:
|
|
395
|
+
children: j("channel.loadFailed", "Failed to load channels")
|
|
387
396
|
}), /* @__PURE__ */ w("p", {
|
|
388
397
|
className: "text-xs text-status-error-text/70 truncate",
|
|
389
398
|
children: V
|
|
@@ -393,7 +402,7 @@ function A() {
|
|
|
393
402
|
type: "button",
|
|
394
403
|
onClick: () => Y(),
|
|
395
404
|
className: "shrink-0 px-3 py-1 text-sm text-status-error-text hover:bg-status-error-bg-subtle rounded transition-colors",
|
|
396
|
-
children:
|
|
405
|
+
children: j("channel.retry", "Retry")
|
|
397
406
|
})
|
|
398
407
|
]
|
|
399
408
|
}),
|
|
@@ -416,22 +425,23 @@ function A() {
|
|
|
416
425
|
}),
|
|
417
426
|
/* @__PURE__ */ w("h3", {
|
|
418
427
|
className: "text-lg font-semibold text-text-primary mb-1",
|
|
419
|
-
children: U.search || U.platform || U.status ?
|
|
428
|
+
children: U.search || U.platform || U.status ? j("channel.noChannelsMatchFilter", "No channels match your filters") : j("channel.noChannels", "No channels yet")
|
|
420
429
|
}),
|
|
421
430
|
/* @__PURE__ */ w("p", {
|
|
422
431
|
className: "text-sm text-text-secondary max-w-sm mb-5",
|
|
423
|
-
children: U.search || U.platform || U.status ?
|
|
432
|
+
children: U.search || U.platform || U.status ? j("channel.adjustFilters", "Try adjusting your search or filters.") : j("channel.createFirstChannel", "Create your first communication channel to start sending messages across Email, SMS, Push, Slack and more.")
|
|
424
433
|
}),
|
|
425
434
|
_ && !(U.search || U.platform || U.status) && /* @__PURE__ */ T("button", {
|
|
426
435
|
type: "button",
|
|
427
436
|
onClick: () => m("/channels/create"),
|
|
428
437
|
className: "inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-action-primary-text bg-action-primary-bg hover:bg-action-primary-bg-hover rounded-lg transition-colors",
|
|
429
|
-
children: [/* @__PURE__ */ w(y, { size: 14 }),
|
|
438
|
+
children: [/* @__PURE__ */ w(y, { size: 14 }), j("channel.createChannel", "Create Channel")]
|
|
430
439
|
})
|
|
431
440
|
]
|
|
432
441
|
}),
|
|
433
|
-
z.length > 0 && /* @__PURE__ */ T(
|
|
434
|
-
|
|
442
|
+
z.length > 0 && /* @__PURE__ */ T(E, {
|
|
443
|
+
treatment: "plain",
|
|
444
|
+
className: "border-border-seam rounded-lg overflow-hidden p-0",
|
|
435
445
|
"data-tour": "channels-dashboard-table",
|
|
436
446
|
children: [/* @__PURE__ */ w("div", {
|
|
437
447
|
className: "overflow-x-auto min-w-full",
|
|
@@ -442,41 +452,41 @@ function A() {
|
|
|
442
452
|
children: [
|
|
443
453
|
/* @__PURE__ */ w("th", {
|
|
444
454
|
className: "text-left px-4 py-3 text-xs font-medium text-text-secondary uppercase tracking-wider",
|
|
445
|
-
children:
|
|
455
|
+
children: j("channel.channel", "Channel")
|
|
446
456
|
}),
|
|
447
457
|
/* @__PURE__ */ w("th", {
|
|
448
458
|
className: "text-left px-4 py-3 text-xs font-medium text-text-secondary uppercase tracking-wider",
|
|
449
|
-
children:
|
|
459
|
+
children: j("channel.platform", "Platform")
|
|
450
460
|
}),
|
|
451
461
|
/* @__PURE__ */ w("th", {
|
|
452
462
|
className: "text-left px-4 py-3 text-xs font-medium text-text-secondary uppercase tracking-wider",
|
|
453
|
-
children:
|
|
463
|
+
children: j("channel.status", "Status")
|
|
454
464
|
}),
|
|
455
465
|
/* @__PURE__ */ w("th", {
|
|
456
466
|
className: "text-left px-4 py-3 text-xs font-medium text-text-secondary uppercase tracking-wider",
|
|
457
|
-
children:
|
|
467
|
+
children: j("channel.health", "Health")
|
|
458
468
|
}),
|
|
459
469
|
/* @__PURE__ */ w("th", {
|
|
460
470
|
className: "text-left px-4 py-3 text-xs font-medium text-text-secondary uppercase tracking-wider",
|
|
461
|
-
children:
|
|
471
|
+
children: j("channel.connection", "Connection")
|
|
462
472
|
}),
|
|
463
473
|
/* @__PURE__ */ w("th", {
|
|
464
474
|
className: "text-right px-4 py-3 text-xs font-medium text-text-secondary uppercase tracking-wider",
|
|
465
|
-
children:
|
|
475
|
+
children: j("channel.msgs24h", "Msgs 24h")
|
|
466
476
|
}),
|
|
467
477
|
/* @__PURE__ */ w("th", {
|
|
468
478
|
className: "text-right px-4 py-3 text-xs font-medium text-text-secondary uppercase tracking-wider",
|
|
469
|
-
children:
|
|
479
|
+
children: j("channel.updated", "Updated")
|
|
470
480
|
}),
|
|
471
481
|
/* @__PURE__ */ w("th", {
|
|
472
482
|
className: "text-right px-4 py-3 text-xs font-medium text-text-secondary uppercase tracking-wider",
|
|
473
|
-
children:
|
|
483
|
+
children: j("channel.actions", "Actions")
|
|
474
484
|
})
|
|
475
485
|
]
|
|
476
486
|
}) }), /* @__PURE__ */ w("tbody", {
|
|
477
487
|
className: "divide-y divide-border",
|
|
478
488
|
children: z.map((e) => {
|
|
479
|
-
let t =
|
|
489
|
+
let t = ye === e.id;
|
|
480
490
|
return /* @__PURE__ */ T("tr", {
|
|
481
491
|
className: "bg-surface hover:bg-action-primary-bg/60 transition-colors group",
|
|
482
492
|
children: [
|
|
@@ -529,7 +539,7 @@ function A() {
|
|
|
529
539
|
className: "px-4 py-3",
|
|
530
540
|
children: /* @__PURE__ */ w("span", {
|
|
531
541
|
className: `text-xs ${e.isConnected ? "text-status-success-text" : "text-text-secondary"}`,
|
|
532
|
-
children: e.isConnected ?
|
|
542
|
+
children: e.isConnected ? j("channel.connected", "Connected") : j("channel.disconnected", "Disconnected")
|
|
533
543
|
})
|
|
534
544
|
}),
|
|
535
545
|
/* @__PURE__ */ w("td", {
|
|
@@ -543,7 +553,7 @@ function A() {
|
|
|
543
553
|
className: "px-4 py-3 text-right",
|
|
544
554
|
children: /* @__PURE__ */ w("span", {
|
|
545
555
|
className: "text-xs text-text-secondary whitespace-nowrap",
|
|
546
|
-
children:
|
|
556
|
+
children: _e(e.updatedAt)
|
|
547
557
|
})
|
|
548
558
|
}),
|
|
549
559
|
/* @__PURE__ */ w("td", {
|
|
@@ -555,17 +565,17 @@ function A() {
|
|
|
555
565
|
type: "button",
|
|
556
566
|
onClick: () => m(`/channels/${e.id}`),
|
|
557
567
|
className: "p-1.5 text-text-secondary hover:text-accent-primary hover:bg-accent-primary/10 rounded transition-colors",
|
|
558
|
-
title:
|
|
568
|
+
title: j("channel.view", "View"),
|
|
559
569
|
children: /* @__PURE__ */ w(se, { size: 14 })
|
|
560
570
|
}),
|
|
561
571
|
/* @__PURE__ */ w(s, {
|
|
562
572
|
permission: c.CHANNEL_EXECUTE,
|
|
563
573
|
children: /* @__PURE__ */ w("button", {
|
|
564
574
|
type: "button",
|
|
565
|
-
onClick: () =>
|
|
575
|
+
onClick: () => Se(e.id),
|
|
566
576
|
disabled: t,
|
|
567
577
|
className: "p-1.5 text-text-secondary hover:text-accent-blue hover:bg-accent-blue-subtle rounded transition-colors disabled:opacity-40",
|
|
568
|
-
title:
|
|
578
|
+
title: j("channel.healthCheck", "Health Check"),
|
|
569
579
|
children: t ? /* @__PURE__ */ w(v, {
|
|
570
580
|
size: 14,
|
|
571
581
|
className: "animate-spin"
|
|
@@ -576,26 +586,26 @@ function A() {
|
|
|
576
586
|
permission: c.CHANNEL_UPDATE,
|
|
577
587
|
children: /* @__PURE__ */ w("button", {
|
|
578
588
|
type: "button",
|
|
579
|
-
onClick: () =>
|
|
589
|
+
onClick: () => xe(e),
|
|
580
590
|
disabled: t,
|
|
581
591
|
className: `p-1.5 rounded transition-colors disabled:opacity-40 ${e.status === "ACTIVE" ? "text-text-secondary hover:text-status-warning-text hover:bg-status-warning-bg-subtle" : "text-text-secondary hover:text-status-success-text hover:bg-status-success-bg-subtle"}`,
|
|
582
|
-
title: e.status === "ACTIVE" ?
|
|
592
|
+
title: e.status === "ACTIVE" ? j("channel.deactivate", "Deactivate") : j("channel.activate", "Activate"),
|
|
583
593
|
children: e.status === "ACTIVE" ? /* @__PURE__ */ w(b, { size: 14 }) : /* @__PURE__ */ w(ue, { size: 14 })
|
|
584
594
|
})
|
|
585
595
|
}),
|
|
586
|
-
|
|
596
|
+
ve === e.id ? /* @__PURE__ */ T("span", {
|
|
587
597
|
className: "inline-flex items-center gap-1 ml-1",
|
|
588
598
|
children: [/* @__PURE__ */ w("button", {
|
|
589
599
|
type: "button",
|
|
590
|
-
onClick: () =>
|
|
600
|
+
onClick: () => be(e.id),
|
|
591
601
|
disabled: t,
|
|
592
602
|
className: "px-1.5 py-0.5 text-[11px] font-medium text-status-error-text hover:bg-status-error-bg-subtle rounded transition-colors",
|
|
593
|
-
children: t ? "..." :
|
|
603
|
+
children: t ? "..." : j("channel.yes", "Yes")
|
|
594
604
|
}), /* @__PURE__ */ w("button", {
|
|
595
605
|
type: "button",
|
|
596
606
|
onClick: () => M(null),
|
|
597
607
|
className: "px-1.5 py-0.5 text-[11px] text-text-secondary hover:bg-action-primary-bg/10 rounded transition-colors",
|
|
598
|
-
children:
|
|
608
|
+
children: j("channel.no", "No")
|
|
599
609
|
})]
|
|
600
610
|
}) : /* @__PURE__ */ w(s, {
|
|
601
611
|
permission: c.CHANNEL_DELETE,
|
|
@@ -603,7 +613,7 @@ function A() {
|
|
|
603
613
|
type: "button",
|
|
604
614
|
onClick: () => M(e.id),
|
|
605
615
|
className: "p-1.5 text-text-secondary hover:text-status-error-text hover:bg-status-error-bg-subtle rounded transition-colors",
|
|
606
|
-
title:
|
|
616
|
+
title: j("channel.delete", "Delete"),
|
|
607
617
|
children: /* @__PURE__ */ w(pe, { size: 14 })
|
|
608
618
|
})
|
|
609
619
|
})
|
|
@@ -620,7 +630,7 @@ function A() {
|
|
|
620
630
|
children: [/* @__PURE__ */ T("p", {
|
|
621
631
|
className: "text-xs text-text-secondary",
|
|
622
632
|
children: [
|
|
623
|
-
|
|
633
|
+
j("channel.showing", "Showing"),
|
|
624
634
|
" ",
|
|
625
635
|
/* @__PURE__ */ T("span", {
|
|
626
636
|
className: "font-medium text-text-primary",
|
|
@@ -631,14 +641,14 @@ function A() {
|
|
|
631
641
|
]
|
|
632
642
|
}),
|
|
633
643
|
" ",
|
|
634
|
-
|
|
644
|
+
j("channel.of", "of"),
|
|
635
645
|
" ",
|
|
636
646
|
/* @__PURE__ */ w("span", {
|
|
637
647
|
className: "font-medium text-text-primary",
|
|
638
648
|
children: H
|
|
639
649
|
}),
|
|
640
650
|
" ",
|
|
641
|
-
|
|
651
|
+
j("channel.channelsLower", "channels")
|
|
642
652
|
]
|
|
643
653
|
}), /* @__PURE__ */ T("div", {
|
|
644
654
|
className: "flex items-center gap-2",
|
|
@@ -648,7 +658,7 @@ function A() {
|
|
|
648
658
|
onClick: () => F((e) => Math.max(0, e - 1)),
|
|
649
659
|
disabled: P === 0,
|
|
650
660
|
className: "px-2.5 py-1 text-xs border border-border-subtle rounded hover:bg-bg-sunken transition-colors disabled:opacity-40 disabled:cursor-not-allowed",
|
|
651
|
-
children:
|
|
661
|
+
children: j("channel.previous", "Prev")
|
|
652
662
|
}),
|
|
653
663
|
/* @__PURE__ */ T("span", {
|
|
654
664
|
className: "text-xs text-text-secondary",
|
|
@@ -663,7 +673,7 @@ function A() {
|
|
|
663
673
|
onClick: () => F((e) => Math.min(X - 1, e + 1)),
|
|
664
674
|
disabled: P >= X - 1,
|
|
665
675
|
className: "px-2.5 py-1 text-xs border border-border-subtle rounded hover:bg-bg-sunken transition-colors disabled:opacity-40 disabled:cursor-not-allowed",
|
|
666
|
-
children:
|
|
676
|
+
children: j("channel.next", "Next")
|
|
667
677
|
})
|
|
668
678
|
]
|
|
669
679
|
})]
|
|
@@ -676,7 +686,7 @@ function A() {
|
|
|
676
686
|
/* @__PURE__ */ T("button", {
|
|
677
687
|
type: "button",
|
|
678
688
|
onClick: () => m("/channels/?tab=all"),
|
|
679
|
-
className: "flex items-center gap-3 p-3 bg-
|
|
689
|
+
className: "flex items-center gap-3 p-3 bg-gloss-card border border-border-seam rounded-lg shadow-[var(--shadow-pop)] hover:bg-action-primary-bg/10 transition-colors text-left",
|
|
680
690
|
children: [/* @__PURE__ */ w(x, {
|
|
681
691
|
size: 16,
|
|
682
692
|
className: "text-accent-primary shrink-0"
|
|
@@ -684,17 +694,17 @@ function A() {
|
|
|
684
694
|
className: "min-w-0",
|
|
685
695
|
children: [/* @__PURE__ */ w("p", {
|
|
686
696
|
className: "text-sm font-medium text-text-primary",
|
|
687
|
-
children:
|
|
697
|
+
children: j("channel.allChannels", "All Channels")
|
|
688
698
|
}), /* @__PURE__ */ w("p", {
|
|
689
699
|
className: "text-xs text-text-secondary truncate",
|
|
690
|
-
children:
|
|
700
|
+
children: j("channel.browseChannels", "Browse and manage channel cards")
|
|
691
701
|
})]
|
|
692
702
|
})]
|
|
693
703
|
}),
|
|
694
704
|
/* @__PURE__ */ T("button", {
|
|
695
705
|
type: "button",
|
|
696
706
|
onClick: () => m("/channels/?tab=connections"),
|
|
697
|
-
className: "flex items-center gap-3 p-3 bg-
|
|
707
|
+
className: "flex items-center gap-3 p-3 bg-gloss-card border border-border-seam rounded-lg shadow-[var(--shadow-pop)] hover:bg-action-primary-bg/10 transition-colors text-left",
|
|
698
708
|
children: [/* @__PURE__ */ w(h, {
|
|
699
709
|
size: 16,
|
|
700
710
|
className: "text-accent-blue shrink-0"
|
|
@@ -702,17 +712,17 @@ function A() {
|
|
|
702
712
|
className: "min-w-0",
|
|
703
713
|
children: [/* @__PURE__ */ w("p", {
|
|
704
714
|
className: "text-sm font-medium text-text-primary",
|
|
705
|
-
children:
|
|
715
|
+
children: j("channel.connections", "Connections")
|
|
706
716
|
}), /* @__PURE__ */ w("p", {
|
|
707
717
|
className: "text-xs text-text-secondary truncate",
|
|
708
|
-
children:
|
|
718
|
+
children: j("channel.connectionsSubtitle", "OAuth, API keys & credentials")
|
|
709
719
|
})]
|
|
710
720
|
})]
|
|
711
721
|
}),
|
|
712
722
|
/* @__PURE__ */ T("button", {
|
|
713
723
|
type: "button",
|
|
714
724
|
onClick: () => m("/channels/?tab=send"),
|
|
715
|
-
className: "flex items-center gap-3 p-3 bg-
|
|
725
|
+
className: "flex items-center gap-3 p-3 bg-gloss-card border border-border-seam rounded-lg shadow-[var(--shadow-pop)] hover:bg-action-primary-bg/10 transition-colors text-left",
|
|
716
726
|
children: [/* @__PURE__ */ w(oe, {
|
|
717
727
|
size: 16,
|
|
718
728
|
className: "text-accent-violet shrink-0"
|
|
@@ -720,10 +730,10 @@ function A() {
|
|
|
720
730
|
className: "min-w-0",
|
|
721
731
|
children: [/* @__PURE__ */ w("p", {
|
|
722
732
|
className: "text-sm font-medium text-text-primary",
|
|
723
|
-
children:
|
|
733
|
+
children: j("channel.sendMessage", "Send Message")
|
|
724
734
|
}), /* @__PURE__ */ w("p", {
|
|
725
735
|
className: "text-xs text-text-secondary truncate",
|
|
726
|
-
children:
|
|
736
|
+
children: j("channel.sendMessageSubtitle", "Send a test or one-off notification")
|
|
727
737
|
})]
|
|
728
738
|
})]
|
|
729
739
|
})
|
|
@@ -734,6 +744,6 @@ function A() {
|
|
|
734
744
|
});
|
|
735
745
|
}
|
|
736
746
|
//#endregion
|
|
737
|
-
export {
|
|
747
|
+
export { j as ChannelDashboardPage };
|
|
738
748
|
|
|
739
749
|
//# sourceMappingURL=ChannelDashboardPage.js.map
|