@burdenoff/microfe-channel 2026.624.2 → 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.
Files changed (29) hide show
  1. package/dist/channel/modules/channels/pages/ChannelDashboardPage.js +108 -98
  2. package/dist/channel/modules/channels/pages/ChannelDashboardPage.js.map +1 -1
  3. package/dist/channel/modules/channels/pages/ChannelDetailsPage.js +289 -279
  4. package/dist/channel/modules/channels/pages/ChannelDetailsPage.js.map +1 -1
  5. package/dist/channel/modules/channels/pages/ChannelSettingsPage.js +140 -131
  6. package/dist/channel/modules/channels/pages/ChannelSettingsPage.js.map +1 -1
  7. package/dist/channel/modules/channels/pages/ChannelUsersPage.js +170 -173
  8. package/dist/channel/modules/channels/pages/ChannelUsersPage.js.map +1 -1
  9. package/dist/channel/modules/channels/pages/ChannelsListPage.js +127 -120
  10. package/dist/channel/modules/channels/pages/ChannelsListPage.js.map +1 -1
  11. package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js +161 -155
  12. package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js.map +1 -1
  13. package/dist/channel/modules/channels/pages/ConnectionsListPage.js +70 -68
  14. package/dist/channel/modules/channels/pages/ConnectionsListPage.js.map +1 -1
  15. package/dist/channel/modules/channels/pages/CreateChannelPage.js +27 -24
  16. package/dist/channel/modules/channels/pages/CreateChannelPage.js.map +1 -1
  17. package/dist/channel/modules/channels/pages/CreateConnectionPage.js +161 -156
  18. package/dist/channel/modules/channels/pages/CreateConnectionPage.js.map +1 -1
  19. package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js +179 -182
  20. package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js.map +1 -1
  21. package/dist/channel/modules/channels/pages/EditChannelPage.js +130 -122
  22. package/dist/channel/modules/channels/pages/EditChannelPage.js.map +1 -1
  23. package/dist/channel/modules/channels/pages/EditConnectionPage.js +137 -132
  24. package/dist/channel/modules/channels/pages/EditConnectionPage.js.map +1 -1
  25. package/dist/channel/modules/channels/pages/SendMessagePage.js +87 -84
  26. package/dist/channel/modules/channels/pages/SendMessagePage.js.map +1 -1
  27. package/dist/channel/modules/channels/pages/WebhookEventsPage.js +193 -194
  28. package/dist/channel/modules/channels/pages/WebhookEventsPage.js.map +1 -1
  29. 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 E = {
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
- }, D = {
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
- }, O = {
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 ge(e) {
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 k({ icon: e, iconClass: t, value: n, label: r, sub: i }) {
123
- return /* @__PURE__ */ T("div", {
124
- className: "p-4 bg-surface border border-border-subtle rounded-lg",
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 hover:bg-action-primary-bg/10",
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-secondary mt-2 pl-11",
143
+ className: "text-[11px] text-text-muted mt-2 pl-11",
142
144
  children: i
143
145
  })]
144
146
  });
145
147
  }
146
- function A() {
147
- let m = me(), { hasPermission: g } = he(), _ = g(c.CHANNEL_CREATE), { t: C } = ae(), A = (e, t) => {
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
- }, [j, M] = f(null), [_e, N] = f(null), [P, F] = f(0), I = (e) => ({
151
- ...E[e] ?? {
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, A)
157
+ label: l(e, te, j)
156
158
  }), L = (e) => ({
157
- ...D[e] ?? D.INACTIVE,
158
- label: l(e, ne, A)
159
+ ...O[e] ?? O.INACTIVE,
160
+ label: l(e, ne, j)
159
161
  }), R = (e) => ({
160
- ...O[e] ?? O.UNKNOWN,
161
- label: l(e, ee, A)
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]), ve = u(async (e) => {
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]), ye = u(async (e) => {
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]), be = u(async (e) => {
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: A("channel.channelDashboard", "Channel Dashboard")
253
+ children: j("channel.channelDashboard", "Channel Dashboard")
252
254
  }), /* @__PURE__ */ w("p", {
253
255
  className: "text-sm text-text-secondary",
254
- children: A("channel.dashboardSubtitle", "Manage and monitor your communication channels")
256
+ children: j("channel.dashboardSubtitle", "Manage and monitor your communication channels")
255
257
  })] })]
