@burdenoff/microfe-channel 2026.519.1 → 2026.520.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/channel/ChannelRoot.d.ts.map +1 -1
- package/dist/channel/ChannelRoot.js +23 -29
- package/dist/channel/ChannelRoot.js.map +1 -1
- package/dist/channel/components/AdapterCredentialsForm.js +7 -7
- package/dist/channel/components/AdapterCredentialsForm.js.map +1 -1
- package/dist/channel/components/FeatureNotEnabled.d.ts +3 -0
- package/dist/channel/components/FeatureNotEnabled.d.ts.map +1 -1
- package/dist/channel/components/FeatureNotEnabled.js +31 -13
- package/dist/channel/components/FeatureNotEnabled.js.map +1 -1
- package/dist/channel/hooks/useChannels.d.ts +17 -3
- package/dist/channel/hooks/useChannels.d.ts.map +1 -1
- package/dist/channel/hooks/useChannels.js +64 -18
- package/dist/channel/hooks/useChannels.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelDashboardPage.d.ts.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelDashboardPage.js +312 -277
- package/dist/channel/modules/channels/pages/ChannelDashboardPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelDetailsPage.d.ts.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelDetailsPage.js +33 -33
- package/dist/channel/modules/channels/pages/ChannelDetailsPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelSettingsPage.d.ts.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelSettingsPage.js +24 -24
- package/dist/channel/modules/channels/pages/ChannelSettingsPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelUsersPage.d.ts.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelUsersPage.js +206 -142
- package/dist/channel/modules/channels/pages/ChannelUsersPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelsListPage.d.ts.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelsListPage.js +322 -248
- package/dist/channel/modules/channels/pages/ChannelsListPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ConnectionDetailsPage.d.ts.map +1 -1
- package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js +6 -6
- package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ConnectionsListPage.d.ts.map +1 -1
- package/dist/channel/modules/channels/pages/ConnectionsListPage.js +160 -112
- package/dist/channel/modules/channels/pages/ConnectionsListPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/CreateChannelPage.js +4 -4
- package/dist/channel/modules/channels/pages/CreateChannelPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/DeliveryHistoryPage.d.ts.map +1 -1
- package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js +201 -133
- package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/EditChannelPage.js +9 -9
- package/dist/channel/modules/channels/pages/EditChannelPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/SendMessagePage.d.ts.map +1 -1
- package/dist/channel/modules/channels/pages/SendMessagePage.js +89 -89
- package/dist/channel/modules/channels/pages/SendMessagePage.js.map +1 -1
- package/dist/channel/modules/channels/pages/WebhookEventsPage.d.ts.map +1 -1
- package/dist/channel/modules/channels/pages/WebhookEventsPage.js +126 -58
- package/dist/channel/modules/channels/pages/WebhookEventsPage.js.map +1 -1
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -1
- package/dist/generated/global-operations.js +2 -0
- package/dist/generated/global-operations.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,16 +3,16 @@ import { useChannel as t } from "../../../hooks/useChannels.js";
|
|
|
3
3
|
import { PermissionGuard as n } from "../../../components/PermissionGuard.js";
|
|
4
4
|
import { CHANNEL_PERMISSIONS as r } from "../../../constants/permissions.js";
|
|
5
5
|
import { useExportChannelUsers as i } from "../hooks/useExport.js";
|
|
6
|
-
import { useCallback as a, useEffect as o,
|
|
7
|
-
import { useI18n as
|
|
8
|
-
import { AlertCircle as
|
|
9
|
-
import { useNavigate as
|
|
10
|
-
import { jsx as
|
|
6
|
+
import { useCallback as a, useEffect as o, useRef as s, useState as c } from "react";
|
|
7
|
+
import { useI18n as l } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
8
|
+
import { AlertCircle as u, ArrowLeft as d, Bell as f, BellOff as p, CheckCircle2 as m, ChevronLeft as ee, ChevronRight as h, Clock as g, Download as _, Loader2 as v, RefreshCw as y, User as b, UserCheck as x, XCircle as S } from "lucide-react";
|
|
9
|
+
import { useNavigate as C, useParams as w } from "react-router-dom";
|
|
10
|
+
import { Fragment as T, jsx as E, jsxs as D } from "react/jsx-runtime";
|
|
11
11
|
//#region src/channel/modules/channels/pages/ChannelUsersPage.tsx
|
|
12
|
-
var
|
|
12
|
+
var O = {
|
|
13
13
|
ONLINE: {
|
|
14
14
|
label: "Online",
|
|
15
|
-
color: "text-success-
|
|
15
|
+
color: "text-status-success-text"
|
|
16
16
|
},
|
|
17
17
|
OFFLINE: {
|
|
18
18
|
label: "Offline",
|
|
@@ -20,300 +20,315 @@ var T = {
|
|
|
20
20
|
},
|
|
21
21
|
AWAY: {
|
|
22
22
|
label: "Away",
|
|
23
|
-
color: "text-warning-
|
|
23
|
+
color: "text-status-warning-text"
|
|
24
24
|
},
|
|
25
25
|
DND: {
|
|
26
26
|
label: "Do Not Disturb",
|
|
27
|
-
color: "text-error-
|
|
27
|
+
color: "text-status-error-text"
|
|
28
28
|
}
|
|
29
|
-
},
|
|
29
|
+
}, k = {
|
|
30
30
|
PENDING: {
|
|
31
31
|
label: "Pending",
|
|
32
|
-
color: "text-warning-
|
|
33
|
-
icon:
|
|
32
|
+
color: "text-status-warning-text bg-status-warning-bg-subtle",
|
|
33
|
+
icon: g
|
|
34
34
|
},
|
|
35
35
|
APPROVED: {
|
|
36
36
|
label: "Approved",
|
|
37
|
-
color: "text-success-
|
|
38
|
-
icon:
|
|
37
|
+
color: "text-status-success-text bg-status-success-bg-subtle",
|
|
38
|
+
icon: m
|
|
39
39
|
},
|
|
40
40
|
EXPIRED: {
|
|
41
41
|
label: "Expired",
|
|
42
42
|
color: "text-muted-foreground bg-muted",
|
|
43
|
-
icon:
|
|
43
|
+
icon: S
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
|
-
function
|
|
47
|
-
let { channelId:
|
|
48
|
-
let n =
|
|
46
|
+
function A() {
|
|
47
|
+
let { channelId: m } = w(), g = C(), { t: A } = l(), j = (e, t) => {
|
|
48
|
+
let n = A(e);
|
|
49
49
|
return n === e ? t : n;
|
|
50
|
-
}, { organizationId:
|
|
51
|
-
if (
|
|
52
|
-
|
|
50
|
+
}, { organizationId: M } = e(), { triggerExport: te, isExporting: N, exportError: P } = i(M ?? void 0, m), [F, I] = c(!0), [L, R] = c([]), [z, B] = c(25), [V, H] = c(0), [U, W] = c(0), { channel: G, isLoading: K, error: q, fetchUserPlatformConnections: J } = t(m), Y = a(async (e = 0) => {
|
|
51
|
+
if (m) {
|
|
52
|
+
I(!0);
|
|
53
53
|
try {
|
|
54
|
-
|
|
54
|
+
let t = await J(z, e * z);
|
|
55
|
+
R(t.items), H(t.total);
|
|
55
56
|
} finally {
|
|
56
|
-
|
|
57
|
+
I(!1);
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
}, [
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
]);
|
|
61
|
+
m,
|
|
62
|
+
J,
|
|
63
|
+
z
|
|
64
|
+
]), X = s(Y);
|
|
64
65
|
o(() => {
|
|
65
|
-
|
|
66
|
+
X.current = Y;
|
|
67
|
+
});
|
|
68
|
+
let Z = s(!0), Q = s(!1);
|
|
69
|
+
o(() => {
|
|
70
|
+
Promise.resolve().then(() => {
|
|
71
|
+
Q.current = !0, W(0), X.current(0).finally(() => {
|
|
72
|
+
Q.current = !1;
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
}, [z]), o(() => {
|
|
76
|
+
if (Z.current) {
|
|
77
|
+
Z.current = !1;
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
Q.current || Promise.resolve().then(() => X.current(U));
|
|
66
81
|
}, [U]);
|
|
67
|
-
let
|
|
68
|
-
return
|
|
82
|
+
let $ = Math.max(1, Math.ceil(V / z)), ne = U > 0, re = U < $ - 1, ie = (e) => O[e] || O.OFFLINE, ae = (e) => k[e] || k.EXPIRED;
|
|
83
|
+
return K ? /* @__PURE__ */ E("div", {
|
|
69
84
|
className: "flex items-center justify-center min-h-screen",
|
|
70
|
-
children: /* @__PURE__ */
|
|
85
|
+
children: /* @__PURE__ */ E(v, {
|
|
71
86
|
size: 32,
|
|
72
87
|
className: "animate-spin text-accent-primary"
|
|
73
88
|
})
|
|
74
|
-
}) :
|
|
89
|
+
}) : q || !G ? /* @__PURE__ */ E("div", {
|
|
75
90
|
className: "p-6",
|
|
76
|
-
children: /* @__PURE__ */
|
|
77
|
-
className: "flex items-center gap-3 p-4 bg-error-
|
|
91
|
+
children: /* @__PURE__ */ D("div", {
|
|
92
|
+
className: "flex items-center gap-3 p-4 bg-status-error-bg-subtle border border-status-error-border rounded-lg",
|
|
78
93
|
children: [
|
|
79
|
-
/* @__PURE__ */
|
|
94
|
+
/* @__PURE__ */ E(u, {
|
|
80
95
|
size: 20,
|
|
81
|
-
className: "text-error-
|
|
96
|
+
className: "text-status-error-text"
|
|
82
97
|
}),
|
|
83
|
-
/* @__PURE__ */
|
|
84
|
-
className: "text-sm font-medium text-error-
|
|
85
|
-
children:
|
|
98
|
+
/* @__PURE__ */ E("div", { children: /* @__PURE__ */ E("p", {
|
|
99
|
+
className: "text-sm font-medium text-status-error-text",
|
|
100
|
+
children: q || "Channel not found"
|
|
86
101
|
}) }),
|
|
87
|
-
/* @__PURE__ */
|
|
88
|
-
onClick: () =>
|
|
89
|
-
className: "ml-auto px-3 py-1 text-sm text-error-
|
|
102
|
+
/* @__PURE__ */ E("button", {
|
|
103
|
+
onClick: () => g(`/channels/${m}`),
|
|
104
|
+
className: "ml-auto px-3 py-1 text-sm text-status-error-text hover:bg-status-error-bg-subtle rounded transition-colors",
|
|
90
105
|
children: "Go Back"
|
|
91
106
|
})
|
|
92
107
|
]
|
|
93
108
|
})
|
|
94
|
-
}) : /* @__PURE__ */
|
|
109
|
+
}) : /* @__PURE__ */ E(n, {
|
|
95
110
|
permission: r.USER_PLATFORM_CONNECTION_READ,
|
|
96
|
-
children: /* @__PURE__ */
|
|
111
|
+
children: /* @__PURE__ */ D("div", {
|
|
97
112
|
className: "space-y-6 p-3 sm:p-6",
|
|
98
113
|
children: [
|
|
99
|
-
/* @__PURE__ */
|
|
114
|
+
/* @__PURE__ */ D("div", {
|
|
100
115
|
className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
|
|
101
|
-
children: [/* @__PURE__ */
|
|
116
|
+
children: [/* @__PURE__ */ D("div", {
|
|
102
117
|
className: "flex items-center gap-3",
|
|
103
|
-
children: [/* @__PURE__ */
|
|
104
|
-
onClick: () =>
|
|
105
|
-
"aria-label":
|
|
118
|
+
children: [/* @__PURE__ */ E("button", {
|
|
119
|
+
onClick: () => g(`/channels/${m}`),
|
|
120
|
+
"aria-label": j("channel.backToChannel", "Back to channel"),
|
|
106
121
|
className: "p-2 text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors",
|
|
107
|
-
children: /* @__PURE__ */
|
|
122
|
+
children: /* @__PURE__ */ E(d, {
|
|
108
123
|
size: 20,
|
|
109
124
|
"aria-hidden": "true"
|
|
110
125
|
})
|
|
111
|
-
}), /* @__PURE__ */
|
|
126
|
+
}), /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("h1", {
|
|
112
127
|
className: "text-xl sm:text-2xl font-bold text-foreground",
|
|
113
|
-
children:
|
|
114
|
-
}), /* @__PURE__ */
|
|
128
|
+
children: j("channel.channelUsers", "Channel Users")
|
|
129
|
+
}), /* @__PURE__ */ D("p", {
|
|
115
130
|
className: "text-sm text-muted-foreground mt-1",
|
|
116
|
-
children: [
|
|
131
|
+
children: [G.name, " - User connections"]
|
|
117
132
|
})] })]
|
|
118
|
-
}), /* @__PURE__ */
|
|
133
|
+
}), /* @__PURE__ */ D("div", {
|
|
119
134
|
className: "flex items-center gap-3",
|
|
120
135
|
children: [
|
|
121
|
-
/* @__PURE__ */
|
|
122
|
-
value:
|
|
123
|
-
onChange: (e) =>
|
|
136
|
+
/* @__PURE__ */ D("select", {
|
|
137
|
+
value: z,
|
|
138
|
+
onChange: (e) => B(Number(e.target.value)),
|
|
124
139
|
className: "px-3 py-2 text-sm bg-surface border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-accent-primary/50 text-foreground",
|
|
125
140
|
children: [
|
|
126
|
-
/* @__PURE__ */
|
|
141
|
+
/* @__PURE__ */ E("option", {
|
|
127
142
|
value: 10,
|
|
128
143
|
children: "10 results"
|
|
129
144
|
}),
|
|
130
|
-
/* @__PURE__ */
|
|
145
|
+
/* @__PURE__ */ E("option", {
|
|
131
146
|
value: 25,
|
|
132
147
|
children: "25 results"
|
|
133
148
|
}),
|
|
134
|
-
/* @__PURE__ */
|
|
149
|
+
/* @__PURE__ */ E("option", {
|
|
135
150
|
value: 50,
|
|
136
151
|
children: "50 results"
|
|
137
152
|
}),
|
|
138
|
-
/* @__PURE__ */
|
|
153
|
+
/* @__PURE__ */ E("option", {
|
|
139
154
|
value: 100,
|
|
140
155
|
children: "100 results"
|
|
141
156
|
})
|
|
142
157
|
]
|
|
143
158
|
}),
|
|
144
|
-
/* @__PURE__ */
|
|
145
|
-
onClick: U,
|
|
146
|
-
disabled:
|
|
159
|
+
/* @__PURE__ */ D("button", {
|
|
160
|
+
onClick: () => void Y(U),
|
|
161
|
+
disabled: F,
|
|
147
162
|
className: "flex items-center gap-2 px-4 py-2 text-sm font-medium text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors disabled:opacity-50",
|
|
148
|
-
children: [/* @__PURE__ */
|
|
163
|
+
children: [/* @__PURE__ */ E(y, {
|
|
149
164
|
size: 16,
|
|
150
|
-
className:
|
|
151
|
-
}),
|
|
165
|
+
className: F ? "animate-spin" : ""
|
|
166
|
+
}), j("channel.refresh", "Refresh")]
|
|
152
167
|
}),
|
|
153
|
-
/* @__PURE__ */
|
|
168
|
+
/* @__PURE__ */ E(n, {
|
|
154
169
|
permission: r.CHANNEL_ADMIN,
|
|
155
|
-
children: /* @__PURE__ */
|
|
156
|
-
onClick: () => void
|
|
157
|
-
disabled:
|
|
170
|
+
children: /* @__PURE__ */ D("button", {
|
|
171
|
+
onClick: () => void te(),
|
|
172
|
+
disabled: N,
|
|
158
173
|
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",
|
|
159
|
-
title:
|
|
160
|
-
children: [
|
|
174
|
+
title: j("channel.exportCSV", "Export to CSV"),
|
|
175
|
+
children: [N ? /* @__PURE__ */ E(v, {
|
|
161
176
|
size: 16,
|
|
162
177
|
className: "animate-spin"
|
|
163
|
-
}) : /* @__PURE__ */
|
|
178
|
+
}) : /* @__PURE__ */ E(_, { size: 16 }), j("channel.export", "Export")]
|
|
164
179
|
})
|
|
165
180
|
})
|
|
166
181
|
]
|
|
167
182
|
})]
|
|
168
183
|
}),
|
|
169
|
-
|
|
170
|
-
className: "p-4 bg-error-
|
|
171
|
-
children: [/* @__PURE__ */
|
|
184
|
+
P && /* @__PURE__ */ D("div", {
|
|
185
|
+
className: "p-4 bg-status-error-bg-subtle border border-status-error-border rounded-lg flex items-center gap-3",
|
|
186
|
+
children: [/* @__PURE__ */ E(u, {
|
|
172
187
|
size: 20,
|
|
173
|
-
className: "text-error-
|
|
174
|
-
}), /* @__PURE__ */
|
|
175
|
-
className: "text-sm text-error-
|
|
176
|
-
children:
|
|
188
|
+
className: "text-status-error-text"
|
|
189
|
+
}), /* @__PURE__ */ E("p", {
|
|
190
|
+
className: "text-sm text-status-error-text flex-1",
|
|
191
|
+
children: P
|
|
177
192
|
})]
|
|
178
193
|
}),
|
|
179
|
-
/* @__PURE__ */
|
|
194
|
+
/* @__PURE__ */ E("div", {
|
|
180
195
|
className: "p-4 bg-surface border border-border rounded-lg",
|
|
181
|
-
children: /* @__PURE__ */
|
|
196
|
+
children: /* @__PURE__ */ E("p", {
|
|
182
197
|
className: "text-sm text-muted-foreground",
|
|
183
198
|
children: "Users connected to this channel through OAuth or pairing. Manage notification preferences and DM authorization here."
|
|
184
199
|
})
|
|
185
200
|
}),
|
|
186
|
-
/* @__PURE__ */
|
|
201
|
+
/* @__PURE__ */ E("div", {
|
|
187
202
|
className: "bg-surface border border-border rounded-lg overflow-hidden",
|
|
188
|
-
children: /* @__PURE__ */
|
|
203
|
+
children: /* @__PURE__ */ E("div", {
|
|
189
204
|
className: "overflow-x-auto min-w-full",
|
|
190
|
-
children: /* @__PURE__ */
|
|
205
|
+
children: /* @__PURE__ */ D("table", {
|
|
191
206
|
className: "w-full min-w-[800px]",
|
|
192
|
-
children: [/* @__PURE__ */
|
|
207
|
+
children: [/* @__PURE__ */ E("thead", {
|
|
193
208
|
className: "bg-muted/50 border-b border-border",
|
|
194
|
-
children: /* @__PURE__ */
|
|
195
|
-
/* @__PURE__ */
|
|
209
|
+
children: /* @__PURE__ */ D("tr", { children: [
|
|
210
|
+
/* @__PURE__ */ E("th", {
|
|
196
211
|
className: "px-4 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider",
|
|
197
|
-
children:
|
|
212
|
+
children: j("channel.user", "User")
|
|
198
213
|
}),
|
|
199
|
-
/* @__PURE__ */
|
|
214
|
+
/* @__PURE__ */ E("th", {
|
|
200
215
|
className: "px-4 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider",
|
|
201
|
-
children:
|
|
216
|
+
children: j("channel.platformId", "Platform ID")
|
|
202
217
|
}),
|
|
203
|
-
/* @__PURE__ */
|
|
218
|
+
/* @__PURE__ */ E("th", {
|
|
204
219
|
className: "px-4 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider",
|
|
205
|
-
children:
|
|
220
|
+
children: j("channel.source", "Source")
|
|
206
221
|
}),
|
|
207
|
-
/* @__PURE__ */
|
|
222
|
+
/* @__PURE__ */ E("th", {
|
|
208
223
|
className: "px-4 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider",
|
|
209
|
-
children:
|
|
224
|
+
children: j("channel.status", "Status")
|
|
210
225
|
}),
|
|
211
|
-
/* @__PURE__ */
|
|
226
|
+
/* @__PURE__ */ E("th", {
|
|
212
227
|
className: "px-4 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider",
|
|
213
|
-
children:
|
|
228
|
+
children: j("channel.pairing", "Pairing")
|
|
214
229
|
}),
|
|
215
|
-
/* @__PURE__ */
|
|
230
|
+
/* @__PURE__ */ E("th", {
|
|
216
231
|
className: "px-4 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider",
|
|
217
|
-
children:
|
|
232
|
+
children: j("channel.notifications", "Notifications")
|
|
218
233
|
}),
|
|
219
|
-
/* @__PURE__ */
|
|
234
|
+
/* @__PURE__ */ E("th", {
|
|
220
235
|
className: "px-4 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider",
|
|
221
|
-
children:
|
|
236
|
+
children: j("channel.dmAllowed", "DM Allowed")
|
|
222
237
|
})
|
|
223
238
|
] })
|
|
224
|
-
}), /* @__PURE__ */
|
|
239
|
+
}), /* @__PURE__ */ E("tbody", {
|
|
225
240
|
className: "divide-y divide-border",
|
|
226
|
-
children:
|
|
241
|
+
children: L.length === 0 ? /* @__PURE__ */ E("tr", { children: /* @__PURE__ */ E("td", {
|
|
227
242
|
colSpan: 7,
|
|
228
243
|
className: "px-4 py-8 text-center text-muted-foreground",
|
|
229
|
-
children:
|
|
230
|
-
}) }) :
|
|
231
|
-
let t =
|
|
232
|
-
return /* @__PURE__ */
|
|
244
|
+
children: j("channel.noUsersConnected", "No users connected to this channel")
|
|
245
|
+
}) }) : L.map((e) => {
|
|
246
|
+
let t = ie(e.presenceStatus), n = e.pairingStatus ? ae(e.pairingStatus) : null, r = n?.icon ?? S;
|
|
247
|
+
return /* @__PURE__ */ D("tr", {
|
|
233
248
|
className: "hover:bg-muted/30 transition-colors",
|
|
234
249
|
children: [
|
|
235
|
-
/* @__PURE__ */
|
|
250
|
+
/* @__PURE__ */ E("td", {
|
|
236
251
|
className: "px-4 py-3",
|
|
237
|
-
children: /* @__PURE__ */
|
|
252
|
+
children: /* @__PURE__ */ D("div", {
|
|
238
253
|
className: "flex items-center gap-3",
|
|
239
|
-
children: [/* @__PURE__ */
|
|
254
|
+
children: [/* @__PURE__ */ E("div", {
|
|
240
255
|
className: "w-8 h-8 bg-accent-primary/10 rounded-full flex items-center justify-center",
|
|
241
|
-
children: /* @__PURE__ */
|
|
256
|
+
children: /* @__PURE__ */ E(b, {
|
|
242
257
|
size: 16,
|
|
243
258
|
className: "text-accent-primary"
|
|
244
259
|
})
|
|
245
|
-
}), /* @__PURE__ */
|
|
260
|
+
}), /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
|
|
246
261
|
className: "text-sm font-medium text-foreground",
|
|
247
262
|
children: e.externalDisplayName || "Unknown"
|
|
248
|
-
}), e.externalUsername && /* @__PURE__ */
|
|
263
|
+
}), e.externalUsername && /* @__PURE__ */ E("p", {
|
|
249
264
|
className: "text-xs text-muted-foreground",
|
|
250
265
|
children: e.externalUsername
|
|
251
266
|
})] })]
|
|
252
267
|
})
|
|
253
268
|
}),
|
|
254
|
-
/* @__PURE__ */
|
|
269
|
+
/* @__PURE__ */ E("td", {
|
|
255
270
|
className: "px-4 py-3 text-sm font-mono text-muted-foreground",
|
|
256
271
|
children: e.externalUserId
|
|
257
272
|
}),
|
|
258
|
-
/* @__PURE__ */
|
|
273
|
+
/* @__PURE__ */ E("td", {
|
|
259
274
|
className: "px-4 py-3",
|
|
260
|
-
children: /* @__PURE__ */
|
|
275
|
+
children: /* @__PURE__ */ E("span", {
|
|
261
276
|
className: "text-xs text-muted-foreground bg-muted px-2 py-1 rounded",
|
|
262
277
|
children: e.source
|
|
263
278
|
})
|
|
264
279
|
}),
|
|
265
|
-
/* @__PURE__ */
|
|
280
|
+
/* @__PURE__ */ E("td", {
|
|
266
281
|
className: "px-4 py-3",
|
|
267
|
-
children: /* @__PURE__ */
|
|
282
|
+
children: /* @__PURE__ */ D("div", {
|
|
268
283
|
className: "flex items-center gap-2",
|
|
269
|
-
children: [/* @__PURE__ */
|
|
284
|
+
children: [/* @__PURE__ */ E("span", { className: `w-2 h-2 rounded-full ${t.color.replace("text-", "bg-")}` }), /* @__PURE__ */ E("span", {
|
|
270
285
|
className: `text-sm ${t.color}`,
|
|
271
286
|
children: t.label
|
|
272
287
|
})]
|
|
273
288
|
})
|
|
274
289
|
}),
|
|
275
|
-
/* @__PURE__ */
|
|
290
|
+
/* @__PURE__ */ E("td", {
|
|
276
291
|
className: "px-4 py-3",
|
|
277
|
-
children: e.pairingStatus && n ? /* @__PURE__ */
|
|
292
|
+
children: e.pairingStatus && n ? /* @__PURE__ */ D("span", {
|
|
278
293
|
className: `inline-flex items-center gap-1 text-xs px-2 py-1 rounded ${n.color}`,
|
|
279
|
-
children: [/* @__PURE__ */
|
|
280
|
-
}) : /* @__PURE__ */
|
|
294
|
+
children: [/* @__PURE__ */ E(r, { size: 12 }), n.label]
|
|
295
|
+
}) : /* @__PURE__ */ E("span", {
|
|
281
296
|
className: "text-xs text-muted-foreground",
|
|
282
297
|
children: "-"
|
|
283
298
|
})
|
|
284
299
|
}),
|
|
285
|
-
/* @__PURE__ */
|
|
300
|
+
/* @__PURE__ */ E("td", {
|
|
286
301
|
className: "px-4 py-3",
|
|
287
|
-
children: e.notificationsEnabled ? /* @__PURE__ */
|
|
302
|
+
children: e.notificationsEnabled ? /* @__PURE__ */ D("span", {
|
|
288
303
|
className: "inline-flex items-center gap-1",
|
|
289
|
-
children: [/* @__PURE__ */
|
|
304
|
+
children: [/* @__PURE__ */ E(f, {
|
|
290
305
|
size: 16,
|
|
291
|
-
className: "text-success-
|
|
306
|
+
className: "text-status-success-text",
|
|
292
307
|
"aria-hidden": "true"
|
|
293
|
-
}), /* @__PURE__ */
|
|
308
|
+
}), /* @__PURE__ */ E("span", {
|
|
294
309
|
className: "sr-only",
|
|
295
|
-
children:
|
|
310
|
+
children: j("channel.enabled", "Enabled")
|
|
296
311
|
})]
|
|
297
|
-
}) : /* @__PURE__ */
|
|
312
|
+
}) : /* @__PURE__ */ D("span", {
|
|
298
313
|
className: "inline-flex items-center gap-1",
|
|
299
|
-
children: [/* @__PURE__ */
|
|
314
|
+
children: [/* @__PURE__ */ E(p, {
|
|
300
315
|
size: 16,
|
|
301
316
|
className: "text-muted-foreground",
|
|
302
317
|
"aria-hidden": "true"
|
|
303
|
-
}), /* @__PURE__ */
|
|
318
|
+
}), /* @__PURE__ */ E("span", {
|
|
304
319
|
className: "sr-only",
|
|
305
|
-
children:
|
|
320
|
+
children: j("channel.disabled", "Disabled")
|
|
306
321
|
})]
|
|
307
322
|
})
|
|
308
323
|
}),
|
|
309
|
-
/* @__PURE__ */
|
|
324
|
+
/* @__PURE__ */ E("td", {
|
|
310
325
|
className: "px-4 py-3",
|
|
311
|
-
children: e.dmAllowed ? /* @__PURE__ */
|
|
312
|
-
className: "inline-flex items-center gap-1 text-sm text-success-
|
|
313
|
-
children: [/* @__PURE__ */
|
|
314
|
-
}) : /* @__PURE__ */
|
|
326
|
+
children: e.dmAllowed ? /* @__PURE__ */ D("span", {
|
|
327
|
+
className: "inline-flex items-center gap-1 text-sm text-status-success-text",
|
|
328
|
+
children: [/* @__PURE__ */ E(x, { size: 16 }), j("channel.allowed", "Allowed")]
|
|
329
|
+
}) : /* @__PURE__ */ D("span", {
|
|
315
330
|
className: "inline-flex items-center gap-1 text-sm text-muted-foreground",
|
|
316
|
-
children: [/* @__PURE__ */
|
|
331
|
+
children: [/* @__PURE__ */ E(S, { size: 16 }), j("channel.blocked", "Blocked")]
|
|
317
332
|
})
|
|
318
333
|
})
|
|
319
334
|
]
|
|
@@ -322,12 +337,61 @@ function D() {
|
|
|
322
337
|
})]
|
|
323
338
|
})
|
|
324
339
|
})
|
|
340
|
+
}),
|
|
341
|
+
/* @__PURE__ */ D("div", {
|
|
342
|
+
className: "flex items-center justify-between",
|
|
343
|
+
children: [/* @__PURE__ */ E("p", {
|
|
344
|
+
className: "text-sm text-muted-foreground",
|
|
345
|
+
children: V > 0 && /* @__PURE__ */ D(T, { children: [
|
|
346
|
+
j("channel.showing", "Showing"),
|
|
347
|
+
" ",
|
|
348
|
+
/* @__PURE__ */ D("span", {
|
|
349
|
+
className: "font-medium",
|
|
350
|
+
children: [
|
|
351
|
+
U * z + 1,
|
|
352
|
+
"–",
|
|
353
|
+
Math.min((U + 1) * z, V)
|
|
354
|
+
]
|
|
355
|
+
}),
|
|
356
|
+
" ",
|
|
357
|
+
j("channel.of", "of"),
|
|
358
|
+
" ",
|
|
359
|
+
/* @__PURE__ */ E("span", {
|
|
360
|
+
className: "font-medium",
|
|
361
|
+
children: V
|
|
362
|
+
})
|
|
363
|
+
] })
|
|
364
|
+
}), /* @__PURE__ */ D("div", {
|
|
365
|
+
className: "flex items-center gap-2",
|
|
366
|
+
children: [
|
|
367
|
+
/* @__PURE__ */ D("button", {
|
|
368
|
+
onClick: () => W((e) => Math.max(0, e - 1)),
|
|
369
|
+
disabled: !ne || F,
|
|
370
|
+
className: "flex items-center gap-1 px-3 py-1.5 text-sm border border-border rounded-lg hover:bg-muted transition-colors disabled:opacity-40 disabled:cursor-not-allowed",
|
|
371
|
+
children: [/* @__PURE__ */ E(ee, { size: 16 }), j("channel.previous", "Previous")]
|
|
372
|
+
}),
|
|
373
|
+
/* @__PURE__ */ D("span", {
|
|
374
|
+
className: "text-sm text-muted-foreground",
|
|
375
|
+
children: [
|
|
376
|
+
U + 1,
|
|
377
|
+
" / ",
|
|
378
|
+
$
|
|
379
|
+
]
|
|
380
|
+
}),
|
|
381
|
+
/* @__PURE__ */ D("button", {
|
|
382
|
+
onClick: () => W((e) => Math.min($ - 1, e + 1)),
|
|
383
|
+
disabled: !re || F,
|
|
384
|
+
className: "flex items-center gap-1 px-3 py-1.5 text-sm border border-border rounded-lg hover:bg-muted transition-colors disabled:opacity-40 disabled:cursor-not-allowed",
|
|
385
|
+
children: [j("channel.next", "Next"), /* @__PURE__ */ E(h, { size: 16 })]
|
|
386
|
+
})
|
|
387
|
+
]
|
|
388
|
+
})]
|
|
325
389
|
})
|
|
326
390
|
]
|
|
327
391
|
})
|
|
328
392
|
});
|
|
329
393
|
}
|
|
330
394
|
//#endregion
|
|
331
|
-
export {
|
|
395
|
+
export { A as ChannelUsersPage };
|
|
332
396
|
|
|
333
397
|
//# sourceMappingURL=ChannelUsersPage.js.map
|