@burdenoff/microfe-channel 2026.510.112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +147 -0
- package/dist/channel/ChannelRoot.d.ts +32 -0
- package/dist/channel/ChannelRoot.d.ts.map +1 -0
- package/dist/channel/ChannelRoot.js +81 -0
- package/dist/channel/ChannelRoot.js.map +1 -0
- package/dist/channel/ChannelRoutes.d.ts +10 -0
- package/dist/channel/ChannelRoutes.d.ts.map +1 -0
- package/dist/channel/ChannelRoutes.js +104 -0
- package/dist/channel/ChannelRoutes.js.map +1 -0
- package/dist/channel/components/AdapterCredentialsForm.d.ts +20 -0
- package/dist/channel/components/AdapterCredentialsForm.d.ts.map +1 -0
- package/dist/channel/components/AdapterCredentialsForm.js +230 -0
- package/dist/channel/components/AdapterCredentialsForm.js.map +1 -0
- package/dist/channel/components/FeatureNotEnabled.d.ts +10 -0
- package/dist/channel/components/FeatureNotEnabled.d.ts.map +1 -0
- package/dist/channel/components/FeatureNotEnabled.js +32 -0
- package/dist/channel/components/FeatureNotEnabled.js.map +1 -0
- package/dist/channel/components/PermissionGuard.d.ts +15 -0
- package/dist/channel/components/PermissionGuard.d.ts.map +1 -0
- package/dist/channel/components/PermissionGuard.js +23 -0
- package/dist/channel/components/PermissionGuard.js.map +1 -0
- package/dist/channel/config/adapterCredentials.d.ts +44 -0
- package/dist/channel/config/adapterCredentials.d.ts.map +1 -0
- package/dist/channel/config/adapterCredentials.js +946 -0
- package/dist/channel/config/adapterCredentials.js.map +1 -0
- package/dist/channel/constants/permissions.d.ts +32 -0
- package/dist/channel/constants/permissions.d.ts.map +1 -0
- package/dist/channel/constants/permissions.js +30 -0
- package/dist/channel/constants/permissions.js.map +1 -0
- package/dist/channel/graphql/global-client.d.ts +11 -0
- package/dist/channel/graphql/global-client.d.ts.map +1 -0
- package/dist/channel/graphql/global-client.js +56 -0
- package/dist/channel/graphql/global-client.js.map +1 -0
- package/dist/channel/hooks/useChannelOrgSettings.d.ts +22 -0
- package/dist/channel/hooks/useChannelOrgSettings.d.ts.map +1 -0
- package/dist/channel/hooks/useChannelOrgSettings.js +61 -0
- package/dist/channel/hooks/useChannelOrgSettings.js.map +1 -0
- package/dist/channel/hooks/useChannelSubscription.d.ts +36 -0
- package/dist/channel/hooks/useChannelSubscription.d.ts.map +1 -0
- package/dist/channel/hooks/useChannelSubscription.js +111 -0
- package/dist/channel/hooks/useChannelSubscription.js.map +1 -0
- package/dist/channel/hooks/useChannels.d.ts +214 -0
- package/dist/channel/hooks/useChannels.d.ts.map +1 -0
- package/dist/channel/hooks/useChannels.js +416 -0
- package/dist/channel/hooks/useChannels.js.map +1 -0
- package/dist/channel/index.d.ts +12 -0
- package/dist/channel/index.d.ts.map +1 -0
- package/dist/channel/index.js +2 -0
- package/dist/channel/modules/channels/hooks/useExport.d.ts +45 -0
- package/dist/channel/modules/channels/hooks/useExport.d.ts.map +1 -0
- package/dist/channel/modules/channels/hooks/useExport.js +195 -0
- package/dist/channel/modules/channels/hooks/useExport.js.map +1 -0
- package/dist/channel/modules/channels/i18n.d.ts +14 -0
- package/dist/channel/modules/channels/i18n.d.ts.map +1 -0
- package/dist/channel/modules/channels/i18n.js +110 -0
- package/dist/channel/modules/channels/i18n.js.map +1 -0
- package/dist/channel/modules/channels/pages/ChannelDashboardPage.d.ts +14 -0
- package/dist/channel/modules/channels/pages/ChannelDashboardPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/ChannelDashboardPage.js +680 -0
- package/dist/channel/modules/channels/pages/ChannelDashboardPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/ChannelDetailsPage.d.ts +7 -0
- package/dist/channel/modules/channels/pages/ChannelDetailsPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/ChannelDetailsPage.js +949 -0
- package/dist/channel/modules/channels/pages/ChannelDetailsPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/ChannelSettingsPage.d.ts +7 -0
- package/dist/channel/modules/channels/pages/ChannelSettingsPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/ChannelSettingsPage.js +404 -0
- package/dist/channel/modules/channels/pages/ChannelSettingsPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/ChannelUsersPage.d.ts +7 -0
- package/dist/channel/modules/channels/pages/ChannelUsersPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/ChannelUsersPage.js +315 -0
- package/dist/channel/modules/channels/pages/ChannelUsersPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/ChannelsListPage.d.ts +7 -0
- package/dist/channel/modules/channels/pages/ChannelsListPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/ChannelsListPage.js +604 -0
- package/dist/channel/modules/channels/pages/ChannelsListPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/ConnectionDetailsPage.d.ts +7 -0
- package/dist/channel/modules/channels/pages/ConnectionDetailsPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js +323 -0
- package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/ConnectionsListPage.d.ts +7 -0
- package/dist/channel/modules/channels/pages/ConnectionsListPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/ConnectionsListPage.js +276 -0
- package/dist/channel/modules/channels/pages/ConnectionsListPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/CreateChannelPage.d.ts +12 -0
- package/dist/channel/modules/channels/pages/CreateChannelPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/CreateChannelPage.js +456 -0
- package/dist/channel/modules/channels/pages/CreateChannelPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/CreateConnectionPage.d.ts +11 -0
- package/dist/channel/modules/channels/pages/CreateConnectionPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/CreateConnectionPage.js +219 -0
- package/dist/channel/modules/channels/pages/CreateConnectionPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/DeliveryHistoryPage.d.ts +7 -0
- package/dist/channel/modules/channels/pages/DeliveryHistoryPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js +375 -0
- package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/EditChannelPage.d.ts +8 -0
- package/dist/channel/modules/channels/pages/EditChannelPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/EditChannelPage.js +459 -0
- package/dist/channel/modules/channels/pages/EditChannelPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/EditConnectionPage.d.ts +10 -0
- package/dist/channel/modules/channels/pages/EditConnectionPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/EditConnectionPage.js +199 -0
- package/dist/channel/modules/channels/pages/EditConnectionPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/SendMessagePage.d.ts +8 -0
- package/dist/channel/modules/channels/pages/SendMessagePage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/SendMessagePage.js +403 -0
- package/dist/channel/modules/channels/pages/SendMessagePage.js.map +1 -0
- package/dist/channel/modules/channels/pages/WebhookEventsPage.d.ts +7 -0
- package/dist/channel/modules/channels/pages/WebhookEventsPage.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/WebhookEventsPage.js +303 -0
- package/dist/channel/modules/channels/pages/WebhookEventsPage.js.map +1 -0
- package/dist/channel/modules/channels/pages/index.d.ts +18 -0
- package/dist/channel/modules/channels/pages/index.d.ts.map +1 -0
- package/dist/channel/modules/channels/pages/index.js +14 -0
- package/dist/channel/pages/ChannelLandingPage.d.ts +9 -0
- package/dist/channel/pages/ChannelLandingPage.d.ts.map +1 -0
- package/dist/channel/pages/ChannelLandingPage.js +72 -0
- package/dist/channel/pages/ChannelLandingPage.js.map +1 -0
- package/dist/channel/providers/ChannelProvider.d.ts +16 -0
- package/dist/channel/providers/ChannelProvider.d.ts.map +1 -0
- package/dist/channel/providers/ChannelProvider.js +35 -0
- package/dist/channel/providers/ChannelProvider.js.map +1 -0
- package/dist/channel/types/index.d.ts +89 -0
- package/dist/channel/types/index.d.ts.map +1 -0
- package/dist/channel/utils/shellBridge.d.ts +59 -0
- package/dist/channel/utils/shellBridge.d.ts.map +1 -0
- package/dist/channel/utils/shellBridge.js +36 -0
- package/dist/channel/utils/shellBridge.js.map +1 -0
- package/dist/dev/App.d.ts +6 -0
- package/dist/dev/App.d.ts.map +1 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/generated/global-operations.d.ts +1547 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-operations.js +466 -0
- package/dist/generated/global-operations.js.map +1 -0
- package/dist/generated/global-types.d.ts +21289 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/global-types.js +14 -0
- package/dist/generated/global-types.js.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +55214 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js +24 -0
- package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js.map +1 -0
- package/dist/node_modules/@apollo/client/errors/utils.js +16 -0
- package/dist/node_modules/@apollo/client/errors/utils.js.map +1 -0
- package/dist/utils/nativeBridge.d.ts +3 -0
- package/dist/utils/nativeBridge.d.ts.map +1 -0
- package/dist/utils/nativeBridge.js +2 -0
- package/package.json +116 -0
|
@@ -0,0 +1,604 @@
|
|
|
1
|
+
import { useChannel as e } from "../../../providers/ChannelProvider.js";
|
|
2
|
+
import { nativeConfirm as t, nativeImpact as n, nativeNotify as r } from "../../../../utils/nativeBridge.js";
|
|
3
|
+
import { reportShellError as i, subscribeShellEvent as a } from "../../../utils/shellBridge.js";
|
|
4
|
+
import { useChannels as o } from "../../../hooks/useChannels.js";
|
|
5
|
+
import { PermissionGuard as s } from "../../../components/PermissionGuard.js";
|
|
6
|
+
import { CHANNEL_PERMISSIONS as c } from "../../../constants/permissions.js";
|
|
7
|
+
import { HEALTH_I18N as l, PLATFORM_I18N as ee, STATUS_I18N as te, translateLabel as u } from "../i18n.js";
|
|
8
|
+
import { useExportChannels as d } from "../hooks/useExport.js";
|
|
9
|
+
import { useEffect as ne, useMemo as f, useState as p } from "react";
|
|
10
|
+
import { useI18n as m } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
11
|
+
import { AlertCircle as re, AlertTriangle as h, CheckCircle2 as g, Download as ie, Eye as ae, HelpCircle as _, Loader2 as v, Pencil as oe, Plus as y, Power as se, PowerOff as b, Radio as x, RefreshCw as S, Search as C, Trash2 as ce, XCircle as w } from "lucide-react";
|
|
12
|
+
import { useNavigate as le } from "react-router-dom";
|
|
13
|
+
import { jsx as T, jsxs as E } from "react/jsx-runtime";
|
|
14
|
+
import { TagBadge as D } from "@burdenoff/fe-libs/tag";
|
|
15
|
+
//#region src/channel/modules/channels/pages/ChannelsListPage.tsx
|
|
16
|
+
var O = {
|
|
17
|
+
EMAIL: {
|
|
18
|
+
label: "Email",
|
|
19
|
+
color: "bg-accent-blue-subtle text-accent-blue"
|
|
20
|
+
},
|
|
21
|
+
SMS: {
|
|
22
|
+
label: "SMS",
|
|
23
|
+
color: "bg-status-success-bg-subtle text-status-success-text"
|
|
24
|
+
},
|
|
25
|
+
PUSH: {
|
|
26
|
+
label: "Push",
|
|
27
|
+
color: "bg-accent-purple-subtle text-accent-purple"
|
|
28
|
+
},
|
|
29
|
+
INAPP: {
|
|
30
|
+
label: "In-App",
|
|
31
|
+
color: "bg-accent-indigo-subtle text-accent-indigo"
|
|
32
|
+
},
|
|
33
|
+
WEBHOOK: {
|
|
34
|
+
label: "Webhook",
|
|
35
|
+
color: "bg-accent-orange-subtle text-accent-orange"
|
|
36
|
+
},
|
|
37
|
+
SLACK: {
|
|
38
|
+
label: "Slack",
|
|
39
|
+
color: "bg-accent-pink-subtle text-accent-pink"
|
|
40
|
+
},
|
|
41
|
+
TEAMS: {
|
|
42
|
+
label: "Teams",
|
|
43
|
+
color: "bg-accent-cyan-subtle text-accent-cyan"
|
|
44
|
+
},
|
|
45
|
+
DISCORD: {
|
|
46
|
+
label: "Discord",
|
|
47
|
+
color: "bg-accent-violet-subtle text-accent-violet"
|
|
48
|
+
},
|
|
49
|
+
WHATSAPP: {
|
|
50
|
+
label: "WhatsApp",
|
|
51
|
+
color: "bg-accent-emerald-subtle text-accent-emerald"
|
|
52
|
+
},
|
|
53
|
+
WEBCHAT: {
|
|
54
|
+
label: "Webchat",
|
|
55
|
+
color: "bg-accent-teal-subtle text-accent-teal"
|
|
56
|
+
}
|
|
57
|
+
}, k = {
|
|
58
|
+
ACTIVE: {
|
|
59
|
+
label: "Active",
|
|
60
|
+
color: "text-success-500 bg-success-100",
|
|
61
|
+
icon: g
|
|
62
|
+
},
|
|
63
|
+
INACTIVE: {
|
|
64
|
+
label: "Inactive",
|
|
65
|
+
color: "text-muted-foreground bg-muted",
|
|
66
|
+
icon: b
|
|
67
|
+
},
|
|
68
|
+
ERROR: {
|
|
69
|
+
label: "Error",
|
|
70
|
+
color: "text-error-500 bg-error-100",
|
|
71
|
+
icon: w
|
|
72
|
+
},
|
|
73
|
+
SUSPENDED: {
|
|
74
|
+
label: "Suspended",
|
|
75
|
+
color: "text-warning-500 bg-warning-100",
|
|
76
|
+
icon: h
|
|
77
|
+
},
|
|
78
|
+
ARCHIVED: {
|
|
79
|
+
label: "Archived",
|
|
80
|
+
color: "text-muted-foreground bg-muted",
|
|
81
|
+
icon: b
|
|
82
|
+
}
|
|
83
|
+
}, A = {
|
|
84
|
+
HEALTHY: {
|
|
85
|
+
label: "Healthy",
|
|
86
|
+
color: "text-success-500",
|
|
87
|
+
icon: g
|
|
88
|
+
},
|
|
89
|
+
DEGRADED: {
|
|
90
|
+
label: "Degraded",
|
|
91
|
+
color: "text-warning-500",
|
|
92
|
+
icon: h
|
|
93
|
+
},
|
|
94
|
+
UNHEALTHY: {
|
|
95
|
+
label: "Unhealthy",
|
|
96
|
+
color: "text-error-500",
|
|
97
|
+
icon: w
|
|
98
|
+
},
|
|
99
|
+
UNKNOWN: {
|
|
100
|
+
label: "Unknown",
|
|
101
|
+
color: "text-muted-foreground",
|
|
102
|
+
icon: _
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
function j() {
|
|
106
|
+
let h = le(), { t: g } = m(), _ = (e, t) => {
|
|
107
|
+
let n = g(e);
|
|
108
|
+
return n === e ? t : n;
|
|
109
|
+
}, [w, j] = p(null), [ue, M] = p(null), [N, P] = p(/* @__PURE__ */ new Set()), [F, I] = p(null), { organizationId: L } = e(), { triggerExport: R, isExporting: z } = d(L ?? void 0), { channels: B, isLoading: V, error: H, total: de, filter: U, updateFilter: W, deleteChannel: G, activateChannel: K, deactivateChannel: q, runHealthCheck: J, refetch: Y } = o();
|
|
110
|
+
ne(() => {
|
|
111
|
+
let e = [
|
|
112
|
+
"channel.created",
|
|
113
|
+
"channel.updated",
|
|
114
|
+
"channel.deleted",
|
|
115
|
+
"connection.created",
|
|
116
|
+
"connection.updated",
|
|
117
|
+
"connection.deleted"
|
|
118
|
+
].map((e) => a(e, () => void Y()));
|
|
119
|
+
return () => e.forEach((e) => e());
|
|
120
|
+
}, [Y]);
|
|
121
|
+
let fe = async (e) => {
|
|
122
|
+
n("medium"), M(e);
|
|
123
|
+
try {
|
|
124
|
+
await G(e), r("success"), j(null);
|
|
125
|
+
} catch (e) {
|
|
126
|
+
r("error"), i(e, {
|
|
127
|
+
module: "channel",
|
|
128
|
+
context: { action: "Failed to delete channel" }
|
|
129
|
+
}, "[channel] Failed to delete channel");
|
|
130
|
+
} finally {
|
|
131
|
+
M(null);
|
|
132
|
+
}
|
|
133
|
+
}, pe = async (e) => {
|
|
134
|
+
M(e.id);
|
|
135
|
+
try {
|
|
136
|
+
e.status === "ACTIVE" ? await q(e.id) : await K(e.id);
|
|
137
|
+
} catch (e) {
|
|
138
|
+
i(e, {
|
|
139
|
+
module: "channel",
|
|
140
|
+
context: { action: "Failed to toggle channel status" }
|
|
141
|
+
}, "[channel] Failed to toggle channel status");
|
|
142
|
+
} finally {
|
|
143
|
+
M(null);
|
|
144
|
+
}
|
|
145
|
+
}, me = async (e) => {
|
|
146
|
+
M(e);
|
|
147
|
+
try {
|
|
148
|
+
await J(e);
|
|
149
|
+
} catch (e) {
|
|
150
|
+
i(e, {
|
|
151
|
+
module: "channel",
|
|
152
|
+
context: { action: "Failed to run health check" }
|
|
153
|
+
}, "[channel] Failed to run health check");
|
|
154
|
+
} finally {
|
|
155
|
+
M(null);
|
|
156
|
+
}
|
|
157
|
+
}, X = f(() => B.filter((e) => N.has(e.id)), [B, N]), Z = f(() => X.filter((e) => e.status === "ACTIVE"), [X]), Q = f(() => X.filter((e) => e.status !== "ACTIVE"), [X]), $ = B.length > 0 && B.every((e) => N.has(e.id)), he = B.some((e) => N.has(e.id)) && !$, ge = (e, t) => {
|
|
158
|
+
P((n) => {
|
|
159
|
+
let r = new Set(n);
|
|
160
|
+
return t ? r.add(e) : r.delete(e), r;
|
|
161
|
+
});
|
|
162
|
+
}, _e = (e) => {
|
|
163
|
+
P((t) => {
|
|
164
|
+
let n = new Set(t);
|
|
165
|
+
return B.forEach((t) => {
|
|
166
|
+
e ? n.add(t.id) : n.delete(t.id);
|
|
167
|
+
}), n;
|
|
168
|
+
});
|
|
169
|
+
}, ve = async () => {
|
|
170
|
+
if (X.length === 0) return;
|
|
171
|
+
n("medium");
|
|
172
|
+
let e = _(X.length === 1 ? "channel.bulkDeleteConfirmSingle" : "channel.bulkDeleteConfirmMultiple", X.length === 1 ? "Delete 1 selected channel?" : `Delete ${X.length} selected channels?`), r = await t({
|
|
173
|
+
title: "Delete channels",
|
|
174
|
+
message: e,
|
|
175
|
+
okButtonTitle: "Delete",
|
|
176
|
+
cancelButtonTitle: "Cancel"
|
|
177
|
+
});
|
|
178
|
+
if (r === null ? window.confirm(e) : r) {
|
|
179
|
+
I("delete");
|
|
180
|
+
try {
|
|
181
|
+
await Promise.allSettled(X.map((e) => G(e.id))), P(/* @__PURE__ */ new Set());
|
|
182
|
+
} finally {
|
|
183
|
+
I(null);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}, ye = async () => {
|
|
187
|
+
if (Q.length !== 0) {
|
|
188
|
+
I("activate");
|
|
189
|
+
try {
|
|
190
|
+
await Promise.allSettled(Q.map((e) => K(e.id))), P(/* @__PURE__ */ new Set());
|
|
191
|
+
} finally {
|
|
192
|
+
I(null);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}, be = async () => {
|
|
196
|
+
if (Z.length !== 0) {
|
|
197
|
+
I("deactivate");
|
|
198
|
+
try {
|
|
199
|
+
await Promise.allSettled(Z.map((e) => q(e.id))), P(/* @__PURE__ */ new Set());
|
|
200
|
+
} finally {
|
|
201
|
+
I(null);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}, xe = async () => {
|
|
205
|
+
if (X.length !== 0) {
|
|
206
|
+
I("health");
|
|
207
|
+
try {
|
|
208
|
+
await Promise.allSettled(X.map((e) => J(e.id)));
|
|
209
|
+
} finally {
|
|
210
|
+
I(null);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}, Se = (e) => ({
|
|
214
|
+
...O[e] || {
|
|
215
|
+
label: e,
|
|
216
|
+
color: "bg-bg-sunken text-text-secondary"
|
|
217
|
+
},
|
|
218
|
+
label: u(e, ee, _)
|
|
219
|
+
}), Ce = (e) => ({
|
|
220
|
+
...k[e] || k.INACTIVE,
|
|
221
|
+
label: u(e, te, _)
|
|
222
|
+
}), we = (e) => ({
|
|
223
|
+
...A[e] || A.UNKNOWN,
|
|
224
|
+
label: u(e, l, _)
|
|
225
|
+
});
|
|
226
|
+
return /* @__PURE__ */ T(s, {
|
|
227
|
+
permission: c.CHANNEL_READ,
|
|
228
|
+
children: /* @__PURE__ */ E("div", {
|
|
229
|
+
className: "space-y-4 sm:space-y-6 p-3 sm:p-6",
|
|
230
|
+
children: [
|
|
231
|
+
/* @__PURE__ */ E("div", {
|
|
232
|
+
className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
|
|
233
|
+
children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("h1", {
|
|
234
|
+
className: "text-xl sm:text-2xl font-bold text-foreground",
|
|
235
|
+
children: _("channel.channels", "Channels")
|
|
236
|
+
}), /* @__PURE__ */ E("p", {
|
|
237
|
+
className: "text-sm text-muted-foreground mt-1",
|
|
238
|
+
children: [
|
|
239
|
+
_("channel.manageChannels", "Manage your communication channels"),
|
|
240
|
+
" (",
|
|
241
|
+
de,
|
|
242
|
+
" total)"
|
|
243
|
+
]
|
|
244
|
+
})] }), /* @__PURE__ */ E("div", {
|
|
245
|
+
className: "flex items-center gap-2",
|
|
246
|
+
children: [/* @__PURE__ */ T(s, {
|
|
247
|
+
permission: c.CHANNEL_ADMIN,
|
|
248
|
+
children: /* @__PURE__ */ E("button", {
|
|
249
|
+
onClick: () => void R(),
|
|
250
|
+
disabled: z,
|
|
251
|
+
className: "flex items-center gap-2 px-4 py-2 text-sm font-medium text-fg border border-border hover:bg-bg-elevated rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
|
|
252
|
+
title: _("channel.exportCSV", "Export to CSV"),
|
|
253
|
+
children: [z ? /* @__PURE__ */ T(v, {
|
|
254
|
+
size: 16,
|
|
255
|
+
className: "animate-spin"
|
|
256
|
+
}) : /* @__PURE__ */ T(ie, { size: 16 }), _("channel.export", "Export")]
|
|
257
|
+
})
|
|
258
|
+
}), /* @__PURE__ */ E("button", {
|
|
259
|
+
onClick: () => h("/channels/create"),
|
|
260
|
+
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",
|
|
261
|
+
children: [/* @__PURE__ */ T(y, { size: 16 }), _("channel.createChannel", "Create Channel")]
|
|
262
|
+
})]
|
|
263
|
+
})]
|
|
264
|
+
}),
|
|
265
|
+
/* @__PURE__ */ E("div", {
|
|
266
|
+
className: "flex flex-col gap-3 sm:flex-row sm:items-center",
|
|
267
|
+
children: [
|
|
268
|
+
/* @__PURE__ */ E("div", {
|
|
269
|
+
className: "relative flex-1",
|
|
270
|
+
children: [/* @__PURE__ */ T(C, {
|
|
271
|
+
size: 16,
|
|
272
|
+
className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"
|
|
273
|
+
}), /* @__PURE__ */ T("input", {
|
|
274
|
+
type: "text",
|
|
275
|
+
placeholder: _("channel.searchChannels", "Search channels..."),
|
|
276
|
+
value: U.search || "",
|
|
277
|
+
onChange: (e) => W({ search: e.target.value }),
|
|
278
|
+
className: "w-full pl-9 pr-4 py-2 text-sm bg-surface border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-action-primary-bg"
|
|
279
|
+
})]
|
|
280
|
+
}),
|
|
281
|
+
/* @__PURE__ */ E("select", {
|
|
282
|
+
value: U.platform || "",
|
|
283
|
+
onChange: (e) => W({ platform: e.target.value || void 0 }),
|
|
284
|
+
className: "px-3 py-2 text-sm bg-bg-surface text-text-primary border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-action-primary-bg",
|
|
285
|
+
children: [/* @__PURE__ */ T("option", {
|
|
286
|
+
value: "",
|
|
287
|
+
children: _("channel.allPlatforms", "All Platforms")
|
|
288
|
+
}), Object.entries(O).map(([e, t]) => /* @__PURE__ */ T("option", {
|
|
289
|
+
value: e,
|
|
290
|
+
children: t.label
|
|
291
|
+
}, e))]
|
|
292
|
+
}),
|
|
293
|
+
/* @__PURE__ */ E("select", {
|
|
294
|
+
value: U.status || "",
|
|
295
|
+
onChange: (e) => W({ status: e.target.value || void 0 }),
|
|
296
|
+
className: "px-3 py-2 text-sm bg-bg-surface text-text-primary border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-action-primary-bg",
|
|
297
|
+
children: [/* @__PURE__ */ T("option", {
|
|
298
|
+
value: "",
|
|
299
|
+
children: _("channel.allStatus", "All Status")
|
|
300
|
+
}), Object.entries(k).map(([e, t]) => /* @__PURE__ */ T("option", {
|
|
301
|
+
value: e,
|
|
302
|
+
children: t.label
|
|
303
|
+
}, e))]
|
|
304
|
+
})
|
|
305
|
+
]
|
|
306
|
+
}),
|
|
307
|
+
B.length > 0 && /* @__PURE__ */ E("div", {
|
|
308
|
+
className: "flex flex-col gap-3 rounded-lg border border-border bg-surface p-4 sm:flex-row sm:items-center sm:justify-between",
|
|
309
|
+
children: [/* @__PURE__ */ E("label", {
|
|
310
|
+
className: "flex items-center gap-2 text-sm text-foreground",
|
|
311
|
+
children: [/* @__PURE__ */ T("input", {
|
|
312
|
+
type: "checkbox",
|
|
313
|
+
checked: $,
|
|
314
|
+
ref: (e) => {
|
|
315
|
+
e && (e.indeterminate = he && !$);
|
|
316
|
+
},
|
|
317
|
+
onChange: (e) => _e(e.target.checked),
|
|
318
|
+
"aria-label": "Select all channels",
|
|
319
|
+
className: "h-4 w-4 rounded border-border text-primary"
|
|
320
|
+
}), /* @__PURE__ */ T("span", { children: _("channel.selectAllVisible", "Select all visible") })]
|
|
321
|
+
}), /* @__PURE__ */ E("div", {
|
|
322
|
+
className: "flex flex-wrap items-center gap-2",
|
|
323
|
+
children: [
|
|
324
|
+
/* @__PURE__ */ E("span", {
|
|
325
|
+
className: "text-sm text-muted-foreground",
|
|
326
|
+
children: [
|
|
327
|
+
N.size,
|
|
328
|
+
" ",
|
|
329
|
+
_("channel.selectedCountLabel", "selected")
|
|
330
|
+
]
|
|
331
|
+
}),
|
|
332
|
+
N.size > 0 && /* @__PURE__ */ T("button", {
|
|
333
|
+
onClick: () => P(/* @__PURE__ */ new Set()),
|
|
334
|
+
className: "text-sm text-muted-foreground hover:text-foreground",
|
|
335
|
+
children: _("channel.clearSelection", "Clear selection")
|
|
336
|
+
}),
|
|
337
|
+
/* @__PURE__ */ T(s, {
|
|
338
|
+
permission: c.CHANNEL_EXECUTE,
|
|
339
|
+
children: /* @__PURE__ */ E("button", {
|
|
340
|
+
onClick: xe,
|
|
341
|
+
disabled: X.length === 0 || F !== null,
|
|
342
|
+
className: "px-3 py-2 text-sm font-medium border border-border rounded-md hover:bg-muted transition-colors disabled:opacity-50",
|
|
343
|
+
children: [_("channel.healthCheck", "Health Check"), X.length > 0 ? ` (${X.length})` : ""]
|
|
344
|
+
})
|
|
345
|
+
}),
|
|
346
|
+
/* @__PURE__ */ T(s, {
|
|
347
|
+
permission: c.CHANNEL_UPDATE,
|
|
348
|
+
children: /* @__PURE__ */ E("button", {
|
|
349
|
+
onClick: ye,
|
|
350
|
+
disabled: Q.length === 0 || F !== null,
|
|
351
|
+
className: "px-3 py-2 text-sm font-medium border border-success-500/30 text-success-500 rounded-md hover:bg-success-100 transition-colors disabled:opacity-50",
|
|
352
|
+
children: [_("channel.activateSelected", "Activate Selected"), Q.length > 0 ? ` (${Q.length})` : ""]
|
|
353
|
+
})
|
|
354
|
+
}),
|
|
355
|
+
/* @__PURE__ */ T(s, {
|
|
356
|
+
permission: c.CHANNEL_UPDATE,
|
|
357
|
+
children: /* @__PURE__ */ E("button", {
|
|
358
|
+
onClick: be,
|
|
359
|
+
disabled: Z.length === 0 || F !== null,
|
|
360
|
+
className: "px-3 py-2 text-sm font-medium border border-warning-500/30 text-warning-500 rounded-md hover:bg-warning-100 transition-colors disabled:opacity-50",
|
|
361
|
+
children: [_("channel.deactivateSelected", "Deactivate Selected"), Z.length > 0 ? ` (${Z.length})` : ""]
|
|
362
|
+
})
|
|
363
|
+
}),
|
|
364
|
+
/* @__PURE__ */ T(s, {
|
|
365
|
+
permission: c.CHANNEL_DELETE,
|
|
366
|
+
children: /* @__PURE__ */ E("button", {
|
|
367
|
+
onClick: ve,
|
|
368
|
+
disabled: X.length === 0 || F !== null,
|
|
369
|
+
className: "px-3 py-2 text-sm font-medium border border-error-500/30 text-error-500 rounded-md hover:bg-error-100 transition-colors disabled:opacity-50",
|
|
370
|
+
children: [_("channel.deleteSelected", "Delete Selected"), X.length > 0 ? ` (${X.length})` : ""]
|
|
371
|
+
})
|
|
372
|
+
})
|
|
373
|
+
]
|
|
374
|
+
})]
|
|
375
|
+
}),
|
|
376
|
+
H && /* @__PURE__ */ E("div", {
|
|
377
|
+
className: "flex items-center gap-3 p-4 bg-error-100 border border-error-500 rounded-lg",
|
|
378
|
+
children: [
|
|
379
|
+
/* @__PURE__ */ T(re, {
|
|
380
|
+
size: 20,
|
|
381
|
+
className: "text-error-500"
|
|
382
|
+
}),
|
|
383
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
|
|
384
|
+
className: "text-sm font-medium text-error-700",
|
|
385
|
+
children: _("channel.loadFailed", "Failed to load channels")
|
|
386
|
+
}), /* @__PURE__ */ T("p", {
|
|
387
|
+
className: "text-xs text-error-600",
|
|
388
|
+
children: H
|
|
389
|
+
})] }),
|
|
390
|
+
/* @__PURE__ */ T("button", {
|
|
391
|
+
onClick: () => Y(),
|
|
392
|
+
className: "ml-auto px-3 py-1 text-sm text-error-700 hover:bg-error-200 rounded transition-colors",
|
|
393
|
+
children: _("channel.retry", "Retry")
|
|
394
|
+
})
|
|
395
|
+
]
|
|
396
|
+
}),
|
|
397
|
+
V && B.length === 0 && /* @__PURE__ */ T("div", {
|
|
398
|
+
className: "flex items-center justify-center py-12",
|
|
399
|
+
children: /* @__PURE__ */ T(v, {
|
|
400
|
+
size: 32,
|
|
401
|
+
className: "animate-spin text-accent-primary"
|
|
402
|
+
})
|
|
403
|
+
}),
|
|
404
|
+
!V && !H && B.length === 0 && /* @__PURE__ */ E("div", {
|
|
405
|
+
className: "flex flex-col items-center justify-center py-12 text-center",
|
|
406
|
+
children: [
|
|
407
|
+
/* @__PURE__ */ T(x, {
|
|
408
|
+
size: 48,
|
|
409
|
+
className: "text-muted-foreground mb-4"
|
|
410
|
+
}),
|
|
411
|
+
/* @__PURE__ */ T("h3", {
|
|
412
|
+
className: "text-lg font-semibold text-foreground mb-2",
|
|
413
|
+
children: _("channel.noChannelsFound", "No channels found")
|
|
414
|
+
}),
|
|
415
|
+
/* @__PURE__ */ T("p", {
|
|
416
|
+
className: "text-sm text-muted-foreground max-w-md mb-4",
|
|
417
|
+
children: U.search || U.platform || U.status ? _("channel.adjustFilters", "Try adjusting your filters to see more channels.") : _("channel.createFirstChannelPrompt", "Create your first communication channel to get started.")
|
|
418
|
+
}),
|
|
419
|
+
!U.search && !U.platform && !U.status && /* @__PURE__ */ E("button", {
|
|
420
|
+
onClick: () => h("/channels/create"),
|
|
421
|
+
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",
|
|
422
|
+
children: [/* @__PURE__ */ T(y, { size: 16 }), _("channel.createChannel", "Create Channel")]
|
|
423
|
+
})
|
|
424
|
+
]
|
|
425
|
+
}),
|
|
426
|
+
B.length > 0 && /* @__PURE__ */ T("div", {
|
|
427
|
+
className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
428
|
+
children: B.map((e) => {
|
|
429
|
+
let t = Se(e.platform), n = Ce(e.status), r = we(e.connectionHealth), i = n.icon, a = r.icon, o = ue === e.id;
|
|
430
|
+
return /* @__PURE__ */ E("div", {
|
|
431
|
+
className: `p-4 bg-surface border rounded-lg transition-colors group ${N.has(e.id) ? "ring-2 ring-action-primary-bg border-action-primary-bg/40" : "border-border hover:border-action-primary-bg/40"}`,
|
|
432
|
+
children: [
|
|
433
|
+
/* @__PURE__ */ E("div", {
|
|
434
|
+
className: "flex items-start justify-between mb-3",
|
|
435
|
+
children: [/* @__PURE__ */ E("div", {
|
|
436
|
+
className: "flex items-center gap-2",
|
|
437
|
+
children: [
|
|
438
|
+
/* @__PURE__ */ T("input", {
|
|
439
|
+
type: "checkbox",
|
|
440
|
+
checked: N.has(e.id),
|
|
441
|
+
onChange: (t) => ge(e.id, t.target.checked),
|
|
442
|
+
"aria-label": `Select channel ${e.name}`,
|
|
443
|
+
className: "h-4 w-4 rounded border-border text-primary"
|
|
444
|
+
}),
|
|
445
|
+
/* @__PURE__ */ T(x, {
|
|
446
|
+
size: 20,
|
|
447
|
+
className: "text-accent-primary"
|
|
448
|
+
}),
|
|
449
|
+
/* @__PURE__ */ T("span", {
|
|
450
|
+
className: `px-2 py-0.5 text-xs font-semibold rounded-full ${t.color}`,
|
|
451
|
+
children: t.label
|
|
452
|
+
})
|
|
453
|
+
]
|
|
454
|
+
}), /* @__PURE__ */ E("div", {
|
|
455
|
+
className: "flex items-center gap-1",
|
|
456
|
+
children: [/* @__PURE__ */ T(i, {
|
|
457
|
+
size: 14,
|
|
458
|
+
className: n.color.split(" ")[0]
|
|
459
|
+
}), /* @__PURE__ */ T("span", {
|
|
460
|
+
className: `px-2 py-0.5 text-xs font-medium rounded-full ${n.color}`,
|
|
461
|
+
children: n.label
|
|
462
|
+
})]
|
|
463
|
+
})]
|
|
464
|
+
}),
|
|
465
|
+
/* @__PURE__ */ E("div", {
|
|
466
|
+
onClick: () => h(`/channels/${e.id}`),
|
|
467
|
+
className: "cursor-pointer",
|
|
468
|
+
children: [
|
|
469
|
+
/* @__PURE__ */ T("h3", {
|
|
470
|
+
className: "text-sm font-semibold text-foreground mb-1 truncate",
|
|
471
|
+
children: e.name
|
|
472
|
+
}),
|
|
473
|
+
e.description && /* @__PURE__ */ T("p", {
|
|
474
|
+
className: "text-xs text-muted-foreground mb-2 line-clamp-2",
|
|
475
|
+
children: e.description
|
|
476
|
+
}),
|
|
477
|
+
e.adapterType && /* @__PURE__ */ T("p", {
|
|
478
|
+
className: "text-xs text-muted-foreground mb-2 font-mono",
|
|
479
|
+
children: e.adapterType.replace(/_/g, " ")
|
|
480
|
+
}),
|
|
481
|
+
/* @__PURE__ */ T("div", {
|
|
482
|
+
className: "flex items-center gap-3 text-xs text-muted-foreground mb-2",
|
|
483
|
+
children: /* @__PURE__ */ E("span", { children: [
|
|
484
|
+
_("channel.priority", "Priority"),
|
|
485
|
+
": ",
|
|
486
|
+
e.priority
|
|
487
|
+
] })
|
|
488
|
+
}),
|
|
489
|
+
/* @__PURE__ */ E("div", {
|
|
490
|
+
className: "flex items-center gap-3 text-xs",
|
|
491
|
+
children: [
|
|
492
|
+
/* @__PURE__ */ E("div", {
|
|
493
|
+
className: "flex items-center gap-1",
|
|
494
|
+
children: [/* @__PURE__ */ T(a, {
|
|
495
|
+
size: 12,
|
|
496
|
+
className: r.color
|
|
497
|
+
}), /* @__PURE__ */ T("span", {
|
|
498
|
+
className: r.color,
|
|
499
|
+
children: r.label
|
|
500
|
+
})]
|
|
501
|
+
}),
|
|
502
|
+
/* @__PURE__ */ T("span", { children: "•" }),
|
|
503
|
+
/* @__PURE__ */ T("span", {
|
|
504
|
+
className: e.isConnected ? "text-success-500" : "text-muted-foreground",
|
|
505
|
+
children: e.isConnected ? _("channel.connected", "Connected") : _("channel.notConnected", "Not Connected")
|
|
506
|
+
})
|
|
507
|
+
]
|
|
508
|
+
})
|
|
509
|
+
]
|
|
510
|
+
}),
|
|
511
|
+
e.tagAssignments && e.tagAssignments.length > 0 && /* @__PURE__ */ E("div", {
|
|
512
|
+
className: "flex flex-wrap gap-1 mt-2",
|
|
513
|
+
"aria-label": "Channel tags",
|
|
514
|
+
children: [e.tagAssignments.slice(0, 4).map((e) => /* @__PURE__ */ T(D, {
|
|
515
|
+
id: e.tagId,
|
|
516
|
+
label: e.tagId,
|
|
517
|
+
size: "sm"
|
|
518
|
+
}, e.id)), e.tagAssignments.length > 4 && /* @__PURE__ */ E("span", {
|
|
519
|
+
className: "text-xs text-muted-foreground",
|
|
520
|
+
children: ["+", e.tagAssignments.length - 4]
|
|
521
|
+
})]
|
|
522
|
+
}),
|
|
523
|
+
/* @__PURE__ */ E("div", {
|
|
524
|
+
className: "mt-3 pt-3 border-t border-border flex items-center justify-between opacity-0 group-hover:opacity-100 transition-opacity",
|
|
525
|
+
children: [/* @__PURE__ */ E("div", {
|
|
526
|
+
className: "flex items-center gap-1",
|
|
527
|
+
children: [
|
|
528
|
+
/* @__PURE__ */ T("button", {
|
|
529
|
+
onClick: () => h(`/channels/${e.id}`),
|
|
530
|
+
className: "p-1.5 text-muted-foreground hover:text-accent-primary hover:bg-accent-primary/10 rounded transition-colors cursor-pointer",
|
|
531
|
+
title: _("channel.viewDetails", "View Details"),
|
|
532
|
+
children: /* @__PURE__ */ T(ae, { size: 14 })
|
|
533
|
+
}),
|
|
534
|
+
/* @__PURE__ */ T("button", {
|
|
535
|
+
onClick: () => h(`/channels/${e.id}/edit`),
|
|
536
|
+
className: "p-1.5 text-muted-foreground hover:text-accent-primary hover:bg-accent-primary/10 rounded transition-colors cursor-pointer",
|
|
537
|
+
title: _("channel.editChannel", "Edit Channel"),
|
|
538
|
+
children: /* @__PURE__ */ T(oe, { size: 14 })
|
|
539
|
+
}),
|
|
540
|
+
/* @__PURE__ */ T(s, {
|
|
541
|
+
permission: c.CHANNEL_EXECUTE,
|
|
542
|
+
children: /* @__PURE__ */ T("button", {
|
|
543
|
+
onClick: () => me(e.id),
|
|
544
|
+
disabled: o,
|
|
545
|
+
className: "p-1.5 text-muted-foreground hover:text-status-info-text hover:bg-status-info-bg-subtle rounded transition-colors disabled:opacity-50 cursor-pointer disabled:cursor-not-allowed",
|
|
546
|
+
title: _("channel.runHealthCheck", "Run Health Check"),
|
|
547
|
+
children: o ? /* @__PURE__ */ T(v, {
|
|
548
|
+
size: 14,
|
|
549
|
+
className: "animate-spin"
|
|
550
|
+
}) : /* @__PURE__ */ T(S, { size: 14 })
|
|
551
|
+
})
|
|
552
|
+
}),
|
|
553
|
+
/* @__PURE__ */ T(s, {
|
|
554
|
+
permission: c.CHANNEL_UPDATE,
|
|
555
|
+
children: /* @__PURE__ */ T("button", {
|
|
556
|
+
onClick: () => pe(e),
|
|
557
|
+
disabled: o,
|
|
558
|
+
className: `p-1.5 rounded transition-colors disabled:opacity-50 cursor-pointer disabled:cursor-not-allowed ${e.status === "ACTIVE" ? "text-muted-foreground hover:text-warning-500 hover:bg-warning-100" : "text-muted-foreground hover:text-success-500 hover:bg-success-100"}`,
|
|
559
|
+
title: e.status === "ACTIVE" ? _("channel.deactivate", "Deactivate") : _("channel.activate", "Activate"),
|
|
560
|
+
children: e.status === "ACTIVE" ? /* @__PURE__ */ T(b, { size: 14 }) : /* @__PURE__ */ T(se, { size: 14 })
|
|
561
|
+
})
|
|
562
|
+
})
|
|
563
|
+
]
|
|
564
|
+
}), w === e.id ? /* @__PURE__ */ E("div", {
|
|
565
|
+
className: "flex items-center gap-2",
|
|
566
|
+
children: [
|
|
567
|
+
/* @__PURE__ */ T("span", {
|
|
568
|
+
className: "text-xs text-muted-foreground",
|
|
569
|
+
children: _("channel.deleteQuestion", "Delete?")
|
|
570
|
+
}),
|
|
571
|
+
/* @__PURE__ */ T("button", {
|
|
572
|
+
onClick: () => fe(e.id),
|
|
573
|
+
disabled: o,
|
|
574
|
+
className: "px-2 py-1 text-xs text-error-500 hover:bg-error-100 rounded transition-colors cursor-pointer disabled:cursor-not-allowed",
|
|
575
|
+
children: o ? "..." : _("channel.yes", "Yes")
|
|
576
|
+
}),
|
|
577
|
+
/* @__PURE__ */ T("button", {
|
|
578
|
+
onClick: () => j(null),
|
|
579
|
+
className: "px-2 py-1 text-xs text-muted-foreground hover:bg-muted rounded transition-colors cursor-pointer",
|
|
580
|
+
children: _("channel.no", "No")
|
|
581
|
+
})
|
|
582
|
+
]
|
|
583
|
+
}) : /* @__PURE__ */ T(s, {
|
|
584
|
+
permission: c.CHANNEL_DELETE,
|
|
585
|
+
children: /* @__PURE__ */ T("button", {
|
|
586
|
+
onClick: () => j(e.id),
|
|
587
|
+
className: "p-1.5 text-muted-foreground hover:text-error-500 hover:bg-error-100 rounded transition-colors cursor-pointer",
|
|
588
|
+
title: _("channel.deleteChannel", "Delete Channel"),
|
|
589
|
+
children: /* @__PURE__ */ T(ce, { size: 14 })
|
|
590
|
+
})
|
|
591
|
+
})]
|
|
592
|
+
})
|
|
593
|
+
]
|
|
594
|
+
}, e.id);
|
|
595
|
+
})
|
|
596
|
+
})
|
|
597
|
+
]
|
|
598
|
+
})
|
|
599
|
+
});
|
|
600
|
+
}
|
|
601
|
+
//#endregion
|
|
602
|
+
export { j as ChannelsListPage };
|
|
603
|
+
|
|
604
|
+
//# sourceMappingURL=ChannelsListPage.js.map
|