@burdenoff/microfe-channel 2026.526.1 → 2026.527.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 (45) hide show
  1. package/dist/channel/ChannelRoutes.js +0 -1
  2. package/dist/channel/ChannelRoutes.js.map +1 -1
  3. package/dist/channel/components/AdapterCredentialsForm.js +14 -2
  4. package/dist/channel/components/AdapterCredentialsForm.js.map +1 -1
  5. package/dist/channel/components/FeatureNotEnabled.js +1 -1
  6. package/dist/channel/components/FeatureNotEnabled.js.map +1 -1
  7. package/dist/channel/components/PermissionGuard.js +1 -1
  8. package/dist/channel/components/PermissionGuard.js.map +1 -1
  9. package/dist/channel/config/adapterCredentials.js +19 -11
  10. package/dist/channel/config/adapterCredentials.js.map +1 -1
  11. package/dist/channel/hooks/useChannelSubscription.js.map +1 -1
  12. package/dist/channel/modules/channels/pages/ChannelDashboardPage.js +18 -0
  13. package/dist/channel/modules/channels/pages/ChannelDashboardPage.js.map +1 -1
  14. package/dist/channel/modules/channels/pages/ChannelDetailsPage.js +411 -386
  15. package/dist/channel/modules/channels/pages/ChannelDetailsPage.js.map +1 -1
  16. package/dist/channel/modules/channels/pages/ChannelSettingsPage.js +30 -15
  17. package/dist/channel/modules/channels/pages/ChannelSettingsPage.js.map +1 -1
  18. package/dist/channel/modules/channels/pages/ChannelUsersPage.js +7 -1
  19. package/dist/channel/modules/channels/pages/ChannelUsersPage.js.map +1 -1
  20. package/dist/channel/modules/channels/pages/ChannelsListPage.js +26 -2
  21. package/dist/channel/modules/channels/pages/ChannelsListPage.js.map +1 -1
  22. package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js +19 -11
  23. package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js.map +1 -1
  24. package/dist/channel/modules/channels/pages/ConnectionsListPage.js +39 -22
  25. package/dist/channel/modules/channels/pages/ConnectionsListPage.js.map +1 -1
  26. package/dist/channel/modules/channels/pages/CreateChannelPage.js +7 -0
  27. package/dist/channel/modules/channels/pages/CreateChannelPage.js.map +1 -1
  28. package/dist/channel/modules/channels/pages/CreateConnectionPage.js +16 -5
  29. package/dist/channel/modules/channels/pages/CreateConnectionPage.js.map +1 -1
  30. package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js +10 -3
  31. package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js.map +1 -1
  32. package/dist/channel/modules/channels/pages/EditChannelPage.js +17 -8
  33. package/dist/channel/modules/channels/pages/EditChannelPage.js.map +1 -1
  34. package/dist/channel/modules/channels/pages/EditConnectionPage.js +11 -6
  35. package/dist/channel/modules/channels/pages/EditConnectionPage.js.map +1 -1
  36. package/dist/channel/modules/channels/pages/SendMessagePage.js +21 -9
  37. package/dist/channel/modules/channels/pages/SendMessagePage.js.map +1 -1
  38. package/dist/channel/modules/channels/pages/WebhookEventsPage.js +7 -0
  39. package/dist/channel/modules/channels/pages/WebhookEventsPage.js.map +1 -1
  40. package/dist/channel/pages/ChannelLandingPage.js +0 -1
  41. package/dist/channel/pages/ChannelLandingPage.js.map +1 -1
  42. package/dist/channel/providers/ChannelProvider.js +1 -1
  43. package/dist/channel/providers/ChannelProvider.js.map +1 -1
  44. package/package.json +1 -1
  45. package/dist/channel/modules/channels/pages/index.js +0 -14
@@ -2,16 +2,16 @@ import { nativeImpact as e, nativeNotify as t } from "../../../../utils/nativeBr
2
2
  import { useChannel as n } from "../../../hooks/useChannels.js";
3
3
  import { PermissionGuard as r } from "../../../components/PermissionGuard.js";
4
4
  import { CHANNEL_PERMISSIONS as i } from "../../../constants/permissions.js";
5
- import { AUTH_TYPE_I18N as a, HEALTH_I18N as ee, PLATFORM_I18N as te, STATUS_I18N as o, translateLabel as s } from "../i18n.js";
6
- import { AdapterCredentialsForm as ne, CredentialValidationStatus as re } from "../../../components/AdapterCredentialsForm.js";
7
- import { useEffect as ie, useState as c } from "react";
8
- import { useI18n as ae } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
9
- import { AlertCircle as l, AlertTriangle as u, ArrowLeft as oe, ArrowRight as d, Cable as f, CheckCircle2 as p, Clock as se, HelpCircle as m, Key as ce, Loader2 as h, Mail as le, MessageSquare as ue, Pencil as g, Phone as de, Play as fe, Plus as pe, Power as me, PowerOff as _, Radio as he, RefreshCw as ge, Save as v, Send as y, Trash2 as _e, Truck as ve, Users as ye, X as b, XCircle as x } from "lucide-react";
10
- import { useLocation as be, useNavigate as xe, useParams as S } from "react-router-dom";
11
- import { jsx as C, jsxs as w } from "react/jsx-runtime";
12
- import { TagBadge as Se } from "@burdenoff/fe-libs/tag";
5
+ import { AUTH_TYPE_I18N as a, HEALTH_I18N as ee, PLATFORM_I18N as te, STATUS_I18N as ne, translateLabel as o } from "../i18n.js";
6
+ import { AdapterCredentialsForm as re, CredentialValidationStatus as ie } from "../../../components/AdapterCredentialsForm.js";
7
+ import { useEffect as ae, useState as s } from "react";
8
+ import { useI18n as oe } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
9
+ import { AlertCircle as c, AlertTriangle as l, ArrowLeft as se, ArrowRight as u, Cable as d, CheckCircle2 as f, Clock as ce, HelpCircle as p, Key as le, Loader2 as m, Mail as ue, MessageSquare as de, Pencil as h, Phone as fe, Play as pe, Plus as me, Power as he, PowerOff as g, Radio as ge, RefreshCw as _e, Save as _, Send as v, Trash2 as ve, Truck as ye, Users as be, X as y, XCircle as b } from "lucide-react";
10
+ import { useLocation as xe, useNavigate as Se, useParams as x } from "react-router-dom";
11
+ import { jsx as S, jsxs as C } from "react/jsx-runtime";
12
+ import { TagBadge as Ce } from "@burdenoff/fe-libs/tag";
13
13
  //#region src/channel/modules/channels/pages/ChannelDetailsPage.tsx