256
- }), /* @__PURE__ */ T("div", {
258
+ }), /* @__PURE__ */ w("div", {
257
259
  className: "flex items-center gap-2",
258
- children: [/* @__PURE__ */ T("button", {
259
- type: "button",
260
- onClick: () => Y(),
261
- className: "inline-flex items-center gap-1.5 px-3 py-2 text-sm text-text-secondary hover:text-text-primary border border-border-subtle rounded-lg hover:bg-action-primary-bg/10 transition-colors",
262
- children: [/* @__PURE__ */ w(S, { size: 14 }), A("channel.refresh", "Refresh")]
263
- }), _ && /* @__PURE__ */ T("button", {
264
- type: "button",
265
- onClick: () => m("/channels/create"),
266
- className: "inline-flex items-center gap-1.5 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",
267
- "data-tour": "channels-dashboard-create-button",
268
- children: [/* @__PURE__ */ w(y, { size: 14 }), A("channel.createChannel", "Create Channel")]
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(k, {
285
+ /* @__PURE__ */ w(A, {
277
286
  icon: x,
278
287
  iconClass: "text-accent-primary",
279
288
  value: H,
280
- label: A("channel.totalChannels", "Total Channels"),
281
- sub: $.active > 0 ? `${$.active} ${A("channel.status.active", "Active").toLowerCase()}, ${H - $.active} ${A("channel.status.inactive", "Inactive").toLowerCase()}` : void 0
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(k, {
292
+ /* @__PURE__ */ w(A, {
284
293
  icon: fe,
285
294
  iconClass: "text-status-success-text",
286
295
  value: $.healthy,
287
- label: A("channel.healthy", "Healthy"),
288
- sub: $.unhealthy > 0 ? `${$.unhealthy} ${A("channel.health.unhealthy", "Unhealthy").toLowerCase()}` : H > 0 ? $.healthy === H ? A("channel.allSystemsNominal", "All systems nominal") : `${H - $.healthy} ${A("channel.health.unchecked", "unchecked")}` : void 0
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(k, {
299
+ /* @__PURE__ */ w(A, {
291
300
  icon: h,
292
301
  iconClass: "text-accent-blue",
293
302
  value: $.connected,
294
- label: A("channel.connected", "Connected"),
295
- sub: H > 0 ? `${H - $.connected} ${A("channel.disconnected", "Disconnected").toLowerCase()}` : void 0
303
+ label: j("channel.connected", "Connected"),
304
+ sub: H > 0 ? `${H - $.connected} ${j("channel.disconnected", "Disconnected").toLowerCase()}` : void 0
296
305
  }),
297
- /* @__PURE__ */ w(k, {
306
+ /* @__PURE__ */ w(A, {
298
307
  icon: le,
299
308
  iconClass: "text-accent-violet",
300
309
  value: $.messages24h.toLocaleString(),
301
- label: A("channel.messages24h", "Messages (24h)")
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
- A($.errored === 1 ? "channel.errorStateSummarySingle" : "channel.errorStateSummaryMultiple", $.errored === 1 ? "channel in error state" : "channels in error state")
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: A("channel.showErrors", "Show errors")
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": A("channel.searchChannels", "Search channels..."),
343
- placeholder: A("channel.searchChannels", "Search channels..."),
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: A("channel.allPlatforms", "All Platforms")
356
- }), Object.entries(E).map(([e, t]) => /* @__PURE__ */ w("option", {
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: A("channel.allStatus", "All Status")
368
- }), Object.entries(D).map(([e, t]) => /* @__PURE__ */ w("option", {
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: A("channel.loadFailed", "Failed to load channels")
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: A("channel.retry", "Retry")
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 ? A("channel.noChannelsMatchFilter", "No channels match your filters") : A("channel.noChannels", "No channels yet")
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 ? A("channel.adjustFilters", "Try adjusting your search or filters.") : A("channel.createFirstChannel", "Create your first communication channel to start sending messages across Email, SMS, Push, Slack and more.")
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 }), A("channel.createChannel", "Create Channel")]
438
+ children: [/* @__PURE__ */ w(y, { size: 14 }), j("channel.createChannel", "Create Channel")]
430
439
  })
431
440
  ]
432
441
  }),
433
- z.length > 0 && /* @__PURE__ */ T("div", {
434
- className: "border border-border-subtle rounded-lg overflow-hidden",
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: A("channel.channel", "Channel")
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: A("channel.platform", "Platform")
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: A("channel.status", "Status")
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: A("channel.health", "Health")
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: A("channel.connection", "Connection")
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: A("channel.msgs24h", "Msgs 24h")
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: A("channel.updated", "Updated")
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: A("channel.actions", "Actions")
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 = _e === e.id;
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 ? A("channel.connected", "Connected") : A("channel.disconnected", "Disconnected")
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: ge(e.updatedAt)
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: A("channel.view", "View"),
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: () => be(e.id),
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: A("channel.healthCheck", "Health Check"),
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: () => ye(e),
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" ? A("channel.deactivate", "Deactivate") : A("channel.activate", "Activate"),
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
- j === e.id ? /* @__PURE__ */ T("span", {
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: () => ve(e.id),
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 ? "..." : A("channel.yes", "Yes")
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: A("channel.no", "No")
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: A("channel.delete", "Delete"),
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
- A("channel.showing", "Showing"),
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
- A("channel.of", "of"),
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
- A("channel.channelsLower", "channels")
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: A("channel.previous", "Prev")
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: A("channel.next", "Next")
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-surface border border-border-subtle rounded-lg hover:bg-action-primary-bg/10 transition-colors text-left",
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: A("channel.allChannels", "All Channels")
697
+ children: j("channel.allChannels", "All Channels")
688
698
  }), /* @__PURE__ */ w("p", {
689
699
  className: "text-xs text-text-secondary truncate",
690
- children: A("channel.browseChannels", "Browse and manage channel cards")
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-surface border border-border-subtle rounded-lg hover:bg-action-primary-bg/10 transition-colors text-left",
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: A("channel.connections", "Connections")
715
+ children: j("channel.connections", "Connections")
706
716
  }), /* @__PURE__ */ w("p", {
707
717
  className: "text-xs text-text-secondary truncate",
708
- children: A("channel.connectionsSubtitle", "OAuth, API keys & credentials")
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-surface border border-border-subtle rounded-lg hover:bg-action-primary-bg/10 transition-colors text-left",
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: A("channel.sendMessage", "Send Message")
733
+ children: j("channel.sendMessage", "Send Message")
724
734
  }), /* @__PURE__ */ w("p", {
725
735
  className: "text-xs text-text-secondary truncate",
726
- children: A("channel.sendMessageSubtitle", "Send a test or one-off notification")
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 { A as ChannelDashboardPage };
747
+ export { j as ChannelDashboardPage };
738
748
 
739
749
  //# sourceMappingURL=ChannelDashboardPage.js.map