14
- var T = {
14
+ var w = {
15
15
  EMAIL: {
16
16
  label: "Email",
17
17
  color: "bg-accent-blue-subtle text-accent-blue"
@@ -52,143 +52,143 @@ var T = {
52
52
  label: "Webchat",
53
53
  color: "bg-accent-teal-subtle text-accent-teal"
54
54
  }
55
- }, E = {
55
+ }, T = {
56
56
  ACTIVE: {
57
57
  label: "Active",
58
58
  color: "text-status-success-text bg-status-success-bg-subtle",
59
- icon: p
59
+ icon: f
60
60
  },
61
61
  INACTIVE: {
62
62
  label: "Inactive",
63
63
  color: "text-muted-foreground bg-muted",
64
- icon: _
64
+ icon: g
65
65
  },
66
66
  ERROR: {
67
67
  label: "Error",
68
68
  color: "text-status-error-text bg-status-error-bg-subtle",
69
- icon: x
69
+ icon: b
70
70
  },
71
71
  SUSPENDED: {
72
72
  label: "Suspended",
73
73
  color: "text-status-warning-text bg-status-warning-bg-subtle",
74
- icon: u
74
+ icon: l
75
75
  },
76
76
  ARCHIVED: {
77
77
  label: "Archived",
78
78
  color: "text-muted-foreground bg-muted",
79
- icon: _
79
+ icon: g
80
80
  }
81
- }, D = {
81
+ }, E = {
82
82
  HEALTHY: {
83
83
  label: "Healthy",
84
84
  color: "text-status-success-text",
85
- icon: p
85
+ icon: f
86
86
  },
87
87
  DEGRADED: {
88
88
  label: "Degraded",
89
89
  color: "text-status-warning-text",
90
- icon: u
90
+ icon: l
91
91
  },
92
92
  UNHEALTHY: {
93
93
  label: "Unhealthy",
94
94
  color: "text-status-error-text",
95
- icon: x
95
+ icon: b
96
96
  },
97
97
  UNKNOWN: {
98
98
  label: "Unknown",
99
99
  color: "text-muted-foreground",
100
- icon: m
100
+ icon: p
101
101
  }
102
102
  };
103
- function O() {
104
- let { channelId: u } = S(), m = xe(), O = be(), { t: k } = ae(), A = (e, t) => {
105
- let n = k(e);
103
+ function D() {
104
+ let { channelId: l } = x(), p = Se(), D = xe(), { t: O } = oe(), k = (e, t) => {
105
+ let n = O(e);
106
106
  return n === e ? t : n;
107
- }, j = O.state, [M, N] = c(null), [P, F] = c(j?.showCredentialsForm || !1), [I, L] = c(j?.pendingCredentials || {}), [Ce, R] = c(!1), [z, B] = c(null), [we, V] = c(!1), [H, U] = c(""), [W, Te] = c(() => A("channel.testNotificationSubject", "Test Notification")), [G, Ee] = c(() => A("channel.testNotificationBody", "This is a test notification from Burdenoff Channel Service.")), [K, q] = c(null);
108
- ie(() => {
109
- (j?.pendingCredentials || j?.showCredentialsForm) && m(O.pathname, {
107
+ }, A = D.state, [j, M] = s(null), [N, P] = s(A?.showCredentialsForm || !1), [F, I] = s(A?.pendingCredentials || {}), [we, L] = s(!1), [R, z] = s(null), [Te, B] = s(!1), [V, H] = s(""), [U, Ee] = s(() => k("channel.testNotificationSubject", "Test Notification")), [W, De] = s(() => k("channel.testNotificationBody", "This is a test notification from Burdenoff Channel Service.")), [G, K] = s(null);
108
+ ae(() => {
109
+ (A?.pendingCredentials || A?.showCredentialsForm) && p(D.pathname, {
110
110
  replace: !0,
111
111
  state: null
112
112
  });
113
113
  }, []);
114
- let { channel: J, isLoading: De, error: Y, updateChannel: Oe, runHealthCheck: ke, createConnection: Ae, updateConnection: je, deleteConnection: Me, testConnection: Ne, sendTestNotification: Pe } = n(u), Fe = async () => {
115
- N("health");
114
+ let { channel: q, isLoading: Oe, error: J, updateChannel: ke, runHealthCheck: Ae, createConnection: je, updateConnection: Me, deleteConnection: Ne, testConnection: Pe, sendTestNotification: Fe } = n(l), Ie = async () => {
115
+ M("health");
116
116
  try {
117
- await ke();
117
+ await Ae();
118
118
  } catch (e) {
119
119
  console.error("[channel] Failed to run health check", e);
120
120
  } finally {
121
- N(null);
121
+ M(null);
122
122
  }
123
- }, Ie = async () => {
124
- if (J) {
125
- N("status");
123
+ }, Le = async () => {
124
+ if (q) {
125
+ M("status");
126
126
  try {
127
- await Oe({ status: J.status === "ACTIVE" ? "INACTIVE" : "ACTIVE" });
127
+ await ke({ status: q.status === "ACTIVE" ? "INACTIVE" : "ACTIVE" });
128
128
  } catch (e) {
129
129
  console.error("[channel] Failed to toggle channel status", e);
130
130
  } finally {
131
- N(null);
131
+ M(null);
132
132
  }
133
133
  }
134
- }, Le = async () => {
135
- if (J) {
136
- N("connection");
134
+ }, Re = async () => {
135
+ if (q) {
136
+ M("connection");
137
137
  try {
138
- let e = "API_KEY", t = J.adapterType;
139
- t?.includes("BOT") ? e = "BOT_TOKEN" : t?.includes("WEBHOOK") ? e = "WEBHOOK" : t === "SMTP" && (e = "SMTP_IMAP"), await Ae({
138
+ let e = "API_KEY", t = q.adapterType;
139
+ t?.includes("BOT") ? e = "BOT_TOKEN" : t?.includes("WEBHOOK") ? e = "WEBHOOK" : t === "SMTP" && (e = "SMTP_IMAP"), await je({
140
140
  authType: e,
141
- credentials: I
142
- }), F(!1), L({}), R(!1);
141
+ credentials: F
142
+ }), P(!1), I({}), L(!1);
143
143
  } catch (e) {
144
144
  console.error("[channel] Failed to create connection", e);
145
145
  } finally {
146
- N(null);
146
+ M(null);
147
147
  }
148
148
  }
149
- }, Re = async (e) => {
150
- N("connection");
149
+ }, ze = async (e) => {
150
+ M("connection");
151
151
  try {
152
- await je(e, { credentials: I }), F(!1), L({}), R(!1);
152
+ await Me(e, { credentials: F }), P(!1), I({}), L(!1);
153
153
  } catch (e) {
154
154
  console.error("[channel] Failed to update connection", e);
155
155
  } finally {
156
- N(null);
156
+ M(null);
157
157
  }
158
- }, ze = async (n) => {
159
- e("medium"), N("delete-connection");
158
+ }, Be = async (n) => {
159
+ e("medium"), M("delete-connection");
160
160
  try {
161
- await Me(n), t("success");
161
+ await Ne(n), t("success");
162
162
  } catch (e) {
163
163
  t("error"), console.error("[channel] Failed to delete connection", e);
164
164
  } finally {
165
- N(null);
165
+ M(null);
166
166
  }
167
- }, Be = async (e) => {
168
- N("test"), B(null);
167
+ }, Ve = async (e) => {
168
+ M("test"), z(null);
169
169
  try {
170
- let t = await Ne(e);
171
- t && B({
170
+ let t = await Pe(e);
171
+ t && z({
172
172
  success: t.success,
173
- message: t.message || (t.success ? A("channel.connectionTestSuccess", "Connection successful!") : A("channel.connectionTestFailed", "Connection failed"))
173
+ message: t.message || (t.success ? k("channel.connectionTestSuccess", "Connection successful!") : k("channel.connectionTestFailed", "Connection failed"))
174
174
  });
175
175
  } catch (e) {
176
- console.error("[channel] Failed to test connection", e), B({
176
+ console.error("[channel] Failed to test connection", e), z({
177
177
  success: !1,
178
- message: A("channel.connectionTestRequestFailed", "Failed to test connection")
178
+ message: k("channel.connectionTestRequestFailed", "Failed to test connection")
179
179
  });
180
180
  } finally {
181
- N(null);
181
+ M(null);
182
182
  }
183
- }, Ve = async () => {
184
- if (H.trim()) {
185
- N("send-test"), q(null);
183
+ }, He = async () => {
184
+ if (V.trim()) {
185
+ M("send-test"), K(null);
186
186
  try {
187
- let e = J?.platform === "EMAIL" ? {
188
- subject: W,
189
- html: `<p>${G}</p>`
190
- } : void 0, t = await Pe(H.trim(), G, e);
191
- t && q({
187
+ let e = q?.platform === "EMAIL" ? {
188
+ subject: U,
189
+ html: `<p>${W}</p>`
190
+ } : void 0, t = await Fe(V.trim(), W, e);
191
+ t && K({
192
192
  success: t.success,
193
193
  messageId: t.messageId,
194
194
  externalId: t.externalId,
@@ -201,8 +201,8 @@ function O() {
201
201
  } : null
202
202
  });
203
203
  } catch (e) {
204
- let t = e instanceof Error ? e.message : A("channel.sendTestNotificationFailed", "Failed to send test notification");
205
- console.error("[channel] Failed to send test notification", e), q({
204
+ let t = e instanceof Error ? e.message : k("channel.sendTestNotificationFailed", "Failed to send test notification");
205
+ console.error("[channel] Failed to send test notification", e), K({
206
206
  success: !1,
207
207
  error: {
208
208
  code: "SEND_FAILED",
@@ -211,378 +211,387 @@ function O() {
211
211
  }
212
212
  });
213
213
  } finally {
214
- N(null);
214
+ M(null);
215
215
  }
216
216
  }
217
- }, He = (e) => {
217
+ }, Y = (e) => {
218
218
  switch (e) {
219
- case "EMAIL": return A("channel.recipientPlaceholder.email", "email@example.com");
220
- case "SMS": return A("channel.recipientPlaceholder.phone", "+1234567890");
221
- case "PUSH": return A("channel.recipientPlaceholder.deviceToken", "Device token");
222
- case "SLACK": return A("channel.recipientPlaceholder.slack", "Channel ID or User ID");
223
- case "TEAMS": return A("channel.recipientPlaceholder.channelId", "Channel ID");
224
- case "DISCORD": return A("channel.recipientPlaceholder.channelId", "Channel ID");
225
- case "WHATSAPP": return A("channel.recipientPlaceholder.phone", "+1234567890");
226
- default: return A("channel.recipientPlaceholder.default", "Recipient");
219
+ case "EMAIL": return k("channel.recipientPlaceholder.email", "email@example.com");
220
+ case "SMS": return k("channel.recipientPlaceholder.phone", "+1234567890");
221
+ case "PUSH": return k("channel.recipientPlaceholder.deviceToken", "Device token");
222
+ case "SLACK": return k("channel.recipientPlaceholder.slack", "Channel ID or User ID");
223
+ case "TEAMS": return k("channel.recipientPlaceholder.channelId", "Channel ID");
224
+ case "DISCORD": return k("channel.recipientPlaceholder.channelId", "Channel ID");
225
+ case "WHATSAPP": return k("channel.recipientPlaceholder.phone", "+1234567890");
226
+ default: return k("channel.recipientPlaceholder.default", "Recipient");
227
227
  }
228
228
  }, Ue = (e) => {
229
229
  switch (e) {
230
- case "EMAIL": return A("channel.recipientLabel.email", "Email Address");
230
+ case "EMAIL": return k("channel.recipientLabel.email", "Email Address");
231
231
  case "SMS":
232
- case "WHATSAPP": return A("channel.recipientLabel.phone", "Phone Number");
233
- case "PUSH": return A("channel.recipientLabel.deviceToken", "Device Token");
232
+ case "WHATSAPP": return k("channel.recipientLabel.phone", "Phone Number");
233
+ case "PUSH": return k("channel.recipientLabel.deviceToken", "Device Token");
234
234
  case "SLACK":
235
235
  case "TEAMS":
236
- case "DISCORD": return A("channel.recipientLabel.channelOrUserId", "Channel/User ID");
237
- default: return A("channel.recipientLabel.default", "Recipient");
236
+ case "DISCORD": return k("channel.recipientLabel.channelOrUserId", "Channel/User ID");
237
+ default: return k("channel.recipientLabel.default", "Recipient");
238
238
  }
239
239
  }, We = (e) => ({
240
- ...T[e] || {
240
+ ...w[e] || {
241
241
  label: e,
242
242
  color: "bg-bg-sunken text-text-secondary"
243
243
  },
244
- label: s(e, te, A)
244
+ label: o(e, te, k)
245
245
  }), Ge = (e) => ({
246
- ...E[e] || E.INACTIVE,
247
- label: s(e, o, A)
246
+ ...T[e] || T.INACTIVE,
247
+ label: o(e, ne, k)
248
248
  }), Ke = (e) => ({
249
- ...D[e] || D.UNKNOWN,
250
- label: s(e, ee, A)
249
+ ...E[e] || E.UNKNOWN,
250
+ label: o(e, ee, k)
251
251
  });
252
- if (De) return /* @__PURE__ */ C("div", {
252
+ if (Oe) return /* @__PURE__ */ S("div", {
253
253
  className: "flex items-center justify-center min-h-screen",
254
- children: /* @__PURE__ */ C(h, {
254
+ children: /* @__PURE__ */ S(m, {
255
255
  size: 32,
256
256
  className: "animate-spin text-accent-primary"
257
257
  })
258
258
  });
259
- if (Y || !J) return /* @__PURE__ */ C("div", {
259
+ if (J || !q) return /* @__PURE__ */ S("div", {
260
260
  className: "p-6",
261
- children: /* @__PURE__ */ w("div", {
261
+ children: /* @__PURE__ */ C("div", {
262
262
  className: "flex items-center gap-3 p-4 bg-status-error-bg-subtle border border-status-error-border rounded-lg",
263
263
  children: [
264
- /* @__PURE__ */ C(l, {
264
+ /* @__PURE__ */ S(c, {
265
265
  size: 20,
266
266
  className: "text-status-error-text"
267
267
  }),
268
- /* @__PURE__ */ C("div", { children: /* @__PURE__ */ C("p", {
268
+ /* @__PURE__ */ S("div", { children: /* @__PURE__ */ S("p", {
269
269
  className: "text-sm font-medium text-status-error-text",
270
- children: Y || A("channel.channelNotFound", "Channel not found")
270
+ children: J || k("channel.channelNotFound", "Channel not found")
271
271
  }) }),
272
- /* @__PURE__ */ C("button", {
273
- onClick: () => m(-1),
272
+ /* @__PURE__ */ S("button", {
273
+ type: "button",
274
+ onClick: () => p(-1),
274
275
  className: "ml-auto px-3 py-1 text-sm text-status-error-text hover:bg-status-error-bg-subtle rounded transition-colors",
275
- children: A("channel.goBack", "Go Back")
276
+ children: k("channel.goBack", "Go Back")
276
277
  })
277
278
  ]
278
279
  })
279
280
  });
280
- let X = We(J.platform), Z = Ge(J.status), Q = Ke(J.connectionHealth), qe = Z.icon, Je = Q.icon, $ = J.connection;
281
- return /* @__PURE__ */ C(r, {
281
+ let X = We(q.platform), Z = Ge(q.status), Q = Ke(q.connectionHealth), qe = Z.icon, Je = Q.icon, $ = q.connection;
282
+ return /* @__PURE__ */ S(r, {
282
283
  permission: i.CHANNEL_READ,
283
- children: /* @__PURE__ */ w("div", {
284
+ children: /* @__PURE__ */ C("div", {
284
285
  className: "space-y-6 p-3 sm:p-6",
285
286
  children: [
286
- /* @__PURE__ */ w("div", {
287
+ /* @__PURE__ */ C("div", {
287
288
  className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
288
- children: [/* @__PURE__ */ w("div", {
289
+ children: [/* @__PURE__ */ C("div", {
289
290
  className: "flex items-center gap-3",
290
- children: [/* @__PURE__ */ C("button", {
291
- onClick: () => m(-1),
291
+ children: [/* @__PURE__ */ S("button", {
292
+ type: "button",
293
+ onClick: () => p(-1),
292
294
  className: "p-2 text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors",
293
- children: /* @__PURE__ */ C(oe, { size: 20 })
294
- }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("div", {
295
+ children: /* @__PURE__ */ S(se, { size: 20 })
296
+ }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("div", {
295
297
  className: "flex items-center gap-2",
296
- children: [/* @__PURE__ */ C(he, {
298
+ children: [/* @__PURE__ */ S(ge, {
297
299
  size: 24,
298
300
  className: "text-accent-primary"
299
- }), /* @__PURE__ */ C("h1", {
301
+ }), /* @__PURE__ */ S("h1", {
300
302
  className: "text-xl sm:text-2xl font-bold text-foreground",
301
- children: J.name
303
+ children: q.name
302
304
  })]
303
- }), J.description && /* @__PURE__ */ C("p", {
305
+ }), q.description && /* @__PURE__ */ S("p", {
304
306
  className: "text-sm text-muted-foreground mt-1",
305
- children: J.description
307
+ children: q.description
306
308
  })] })]
307
- }), /* @__PURE__ */ w("div", {
309
+ }), /* @__PURE__ */ C("div", {
308
310
  className: "flex items-center gap-2",
309
311
  children: [
310
- /* @__PURE__ */ C(r, {
312
+ /* @__PURE__ */ S(r, {
311
313
  permission: i.CHANNEL_EXECUTE,
312
- children: /* @__PURE__ */ w("button", {
313
- onClick: Fe,
314
- disabled: M === "health",
314
+ children: /* @__PURE__ */ C("button", {
315
+ type: "button",
316
+ onClick: Ie,
317
+ disabled: j === "health",
315
318
  className: "flex items-center gap-2 px-3 py-2 text-sm text-muted-foreground hover:text-status-info-text hover:bg-status-info-bg-subtle rounded-lg transition-colors disabled:opacity-50",
316
- children: [M === "health" ? /* @__PURE__ */ C(h, {
319
+ children: [j === "health" ? /* @__PURE__ */ S(m, {
317
320
  size: 16,
318
321
  className: "animate-spin"
319
- }) : /* @__PURE__ */ C(ge, { size: 16 }), A("channel.healthCheck", "Health Check")]
322
+ }) : /* @__PURE__ */ S(_e, { size: 16 }), k("channel.healthCheck", "Health Check")]
320
323
  })
321
324
  }),
322
- /* @__PURE__ */ C(r, {
325
+ /* @__PURE__ */ S(r, {
323
326
  permission: i.CHANNEL_UPDATE,
324
- children: /* @__PURE__ */ w("button", {
325
- onClick: Ie,
326
- disabled: M === "status",
327
- className: `flex items-center gap-2 px-3 py-2 text-sm rounded-lg transition-colors disabled:opacity-50 ${J.status === "ACTIVE" ? "text-status-warning-text hover:bg-status-warning-bg-subtle" : "text-status-success-text hover:bg-status-success-bg-subtle"}`,
328
- children: [M === "status" ? /* @__PURE__ */ C(h, {
327
+ children: /* @__PURE__ */ C("button", {
328
+ type: "button",
329
+ onClick: Le,
330
+ disabled: j === "status",
331
+ className: `flex items-center gap-2 px-3 py-2 text-sm rounded-lg transition-colors disabled:opacity-50 ${q.status === "ACTIVE" ? "text-status-warning-text hover:bg-status-warning-bg-subtle" : "text-status-success-text hover:bg-status-success-bg-subtle"}`,
332
+ children: [j === "status" ? /* @__PURE__ */ S(m, {
329
333
  size: 16,
330
334
  className: "animate-spin"
331
- }) : J.status === "ACTIVE" ? /* @__PURE__ */ C(_, { size: 16 }) : /* @__PURE__ */ C(me, { size: 16 }), J.status === "ACTIVE" ? A("channel.deactivate", "Deactivate") : A("channel.activate", "Activate")]
335
+ }) : q.status === "ACTIVE" ? /* @__PURE__ */ S(g, { size: 16 }) : /* @__PURE__ */ S(he, { size: 16 }), q.status === "ACTIVE" ? k("channel.deactivate", "Deactivate") : k("channel.activate", "Activate")]
332
336
  })
333
337
  }),
334
- /* @__PURE__ */ w("button", {
338
+ /* @__PURE__ */ C("button", {
339
+ type: "button",
335
340
  onClick: () => {
336
- V(!0), q(null), U("");
341
+ B(!0), K(null), H("");
337
342
  },
338
- disabled: !J.connection,
343
+ disabled: !q.connection,
339
344
  className: "flex items-center gap-2 px-3 py-2 text-sm text-accent-primary hover:bg-accent-primary/10 rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
340
- title: J.connection ? A("channel.sendTestNotification", "Send test notification") : A("channel.configureCredentialsFirst", "Configure credentials first"),
341
- children: [/* @__PURE__ */ C(y, { size: 16 }), A("channel.testChannel", "Test Channel")]
345
+ title: q.connection ? k("channel.sendTestNotification", "Send test notification") : k("channel.configureCredentialsFirst", "Configure credentials first"),
346
+ children: [/* @__PURE__ */ S(v, { size: 16 }), k("channel.testChannel", "Test Channel")]
342
347
  }),
343
- /* @__PURE__ */ w("button", {
344
- onClick: () => m("./edit"),
348
+ /* @__PURE__ */ C("button", {
349
+ type: "button",
350
+ onClick: () => p("./edit"),
345
351
  className: "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 shadow-sm",
346
- children: [/* @__PURE__ */ C(g, { size: 16 }), A("channel.edit", "Edit")]
352
+ children: [/* @__PURE__ */ S(h, { size: 16 }), k("channel.edit", "Edit")]
347
353
  })
348
354
  ]
349
355
  })]
350
356
  }),
351
- /* @__PURE__ */ w("div", {
357
+ /* @__PURE__ */ C("div", {
352
358
  className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
353
359
  children: [
354
- /* @__PURE__ */ w("div", {
360
+ /* @__PURE__ */ C("div", {
355
361
  className: "p-4 bg-surface border border-border rounded-lg",
356
- children: [/* @__PURE__ */ C("p", {
362
+ children: [/* @__PURE__ */ S("p", {
357
363
  className: "text-xs text-muted-foreground mb-1",
358
- children: A("channel.platform", "Platform")
359
- }), /* @__PURE__ */ C("span", {
364
+ children: k("channel.platform", "Platform")
365
+ }), /* @__PURE__ */ S("span", {
360
366
  className: `inline-flex px-2 py-1 text-sm font-semibold rounded-full ${X.color}`,
361
367
  children: X.label
362
368
  })]
363
369
  }),
364
- /* @__PURE__ */ w("div", {
370
+ /* @__PURE__ */ C("div", {
365
371
  className: "p-4 bg-surface border border-border rounded-lg",
366
- children: [/* @__PURE__ */ C("p", {
372
+ children: [/* @__PURE__ */ S("p", {
367
373
  className: "text-xs text-muted-foreground mb-1",
368
- children: A("channel.status", "Status")
369
- }), /* @__PURE__ */ w("div", {
374
+ children: k("channel.status", "Status")
375
+ }), /* @__PURE__ */ C("div", {
370
376
  className: "flex items-center gap-2",
371
- children: [/* @__PURE__ */ C(qe, {
377
+ children: [/* @__PURE__ */ S(qe, {
372
378
  size: 16,
373
379
  className: Z.color.split(" ")[0]
374
- }), /* @__PURE__ */ C("span", {
380
+ }), /* @__PURE__ */ S("span", {
375
381
  className: `px-2 py-1 text-sm font-medium rounded-full ${Z.color}`,
376
382
  children: Z.label
377
383
  })]
378
384
  })]
379
385
  }),
380
- /* @__PURE__ */ w("div", {
386
+ /* @__PURE__ */ C("div", {
381
387
  className: "p-4 bg-surface border border-border rounded-lg",
382
388
  children: [
383
- /* @__PURE__ */ C("p", {
389
+ /* @__PURE__ */ S("p", {
384
390
  className: "text-xs text-muted-foreground mb-1",
385
- children: A("channel.connectionHealth", "Connection Health")
391
+ children: k("channel.connectionHealth", "Connection Health")
386
392
  }),
387
- /* @__PURE__ */ w("div", {
393
+ /* @__PURE__ */ C("div", {
388
394
  className: "flex items-center gap-2",
389
- children: [/* @__PURE__ */ C(Je, {
395
+ children: [/* @__PURE__ */ S(Je, {
390
396
  size: 16,
391
397
  className: Q.color
392
- }), /* @__PURE__ */ C("span", {
398
+ }), /* @__PURE__ */ S("span", {
393
399
  className: `text-sm font-medium ${Q.color}`,
394
400
  children: Q.label
395
401
  })]
396
402
  }),
397
- J.lastHealthCheckAt && /* @__PURE__ */ w("p", {
403
+ q.lastHealthCheckAt && /* @__PURE__ */ C("p", {
398
404
  className: "text-xs text-muted-foreground mt-1",
399
405
  children: [
400
- A("channel.lastCheck", "Last check"),
406
+ k("channel.lastCheck", "Last check"),
401
407
  ":",
402
408
  " ",
403
- new Date(J.lastHealthCheckAt).toLocaleString()
409
+ new Date(q.lastHealthCheckAt).toLocaleString()
404
410
  ]
405
411
  })
406
412
  ]
407
413
  }),
408
- /* @__PURE__ */ w("div", {
414
+ /* @__PURE__ */ C("div", {
409
415
  className: "p-4 bg-surface border border-border rounded-lg",
410
- children: [/* @__PURE__ */ C("p", {
416
+ children: [/* @__PURE__ */ S("p", {
411
417
  className: "text-xs text-muted-foreground mb-1",
412
- children: A("channel.connection", "Connection")
413
- }), /* @__PURE__ */ w("div", {
418
+ children: k("channel.connection", "Connection")
419
+ }), /* @__PURE__ */ C("div", {
414
420
  className: "flex items-center gap-2",
415
- children: [/* @__PURE__ */ C(f, {
421
+ children: [/* @__PURE__ */ S(d, {
416
422
  size: 16,
417
- className: J.isConnected ? "text-status-success-text" : "text-muted-foreground"
418
- }), /* @__PURE__ */ C("span", {
419
- className: `text-sm font-medium ${J.isConnected ? "text-status-success-text" : "text-muted-foreground"}`,
420
- children: J.isConnected ? A("channel.connected", "Connected") : A("channel.notConnected", "Not Connected")
423
+ className: q.isConnected ? "text-status-success-text" : "text-muted-foreground"
424
+ }), /* @__PURE__ */ S("span", {
425
+ className: `text-sm font-medium ${q.isConnected ? "text-status-success-text" : "text-muted-foreground"}`,
426
+ children: q.isConnected ? k("channel.connected", "Connected") : k("channel.notConnected", "Not Connected")
421
427
  })]
422
428
  })]
423
429
  })
424
430
  ]
425
431
  }),
426
- /* @__PURE__ */ w("div", {
432
+ /* @__PURE__ */ C("div", {
427
433
  className: "p-4 bg-surface border border-border rounded-lg",
428
434
  children: [
429
- /* @__PURE__ */ C("h2", {
435
+ /* @__PURE__ */ S("h2", {
430
436
  className: "text-lg font-semibold text-foreground mb-4",
431
- children: A("channel.channelDetails", "Channel Details")
437
+ children: k("channel.channelDetails", "Channel Details")
432
438
  }),
433
- /* @__PURE__ */ w("div", {
439
+ /* @__PURE__ */ C("div", {
434
440
  className: "grid gap-4 sm:grid-cols-2",
435
441
  children: [
436
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
442
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
437
443
  className: "text-xs text-muted-foreground",
438
- children: A("channel.adapterType", "Adapter Type")
439
- }), /* @__PURE__ */ C("p", {
444
+ children: k("channel.adapterType", "Adapter Type")
445
+ }), /* @__PURE__ */ S("p", {
440
446
  className: "text-sm font-medium text-foreground",
441
- children: J.adapterType?.replace(/_/g, " ") || A("channel.notConfigured", "Not configured")
447
+ children: q.adapterType?.replace(/_/g, " ") || k("channel.notConfigured", "Not configured")
442
448
  })] }),
443
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
449
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
444
450
  className: "text-xs text-muted-foreground",
445
- children: A("channel.priority", "Priority")
446
- }), /* @__PURE__ */ C("p", {
451
+ children: k("channel.priority", "Priority")
452
+ }), /* @__PURE__ */ S("p", {
447
453
  className: "text-sm font-medium text-foreground",
448
- children: J.priority
454
+ children: q.priority
449
455
  })] }),
450
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
456
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
451
457
  className: "text-xs text-muted-foreground",
452
- children: A("channel.consecutiveFailures", "Consecutive Failures")
453
- }), /* @__PURE__ */ C("p", {
458
+ children: k("channel.consecutiveFailures", "Consecutive Failures")
459
+ }), /* @__PURE__ */ S("p", {
454
460
  className: "text-sm font-medium text-foreground",
455
- children: J.consecutiveFailures
461
+ children: q.consecutiveFailures
456
462
  })] }),
457
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
463
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
458
464
  className: "text-xs text-muted-foreground",
459
- children: A("channel.messages24h", "Messages (24h)")
460
- }), /* @__PURE__ */ C("p", {
465
+ children: k("channel.messages24h", "Messages (24h)")
466
+ }), /* @__PURE__ */ S("p", {
461
467
  className: "text-sm font-medium text-foreground",
462
- children: J.messageCount24h
468
+ children: q.messageCount24h
463
469
  })] }),
464
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
470
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
465
471
  className: "text-xs text-muted-foreground",
466
- children: A("channel.createdAt", "Created At")
467
- }), /* @__PURE__ */ C("p", {
472
+ children: k("channel.createdAt", "Created At")
473
+ }), /* @__PURE__ */ S("p", {
468
474
  className: "text-sm font-medium text-foreground",
469
- children: new Date(J.createdAt).toLocaleString()
475
+ children: new Date(q.createdAt).toLocaleString()
470
476
  })] }),
471
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
477
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
472
478
  className: "text-xs text-muted-foreground",
473
- children: A("channel.updatedAt", "Updated At")
474
- }), /* @__PURE__ */ C("p", {
479
+ children: k("channel.updatedAt", "Updated At")
480
+ }), /* @__PURE__ */ S("p", {
475
481
  className: "text-sm font-medium text-foreground",
476
- children: new Date(J.updatedAt).toLocaleString()
482
+ children: new Date(q.updatedAt).toLocaleString()
477
483
  })] })
478
484
  ]
479
485
  }),
480
- J.tagAssignments && J.tagAssignments.length > 0 && /* @__PURE__ */ w("div", {
486
+ q.tagAssignments && q.tagAssignments.length > 0 && /* @__PURE__ */ C("div", {
481
487
  className: "mt-4",
482
- children: [/* @__PURE__ */ C("p", {
488
+ children: [/* @__PURE__ */ S("p", {
483
489
  className: "text-xs text-muted-foreground mb-1.5",
484
- children: A("channel.tags", "Tags")
485
- }), /* @__PURE__ */ C("div", {
490
+ children: k("channel.tags", "Tags")
491
+ }), /* @__PURE__ */ S("div", {
486
492
  className: "flex flex-wrap gap-1.5",
487
493
  "aria-label": "Channel tags",
488
- children: J.tagAssignments.map((e) => /* @__PURE__ */ C(Se, {
494
+ children: q.tagAssignments.map((e) => /* @__PURE__ */ S(Ce, {
489
495
  id: e.tagId,
490
496
  label: e.tagId,
491
497
  size: "md"
492
498
  }, e.id))
493
499
  })]
494
500
  }),
495
- J.healthCheckError && /* @__PURE__ */ w("div", {
501
+ q.healthCheckError && /* @__PURE__ */ C("div", {
496
502
  className: "mt-4 p-3 bg-status-error-bg-subtle border border-status-error-border rounded-lg",
497
- children: [/* @__PURE__ */ C("p", {
503
+ children: [/* @__PURE__ */ S("p", {
498
504
  className: "text-xs text-status-error-text font-medium",
499
- children: A("channel.lastHealthCheckError", "Last Health Check Error")
500
- }), /* @__PURE__ */ C("p", {
505
+ children: k("channel.lastHealthCheckError", "Last Health Check Error")
506
+ }), /* @__PURE__ */ S("p", {
501
507
  className: "text-sm text-status-error-text",
502
- children: J.healthCheckError
508
+ children: q.healthCheckError
503
509
  })]
504
510
  })
505
511
  ]
506
512
  }),
507
- /* @__PURE__ */ w("div", {
513
+ /* @__PURE__ */ C("div", {
508
514
  className: "grid gap-3 sm:grid-cols-3",
509
515
  children: [
510
- /* @__PURE__ */ w("button", {
511
- onClick: () => m("./deliveries"),
516
+ /* @__PURE__ */ C("button", {
517
+ type: "button",
518
+ onClick: () => p("./deliveries"),
512
519
  className: "flex items-center gap-3 p-3 bg-surface border border-border rounded-lg hover:bg-action-primary-bg/10 transition-colors text-left",
513
520
  children: [
514
- /* @__PURE__ */ C("div", {
521
+ /* @__PURE__ */ S("div", {
515
522
  className: "p-2 bg-accent-orange/10 rounded-lg",
516
- children: /* @__PURE__ */ C(ve, {
523
+ children: /* @__PURE__ */ S(ye, {
517
524
  size: 18,
518
525
  className: "text-accent-orange"
519
526
  })
520
527
  }),
521
- /* @__PURE__ */ w("div", {
528
+ /* @__PURE__ */ C("div", {
522
529
  className: "flex-1 min-w-0",
523
- children: [/* @__PURE__ */ C("p", {
530
+ children: [/* @__PURE__ */ S("p", {
524
531
  className: "text-sm font-medium text-foreground",
525
- children: A("channel.deliveryHistory", "Delivery History")
526
- }), /* @__PURE__ */ C("p", {
532
+ children: k("channel.deliveryHistory", "Delivery History")
533
+ }), /* @__PURE__ */ S("p", {
527
534
  className: "text-xs text-muted-foreground truncate",
528
- children: A("channel.viewMessageDeliveries", "View message deliveries")
535
+ children: k("channel.viewMessageDeliveries", "View message deliveries")
529
536
  })]
530
537
  }),
531
- /* @__PURE__ */ C(d, {
538
+ /* @__PURE__ */ S(u, {
532
539
  size: 16,
533
540
  className: "text-muted-foreground shrink-0"
534
541
  })
535
542
  ]
536
543
  }),
537
- /* @__PURE__ */ w("button", {
538
- onClick: () => m("./webhooks"),
544
+ /* @__PURE__ */ C("button", {
545
+ type: "button",
546
+ onClick: () => p("./webhooks"),
539
547
  className: "flex items-center gap-3 p-3 bg-surface border border-border rounded-lg hover:bg-action-primary-bg/10 transition-colors text-left",
540
548
  children: [
541
- /* @__PURE__ */ C("div", {
549
+ /* @__PURE__ */ S("div", {
542
550
  className: "p-2 bg-accent-purple/10 rounded-lg",
543
- children: /* @__PURE__ */ C(se, {
551
+ children: /* @__PURE__ */ S(ce, {
544
552
  size: 18,
545
553
  className: "text-accent-purple"
546
554
  })
547
555
  }),
548
- /* @__PURE__ */ w("div", {
556
+ /* @__PURE__ */ C("div", {
549
557
  className: "flex-1 min-w-0",
550
- children: [/* @__PURE__ */ C("p", {
558
+ children: [/* @__PURE__ */ S("p", {
551
559
  className: "text-sm font-medium text-foreground",
552
- children: A("channel.webhookEvents", "Webhook Events")
553
- }), /* @__PURE__ */ C("p", {
560
+ children: k("channel.webhookEvents", "Webhook Events")
561
+ }), /* @__PURE__ */ S("p", {
554
562
  className: "text-xs text-muted-foreground truncate",
555
- children: A("channel.viewIncomingWebhooks", "View incoming webhooks")
563
+ children: k("channel.viewIncomingWebhooks", "View incoming webhooks")
556
564
  })]
557
565
  }),
558
- /* @__PURE__ */ C(d, {
566
+ /* @__PURE__ */ S(u, {
559
567
  size: 16,
560
568
  className: "text-muted-foreground shrink-0"
561
569
  })
562
570
  ]
563
571
  }),
564
- /* @__PURE__ */ w("button", {
565
- onClick: () => m("./users"),
572
+ /* @__PURE__ */ C("button", {
573
+ type: "button",
574
+ onClick: () => p("./users"),
566
575
  className: "flex items-center gap-3 p-3 bg-surface border border-border rounded-lg hover:bg-action-primary-bg/10 transition-colors text-left",
567
576
  children: [
568
- /* @__PURE__ */ C("div", {
577
+ /* @__PURE__ */ S("div", {
569
578
  className: "p-2 bg-accent-blue/10 rounded-lg",
570
- children: /* @__PURE__ */ C(ye, {
579
+ children: /* @__PURE__ */ S(be, {
571
580
  size: 18,
572
581
  className: "text-accent-blue"
573
582
  })
574
583
  }),
575
- /* @__PURE__ */ w("div", {
584
+ /* @__PURE__ */ C("div", {
576
585
  className: "flex-1 min-w-0",
577
- children: [/* @__PURE__ */ C("p", {
586
+ children: [/* @__PURE__ */ S("p", {
578
587
  className: "text-sm font-medium text-foreground",
579
- children: A("channel.channelUsers", "Channel Users")
580
- }), /* @__PURE__ */ C("p", {
588
+ children: k("channel.channelUsers", "Channel Users")
589
+ }), /* @__PURE__ */ S("p", {
581
590
  className: "text-xs text-muted-foreground truncate",
582
- children: A("channel.viewConnectedUsers", "View connected users")
591
+ children: k("channel.viewConnectedUsers", "View connected users")
583
592
  })]
584
593
  }),
585
- /* @__PURE__ */ C(d, {
594
+ /* @__PURE__ */ S(u, {
586
595
  size: 16,
587
596
  className: "text-muted-foreground shrink-0"
588
597
  })
@@ -590,349 +599,365 @@ function O() {
590
599
  })
591
600
  ]
592
601
  }),
593
- /* @__PURE__ */ w("div", {
602
+ /* @__PURE__ */ C("div", {
594
603
  className: "p-4 bg-surface border border-border rounded-lg",
595
604
  children: [
596
- /* @__PURE__ */ w("div", {
605
+ /* @__PURE__ */ C("div", {
597
606
  className: "flex items-center justify-between mb-4",
598
- children: [/* @__PURE__ */ w("div", {
607
+ children: [/* @__PURE__ */ C("div", {
599
608
  className: "flex items-center gap-2",
600
- children: [/* @__PURE__ */ C(ce, {
609
+ children: [/* @__PURE__ */ S(le, {
601
610
  size: 20,
602
611
  className: "text-accent-primary"
603
- }), /* @__PURE__ */ C("h2", {
612
+ }), /* @__PURE__ */ S("h2", {
604
613
  className: "text-lg font-semibold text-foreground",
605
- children: A("channel.connectionAndCredentials", "Connection & Credentials")
614
+ children: k("channel.connectionAndCredentials", "Connection & Credentials")
606
615
  })]
607
- }), !$ && !P && /* @__PURE__ */ w("button", {
608
- onClick: () => F(!0),
616
+ }), !$ && !N && /* @__PURE__ */ C("button", {
617
+ type: "button",
618
+ onClick: () => P(!0),
609
619
  className: "flex items-center gap-2 px-3 py-2 text-sm font-medium text-action-primary-text bg-action-primary-bg hover:bg-action-primary-bg-hover rounded-lg transition-colors",
610
- children: [/* @__PURE__ */ C(pe, { size: 16 }), A("channel.addCredentials", "Add Credentials")]
620
+ children: [/* @__PURE__ */ S(me, { size: 16 }), k("channel.addCredentials", "Add Credentials")]
611
621
  })]
612
622
  }),
613
- $ && !P && /* @__PURE__ */ w("div", {
623
+ $ && !N && /* @__PURE__ */ C("div", {
614
624
  className: "space-y-4",
615
625
  children: [
616
- /* @__PURE__ */ w("div", {
626
+ /* @__PURE__ */ C("div", {
617
627
  className: "grid gap-4 sm:grid-cols-2",
618
628
  children: [
619
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
629
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
620
630
  className: "text-xs text-muted-foreground",
621
- children: A("channel.authType", "Auth Type")
622
- }), /* @__PURE__ */ C("p", {
631
+ children: k("channel.authType", "Auth Type")
632
+ }), /* @__PURE__ */ S("p", {
623
633
  className: "text-sm font-medium text-foreground",
624
- children: s($.authType, a, A)
634
+ children: o($.authType, a, k)
625
635
  })] }),
626
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
636
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
627
637
  className: "text-xs text-muted-foreground",
628
- children: A("channel.status", "Status")
629
- }), /* @__PURE__ */ w("div", {
638
+ children: k("channel.status", "Status")
639
+ }), /* @__PURE__ */ C("div", {
630
640
  className: "flex items-center gap-2",
631
- children: [$.isHealthy ? /* @__PURE__ */ C(p, {
641
+ children: [$.isHealthy ? /* @__PURE__ */ S(f, {
632
642
  size: 14,
633
643
  className: "text-status-success-text"
634
- }) : /* @__PURE__ */ C(x, {
644
+ }) : /* @__PURE__ */ S(b, {
635
645
  size: 14,
636
646
  className: "text-status-error-text"
637
- }), /* @__PURE__ */ C("span", {
647
+ }), /* @__PURE__ */ S("span", {
638
648
  className: `text-sm font-medium ${$.isHealthy ? "text-status-success-text" : "text-status-error-text"}`,
639
- children: $.isHealthy ? A("channel.healthy", "Healthy") : A("channel.unhealthy", "Unhealthy")
649
+ children: $.isHealthy ? k("channel.healthy", "Healthy") : k("channel.unhealthy", "Unhealthy")
640
650
  })]
641
651
  })] }),
642
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
652
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
643
653
  className: "text-xs text-muted-foreground",
644
- children: A("channel.lastTested", "Last Tested")
645
- }), /* @__PURE__ */ C("p", {
654
+ children: k("channel.lastTested", "Last Tested")
655
+ }), /* @__PURE__ */ S("p", {
646
656
  className: "text-sm font-medium text-foreground",
647
- children: $.lastTestedAt ? new Date($.lastTestedAt).toLocaleString() : A("channel.never", "Never")
657
+ children: $.lastTestedAt ? new Date($.lastTestedAt).toLocaleString() : k("channel.never", "Never")
648
658
  })] }),
649
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
659
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
650
660
  className: "text-xs text-muted-foreground",
651
- children: A("channel.testStatus", "Test Status")
652
- }), /* @__PURE__ */ C("p", {
661
+ children: k("channel.testStatus", "Test Status")
662
+ }), /* @__PURE__ */ S("p", {
653
663
  className: "text-sm font-medium text-foreground",
654
- children: $.testStatus || A("channel.notTested", "Not tested")
664
+ children: $.testStatus || k("channel.notTested", "Not tested")
655
665
  })] }),
656
- $.tokenExpiresAt && /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
666
+ $.tokenExpiresAt && /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
657
667
  className: "text-xs text-muted-foreground",
658
- children: A("channel.tokenExpires", "Token Expires")
659
- }), /* @__PURE__ */ w("p", {
668
+ children: k("channel.tokenExpires", "Token Expires")
669
+ }), /* @__PURE__ */ C("p", {
660
670
  className: `text-sm font-medium ${$.needsTokenRefresh ? "text-status-warning-text" : "text-foreground"}`,
661
- children: [new Date($.tokenExpiresAt).toLocaleString(), $.daysUntilExpiry !== void 0 && /* @__PURE__ */ w("span", {
671
+ children: [new Date($.tokenExpiresAt).toLocaleString(), $.daysUntilExpiry !== void 0 && /* @__PURE__ */ C("span", {
662
672
  className: "text-xs text-muted-foreground ml-1",
663
673
  children: [
664
674
  "(",
665
675
  $.daysUntilExpiry,
666
676
  " ",
667
- A("channel.days", "days"),
677
+ k("channel.days", "days"),
668
678
  ")"
669
679
  ]
670
680
  })]
671
681
  })] })
672
682
  ]
673
683
  }),
674
- z && /* @__PURE__ */ C("div", {
675
- className: `p-3 rounded-lg ${z.success ? "bg-status-success-bg-subtle border border-status-success-border" : "bg-status-error-bg-subtle border border-status-error-border"}`,
676
- children: /* @__PURE__ */ w("div", {
684
+ R && /* @__PURE__ */ S("div", {
685
+ className: `p-3 rounded-lg ${R.success ? "bg-status-success-bg-subtle border border-status-success-border" : "bg-status-error-bg-subtle border border-status-error-border"}`,
686
+ children: /* @__PURE__ */ C("div", {
677
687
  className: "flex items-center gap-2",
678
- children: [z.success ? /* @__PURE__ */ C(p, {
688
+ children: [R.success ? /* @__PURE__ */ S(f, {
679
689
  size: 16,
680
690
  className: "text-status-success-text"
681
- }) : /* @__PURE__ */ C(x, {
691
+ }) : /* @__PURE__ */ S(b, {
682
692
  size: 16,
683
693
  className: "text-status-error-text"
684
- }), /* @__PURE__ */ C("p", {
685
- className: `text-sm font-medium ${z.success ? "text-status-success-text" : "text-status-error-text"}`,
686
- children: z.message
694
+ }), /* @__PURE__ */ S("p", {
695
+ className: `text-sm font-medium ${R.success ? "text-status-success-text" : "text-status-error-text"}`,
696
+ children: R.message
687
697
  })]
688
698
  })
689
699
  }),
690
- /* @__PURE__ */ w("div", {
700
+ /* @__PURE__ */ C("div", {
691
701
  className: "flex items-center gap-2 pt-2",
692
702
  children: [
693
- /* @__PURE__ */ C(r, {
703
+ /* @__PURE__ */ S(r, {
694
704
  permission: i.CHANNEL_CONNECTION_UPDATE,
695
- children: /* @__PURE__ */ w("button", {
696
- onClick: () => Be($.id),
697
- disabled: M === "test",
705
+ children: /* @__PURE__ */ C("button", {
706
+ type: "button",
707
+ onClick: () => Ve($.id),
708
+ disabled: j === "test",
698
709
  className: "flex items-center gap-2 px-3 py-2 text-sm text-status-info-text hover:bg-status-info-bg-subtle rounded-lg transition-colors disabled:opacity-50",
699
- children: [M === "test" ? /* @__PURE__ */ C(h, {
710
+ children: [j === "test" ? /* @__PURE__ */ S(m, {
700
711
  size: 16,
701
712
  className: "animate-spin"
702
- }) : /* @__PURE__ */ C(fe, { size: 16 }), A("channel.testConnection", "Test Connection")]
713
+ }) : /* @__PURE__ */ S(pe, { size: 16 }), k("channel.testConnection", "Test Connection")]
703
714
  })
704
715
  }),
705
- /* @__PURE__ */ w("button", {
716
+ /* @__PURE__ */ C("button", {
717
+ type: "button",
706
718
  onClick: () => {
707
- F(!0), L($?.platformMetadata ?? {});
719
+ P(!0), I($?.platformMetadata ?? {});
708
720
  },
709
721
  className: "flex items-center gap-2 px-3 py-2 text-sm text-muted-foreground hover:text-accent-primary hover:bg-accent-primary/10 rounded-lg transition-colors",
710
- children: [/* @__PURE__ */ C(g, { size: 16 }), A("channel.updateCredentials", "Update Credentials")]
722
+ children: [/* @__PURE__ */ S(h, { size: 16 }), k("channel.updateCredentials", "Update Credentials")]
711
723
  }),
712
- /* @__PURE__ */ C(r, {
724
+ /* @__PURE__ */ S(r, {
713
725
  permission: i.CHANNEL_CONNECTION_DELETE,
714
- children: /* @__PURE__ */ w("button", {
715
- onClick: () => ze($.id),
716
- disabled: M === "delete-connection",
726
+ children: /* @__PURE__ */ C("button", {
727
+ type: "button",
728
+ onClick: () => Be($.id),
729
+ disabled: j === "delete-connection",
717
730
  className: "flex items-center gap-2 px-3 py-2 text-sm text-status-error-text hover:bg-status-error-bg-subtle rounded-lg transition-colors disabled:opacity-50",
718
- children: [M === "delete-connection" ? /* @__PURE__ */ C(h, {
731
+ children: [j === "delete-connection" ? /* @__PURE__ */ S(m, {
719
732
  size: 16,
720
733
  className: "animate-spin"
721
- }) : /* @__PURE__ */ C(_e, { size: 16 }), A("channel.remove", "Remove")]
734
+ }) : /* @__PURE__ */ S(ve, { size: 16 }), k("channel.remove", "Remove")]
722
735
  })
723
736
  })
724
737
  ]
725
738
  })
726
739
  ]
727
740
  }),
728
- !$ && !P && /* @__PURE__ */ w("div", {
741
+ !$ && !N && /* @__PURE__ */ C("div", {
729
742
  className: "text-center py-8",
730
743
  children: [
731
- /* @__PURE__ */ C(f, {
744
+ /* @__PURE__ */ S(d, {
732
745
  size: 32,
733
746
  className: "mx-auto text-muted-foreground mb-3"
734
747
  }),
735
- /* @__PURE__ */ C("p", {
748
+ /* @__PURE__ */ S("p", {
736
749
  className: "text-sm text-muted-foreground mb-2",
737
- children: A("channel.noCredentialsConfigured", "No credentials configured for this channel")
750
+ children: k("channel.noCredentialsConfigured", "No credentials configured for this channel")
738
751
  }),
739
- /* @__PURE__ */ C("p", {
752
+ /* @__PURE__ */ S("p", {
740
753
  className: "text-xs text-muted-foreground",
741
- children: A("channel.addCredentialsHint", "Add credentials to enable message delivery through this channel")
754
+ children: k("channel.addCredentialsHint", "Add credentials to enable message delivery through this channel")
742
755
  })
743
756
  ]
744
757
  }),
745
- P && /* @__PURE__ */ w("div", {
758
+ N && /* @__PURE__ */ C("div", {
746
759
  className: "space-y-4",
747
760
  children: [
748
- !J.adapterType && /* @__PURE__ */ C("div", {
761
+ !q.adapterType && /* @__PURE__ */ S("div", {
749
762
  className: "p-3 bg-accent-orange/10 border border-accent-orange/30 rounded-lg",
750
- children: /* @__PURE__ */ w("div", {
763
+ children: /* @__PURE__ */ C("div", {
751
764
  className: "flex items-start gap-2",
752
- children: [/* @__PURE__ */ C(l, {
765
+ children: [/* @__PURE__ */ S(c, {
753
766
  size: 16,
754
767
  className: "text-accent-orange mt-0.5"
755
- }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
768
+ }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
756
769
  className: "text-sm font-medium text-accent-orange",
757
- children: A("channel.noAdapterTypeConfigured", "No adapter type configured")
758
- }), /* @__PURE__ */ C("p", {
770
+ children: k("channel.noAdapterTypeConfigured", "No adapter type configured")
771
+ }), /* @__PURE__ */ S("p", {
759
772
  className: "text-xs text-muted-foreground mt-1",
760
- children: A("channel.noAdapterTypeConfiguredHint", "You can still add credentials below. The system will attempt to validate them when the channel is configured with an adapter type.")
773
+ children: k("channel.noAdapterTypeConfiguredHint", "You can still add credentials below. The system will attempt to validate them when the channel is configured with an adapter type.")
761
774
  })] })]
762
775
  })
763
776
  }),
764
- /* @__PURE__ */ C(ne, {
765
- adapterType: J.adapterType ?? void 0,
766
- credentials: I,
767
- onChange: L,
768
- onValidationChange: (e) => R(e),
769
- disabled: M === "connection"
777
+ /* @__PURE__ */ S(re, {
778
+ adapterType: q.adapterType ?? void 0,
779
+ credentials: F,
780
+ onChange: I,
781
+ onValidationChange: (e) => L(e),
782
+ disabled: j === "connection"
770
783
  }),
771
- J.adapterType && /* @__PURE__ */ C("div", {
784
+ q.adapterType && /* @__PURE__ */ S("div", {
772
785
  className: "pt-2",
773
- children: /* @__PURE__ */ C(re, {
774
- adapterType: J.adapterType,
775
- credentials: I
786
+ children: /* @__PURE__ */ S(ie, {
787
+ adapterType: q.adapterType,
788
+ credentials: F
776
789
  })
777
790
  }),
778
- /* @__PURE__ */ w("div", {
791
+ /* @__PURE__ */ C("div", {
779
792
  className: "flex items-center gap-2 pt-2 border-t border-border",
780
- children: [/* @__PURE__ */ C(r, {
793
+ children: [/* @__PURE__ */ S(r, {
781
794
  permission: i.CHANNEL_CONNECTION_UPDATE,
782
- children: /* @__PURE__ */ w("button", {
795
+ children: /* @__PURE__ */ C("button", {
796
+ type: "button",
783
797
  onClick: () => {
784
- $ ? Re($.id) : Le();
798
+ $ ? ze($.id) : Re();
785
799
  },
786
- disabled: M === "connection" || !Ce && !!J.adapterType,
800
+ disabled: j === "connection" || !we && !!q.adapterType,
787
801
  className: "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 disabled:opacity-50 disabled:cursor-not-allowed",
788
- children: [M === "connection" ? /* @__PURE__ */ C(h, {
802
+ children: [j === "connection" ? /* @__PURE__ */ S(m, {
789
803
  size: 16,
790
804
  className: "animate-spin"
791
- }) : /* @__PURE__ */ C(v, { size: 16 }), $ ? A("channel.updateCredentials", "Update Credentials") : A("channel.saveCredentials", "Save Credentials")]
805
+ }) : /* @__PURE__ */ S(_, { size: 16 }), $ ? k("channel.updateCredentials", "Update Credentials") : k("channel.saveCredentials", "Save Credentials")]
792
806
  })
793
- }), /* @__PURE__ */ w("button", {
807
+ }), /* @__PURE__ */ C("button", {
808
+ type: "button",
794
809
  onClick: () => {
795
- F(!1), L({}), R(!1);
810
+ P(!1), I({}), L(!1);
796
811
  },
797
812
  className: "flex items-center gap-2 px-4 py-2 text-sm text-muted-foreground hover:bg-muted rounded-lg transition-colors",
798
- children: [/* @__PURE__ */ C(b, { size: 16 }), A("channel.cancel", "Cancel")]
813
+ children: [/* @__PURE__ */ S(y, { size: 16 }), k("channel.cancel", "Cancel")]
799
814
  })]
800
815
  })
801
816
  ]
802
817
  })
803
818
  ]
804
819
  }),
805
- we && /* @__PURE__ */ C("div", {
820
+ Te && /* @__PURE__ */ S("div", {
806
821
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50",
807
- children: /* @__PURE__ */ w("div", {
822
+ children: /* @__PURE__ */ C("div", {
808
823
  className: "w-full max-w-md mx-4 p-6 bg-surface border border-border rounded-lg shadow-xl",
809
- children: [/* @__PURE__ */ w("div", {
824
+ children: [/* @__PURE__ */ C("div", {
810
825
  className: "flex items-center justify-between mb-4",
811
- children: [/* @__PURE__ */ w("div", {
826
+ children: [/* @__PURE__ */ C("div", {
812
827
  className: "flex items-center gap-2",
813
- children: [/* @__PURE__ */ C(y, {
828
+ children: [/* @__PURE__ */ S(v, {
814
829
  size: 20,
815
830
  className: "text-accent-primary"
816
- }), /* @__PURE__ */ w("h3", {
831
+ }), /* @__PURE__ */ C("h3", {
817
832
  className: "text-lg font-semibold text-foreground",
818
833
  children: [
819
834
  "Test ",
820
- T[J.platform]?.label || J.platform,
835
+ w[q.platform]?.label || q.platform,
821
836
  " Channel"
822
837
  ]
823
838
  })]
824
- }), /* @__PURE__ */ C("button", {
825
- onClick: () => V(!1),
839
+ }), /* @__PURE__ */ S("button", {
840
+ type: "button",
841
+ onClick: () => B(!1),
826
842
  className: "p-1 text-muted-foreground hover:text-foreground rounded",
827
- children: /* @__PURE__ */ C(b, { size: 20 })
843
+ children: /* @__PURE__ */ S(y, { size: 20 })
828
844
  })]
829
- }), /* @__PURE__ */ w("div", {
845
+ }), /* @__PURE__ */ C("div", {
830
846
  className: "space-y-4",
831
847
  children: [
832
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("label", {
848
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("label", {
833
849
  className: "block text-sm font-medium text-foreground mb-1.5",
834
850
  children: [
835
- Ue(J.platform),
851
+ Ue(q.platform),
836
852
  " ",
837
- /* @__PURE__ */ C("span", {
853
+ /* @__PURE__ */ S("span", {
838
854
  className: "text-status-error-text",
839
855
  children: "*"
840
856
  })
841
857
  ]
842
- }), /* @__PURE__ */ w("div", {
858
+ }), /* @__PURE__ */ C("div", {
843
859
  className: "relative",
844
- children: [/* @__PURE__ */ C("input", {
860
+ children: [/* @__PURE__ */ S("input", {
861
+ "aria-label": Y(q.platform),
845
862
  type: "text",
846
- value: H,
847
- onChange: (e) => U(e.target.value),
848
- placeholder: He(J.platform),
863
+ value: V,
864
+ onChange: (e) => H(e.target.value),
865
+ placeholder: Y(q.platform),
849
866
  className: "w-full pl-9 pr-3 py-2 text-sm bg-surface border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-action-primary-bg"
850
- }), /* @__PURE__ */ C("div", {
867
+ }), /* @__PURE__ */ S("div", {
851
868
  className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground",
852
- children: J.platform === "EMAIL" ? /* @__PURE__ */ C(le, { size: 16 }) : J.platform === "SMS" || J.platform === "WHATSAPP" ? /* @__PURE__ */ C(de, { size: 16 }) : /* @__PURE__ */ C(ue, { size: 16 })
869
+ children: q.platform === "EMAIL" ? /* @__PURE__ */ S(ue, { size: 16 }) : q.platform === "SMS" || q.platform === "WHATSAPP" ? /* @__PURE__ */ S(fe, { size: 16 }) : /* @__PURE__ */ S(de, { size: 16 })
853
870
  })]
854
871
  })] }),
855
- J.platform === "EMAIL" && /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("label", {
872
+ q.platform === "EMAIL" && /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("label", {
873
+ htmlFor: "channel-details-test-subject",
856
874
  className: "block text-sm font-medium text-foreground mb-1.5",
857
875
  children: "Subject"
858
- }), /* @__PURE__ */ C("input", {
876
+ }), /* @__PURE__ */ S("input", {
877
+ id: "channel-details-test-subject",
878
+ "aria-label": "Email subject",
859
879
  type: "text",
860
- value: W,
861
- onChange: (e) => Te(e.target.value),
880
+ value: U,
881
+ onChange: (e) => Ee(e.target.value),
862
882
  placeholder: "Email subject",
863
883
  className: "w-full px-3 py-2 text-sm bg-surface border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-action-primary-bg"
864
884
  })] }),
865
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("label", {
885
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("label", {
886
+ htmlFor: "channel-details-test-message",
866
887
  className: "block text-sm font-medium text-foreground mb-1.5",
867
888
  children: "Message"
868
- }), /* @__PURE__ */ C("textarea", {
869
- value: G,
870
- onChange: (e) => Ee(e.target.value),
889
+ }), /* @__PURE__ */ S("textarea", {
890
+ id: "channel-details-test-message",
891
+ "aria-label": "Test message content",
892
+ value: W,
893
+ onChange: (e) => De(e.target.value),
871
894
  placeholder: "Test message content",
872
895
  rows: 3,
873
896
  className: "w-full px-3 py-2 text-sm bg-surface border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-action-primary-bg resize-none"
874
897
  })] }),
875
- K && /* @__PURE__ */ C("div", {
876
- className: `p-3 rounded-lg ${K.success ? "bg-status-success-bg-subtle border border-status-success-border" : "bg-status-error-bg-subtle border border-status-error-border"}`,
877
- children: /* @__PURE__ */ w("div", {
898
+ G && /* @__PURE__ */ S("div", {
899
+ className: `p-3 rounded-lg ${G.success ? "bg-status-success-bg-subtle border border-status-success-border" : "bg-status-error-bg-subtle border border-status-error-border"}`,
900
+ children: /* @__PURE__ */ C("div", {
878
901
  className: "flex items-start gap-2",
879
- children: [K.success ? /* @__PURE__ */ C(p, {
902
+ children: [G.success ? /* @__PURE__ */ S(f, {
880
903
  size: 16,
881
904
  className: "text-status-success-text mt-0.5"
882
- }) : /* @__PURE__ */ C(x, {
905
+ }) : /* @__PURE__ */ S(b, {
883
906
  size: 16,
884
907
  className: "text-status-error-text mt-0.5"
885
- }), /* @__PURE__ */ w("div", {
908
+ }), /* @__PURE__ */ C("div", {
886
909
  className: "flex-1",
887
910
  children: [
888
- /* @__PURE__ */ C("p", {
889
- className: `text-sm font-medium ${K.success ? "text-status-success-text" : "text-status-error-text"}`,
890
- children: K.success ? A("channel.messageSentSuccess", "Message sent successfully!") : A("channel.messageSendFailed", "Failed to send message")
911
+ /* @__PURE__ */ S("p", {
912
+ className: `text-sm font-medium ${G.success ? "text-status-success-text" : "text-status-error-text"}`,
913
+ children: G.success ? k("channel.messageSentSuccess", "Message sent successfully!") : k("channel.messageSendFailed", "Failed to send message")
891
914
  }),
892
- K.messageId && /* @__PURE__ */ w("p", {
915
+ G.messageId && /* @__PURE__ */ C("p", {
893
916
  className: "text-xs text-success-600 mt-1",
894
- children: ["Message ID: ", K.messageId]
917
+ children: ["Message ID: ", G.messageId]
895
918
  }),
896
- K.externalId && /* @__PURE__ */ w("p", {
919
+ G.externalId && /* @__PURE__ */ C("p", {
897
920
  className: "text-xs text-muted-foreground mt-1",
898
- children: ["External ID: ", K.externalId]
921
+ children: ["External ID: ", G.externalId]
899
922
  }),
900
- K.status && /* @__PURE__ */ w("p", {
923
+ G.status && /* @__PURE__ */ C("p", {
901
924
  className: "text-xs text-muted-foreground mt-1",
902
- children: ["Status: ", K.status]
925
+ children: ["Status: ", G.status]
903
926
  }),
904
- K.error && /* @__PURE__ */ w("p", {
927
+ G.error && /* @__PURE__ */ C("p", {
905
928
  className: "text-xs text-status-error-text mt-1",
906
- children: [K.error.message, K.error.retryable && /* @__PURE__ */ C("span", {
929
+ children: [G.error.message, G.error.retryable && /* @__PURE__ */ S("span", {
907
930
  className: "text-warning-600 ml-1",
908
931
  children: "(will retry)"
909
932
  })]
910
933
  }),
911
- K.sentAt && /* @__PURE__ */ w("p", {
934
+ G.sentAt && /* @__PURE__ */ C("p", {
912
935
  className: "text-xs text-muted-foreground mt-1",
913
- children: ["Sent at: ", new Date(K.sentAt).toLocaleString()]
936
+ children: ["Sent at: ", new Date(G.sentAt).toLocaleString()]
914
937
  })
915
938
  ]
916
939
  })]
917
940
  })
918
941
  }),
919
- /* @__PURE__ */ w("div", {
942
+ /* @__PURE__ */ C("div", {
920
943
  className: "flex items-center gap-2 pt-2",
921
- children: [/* @__PURE__ */ C(r, {
944
+ children: [/* @__PURE__ */ S(r, {
922
945
  permission: i.CHANNEL_DELIVERY_SEND,
923
- children: /* @__PURE__ */ w("button", {
924
- onClick: Ve,
925
- disabled: M === "send-test" || !H.trim(),
946
+ children: /* @__PURE__ */ C("button", {
947
+ type: "button",
948
+ onClick: He,
949
+ disabled: j === "send-test" || !V.trim(),
926
950
  className: "flex-1 flex items-center justify-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 disabled:opacity-50 disabled:cursor-not-allowed",
927
- children: [M === "send-test" ? /* @__PURE__ */ C(h, {
951
+ children: [j === "send-test" ? /* @__PURE__ */ S(m, {
928
952
  size: 16,
929
953
  className: "animate-spin"
930
- }) : /* @__PURE__ */ C(y, { size: 16 }), A("channel.sendTest", "Send Test")]
954
+ }) : /* @__PURE__ */ S(v, { size: 16 }), k("channel.sendTest", "Send Test")]
931
955
  })
932
- }), /* @__PURE__ */ C("button", {
933
- onClick: () => V(!1),
956
+ }), /* @__PURE__ */ S("button", {
957
+ type: "button",
958
+ onClick: () => B(!1),
934
959
  className: "px-4 py-2 text-sm text-muted-foreground hover:bg-muted rounded-lg transition-colors",
935
- children: A("channel.close", "Close")
960
+ children: k("channel.close", "Close")
936
961
  })]
937
962
  })
938
963
  ]
@@ -944,6 +969,6 @@ function O() {
944
969
  });
945
970
  }
946
971
  //#endregion
947
- export { O as ChannelDetailsPage };
972
+ export { D as ChannelDetailsPage };
948
973
 
949
974
  //# sourceMappingURL=ChannelDetailsPage.js.map