@linktr.ee/messaging-react 1.24.3 → 1.24.4-rc-1773546789
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/index.d.ts +8 -0
- package/dist/index.js +179 -178
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/ChannelList/index.test.tsx +57 -0
- package/src/components/ChannelList/index.tsx +4 -1
- package/src/types.ts +8 -0
package/dist/index.js
CHANGED
|
@@ -35,7 +35,7 @@ const Ge = rt({
|
|
|
35
35
|
serviceConfig: !!n,
|
|
36
36
|
capabilities: Object.keys(l)
|
|
37
37
|
});
|
|
38
|
-
const [c, g] = k(null), [
|
|
38
|
+
const [c, g] = k(null), [h, b] = k(null), [C, y] = k(!1), [r, S] = k(!1), [v, w] = k(null), D = J(!1), N = J({
|
|
39
39
|
userId: s == null ? void 0 : s.id,
|
|
40
40
|
apiKey: o,
|
|
41
41
|
serviceConfig: n,
|
|
@@ -45,12 +45,12 @@ const Ge = rt({
|
|
|
45
45
|
renderCount: p.current,
|
|
46
46
|
currentProps: { userId: s == null ? void 0 : s.id, apiKey: (o == null ? void 0 : o.substring(0, 8)) + "..." },
|
|
47
47
|
propChanges: {
|
|
48
|
-
userChanged:
|
|
49
|
-
apiKeyChanged:
|
|
50
|
-
serviceConfigChanged:
|
|
51
|
-
capabilitiesChanged:
|
|
48
|
+
userChanged: N.current.userId !== (s == null ? void 0 : s.id),
|
|
49
|
+
apiKeyChanged: N.current.apiKey !== o,
|
|
50
|
+
serviceConfigChanged: N.current.serviceConfig !== n,
|
|
51
|
+
capabilitiesChanged: N.current.capabilities !== l
|
|
52
52
|
}
|
|
53
|
-
}),
|
|
53
|
+
}), N.current = {
|
|
54
54
|
userId: s == null ? void 0 : s.id,
|
|
55
55
|
apiKey: o,
|
|
56
56
|
serviceConfig: n,
|
|
@@ -64,8 +64,8 @@ const Ge = rt({
|
|
|
64
64
|
dependencies: {
|
|
65
65
|
apiKey: (o == null ? void 0 : o.substring(0, 8)) + "...",
|
|
66
66
|
serviceConfigRef: n,
|
|
67
|
-
serviceConfigStable:
|
|
68
|
-
apiKeyStable:
|
|
67
|
+
serviceConfigStable: N.current.serviceConfig === n,
|
|
68
|
+
apiKeyStable: N.current.apiKey === o
|
|
69
69
|
}
|
|
70
70
|
}), !o || !n) {
|
|
71
71
|
a("⚠️ SERVICE INIT SKIPPED", {
|
|
@@ -77,7 +77,7 @@ const Ge = rt({
|
|
|
77
77
|
a("🚀 CREATING NEW SERVICE", {
|
|
78
78
|
renderCount: u,
|
|
79
79
|
apiKey: (o == null ? void 0 : o.substring(0, 8)) + "...",
|
|
80
|
-
serviceConfigChanged:
|
|
80
|
+
serviceConfigChanged: N.current.serviceConfig !== n
|
|
81
81
|
});
|
|
82
82
|
const d = new lt({
|
|
83
83
|
...n,
|
|
@@ -102,7 +102,7 @@ const Ge = rt({
|
|
|
102
102
|
hasUser: !!s,
|
|
103
103
|
userId: s == null ? void 0 : s.id,
|
|
104
104
|
isConnecting: D.current,
|
|
105
|
-
isConnected:
|
|
105
|
+
isConnected: C,
|
|
106
106
|
dependencies: { service: !!c, userId: s == null ? void 0 : s.id }
|
|
107
107
|
}), !c || !s) {
|
|
108
108
|
a("⚠️ USER CONNECTION SKIPPED", "Missing service or user");
|
|
@@ -124,7 +124,7 @@ const Ge = rt({
|
|
|
124
124
|
try {
|
|
125
125
|
a("📞 CALLING SERVICE.CONNECTUSER", { userId: s.id });
|
|
126
126
|
const M = await c.connectUser(s);
|
|
127
|
-
|
|
127
|
+
b(M), y(!0), E.current = { serviceId: c, userId: s.id }, a("✅ USER CONNECTION SUCCESS", {
|
|
128
128
|
userId: s.id,
|
|
129
129
|
clientId: M.userID
|
|
130
130
|
});
|
|
@@ -137,22 +137,22 @@ const Ge = rt({
|
|
|
137
137
|
} finally {
|
|
138
138
|
S(!1), D.current = !1, a("🔄 USER CONNECTION FINISHED", {
|
|
139
139
|
userId: s.id,
|
|
140
|
-
isConnected:
|
|
140
|
+
isConnected: C
|
|
141
141
|
});
|
|
142
142
|
}
|
|
143
143
|
})();
|
|
144
|
-
}, [c, s, a,
|
|
144
|
+
}, [c, s, a, C]), Q(() => (a("🔌 CLEANUP EFFECT REGISTERED", {
|
|
145
145
|
hasService: !!c,
|
|
146
|
-
isConnected:
|
|
146
|
+
isConnected: C
|
|
147
147
|
}), () => {
|
|
148
|
-
c &&
|
|
148
|
+
c && C ? (a(
|
|
149
149
|
"🧹 CLEANUP EFFECT TRIGGERED",
|
|
150
150
|
"Cleaning up connection on unmount"
|
|
151
151
|
), E.current = null, c.disconnectUser().catch(console.error)) : a("🔇 CLEANUP EFFECT SKIPPED", {
|
|
152
152
|
hasService: !!c,
|
|
153
|
-
isConnected:
|
|
153
|
+
isConnected: C
|
|
154
154
|
});
|
|
155
|
-
}), [c,
|
|
155
|
+
}), [c, C, a]);
|
|
156
156
|
const _ = L(async () => {
|
|
157
157
|
if (a("🔄 REFRESH CONNECTION CALLED", {
|
|
158
158
|
hasService: !!c,
|
|
@@ -165,7 +165,7 @@ const Ge = rt({
|
|
|
165
165
|
try {
|
|
166
166
|
a("🔌 DISCONNECTING FOR REFRESH"), await c.disconnectUser(), a("📞 RECONNECTING FOR REFRESH");
|
|
167
167
|
const u = await c.connectUser(s);
|
|
168
|
-
|
|
168
|
+
b(u), y(!0), w(null), a("✅ CONNECTION REFRESH SUCCESS", { userId: s.id });
|
|
169
169
|
} catch (u) {
|
|
170
170
|
const d = u instanceof Error ? u.message : "Refresh failed";
|
|
171
171
|
w(d), a("❌ CONNECTION REFRESH ERROR", {
|
|
@@ -175,17 +175,17 @@ const Ge = rt({
|
|
|
175
175
|
} finally {
|
|
176
176
|
S(!1), a("🔄 CONNECTION REFRESH FINISHED", { userId: s.id });
|
|
177
177
|
}
|
|
178
|
-
}, [c, s, a]),
|
|
178
|
+
}, [c, s, a]), f = F.useMemo(() => (a("💫 CONTEXT VALUE MEMOIZATION", {
|
|
179
179
|
hasService: !!c,
|
|
180
|
-
hasClient: !!
|
|
181
|
-
isConnected:
|
|
180
|
+
hasClient: !!h,
|
|
181
|
+
isConnected: C,
|
|
182
182
|
isLoading: r,
|
|
183
183
|
hasError: !!v,
|
|
184
184
|
capabilitiesKeys: Object.keys(l)
|
|
185
185
|
}), {
|
|
186
186
|
service: c,
|
|
187
|
-
client:
|
|
188
|
-
isConnected:
|
|
187
|
+
client: h,
|
|
188
|
+
isConnected: C,
|
|
189
189
|
isLoading: r,
|
|
190
190
|
error: v,
|
|
191
191
|
capabilities: l,
|
|
@@ -193,8 +193,8 @@ const Ge = rt({
|
|
|
193
193
|
debug: m
|
|
194
194
|
}), [
|
|
195
195
|
c,
|
|
196
|
-
|
|
197
|
-
|
|
196
|
+
h,
|
|
197
|
+
C,
|
|
198
198
|
r,
|
|
199
199
|
v,
|
|
200
200
|
l,
|
|
@@ -204,12 +204,12 @@ const Ge = rt({
|
|
|
204
204
|
]);
|
|
205
205
|
return a("🔄 RENDER END", {
|
|
206
206
|
renderCount: p.current,
|
|
207
|
-
willRenderChat: !!(
|
|
208
|
-
contextValueReady: !!
|
|
209
|
-
}), /* @__PURE__ */ e(Ge.Provider, { value:
|
|
207
|
+
willRenderChat: !!(h && C),
|
|
208
|
+
contextValueReady: !!f
|
|
209
|
+
}), /* @__PURE__ */ e(Ge.Provider, { value: f, children: h && C ? /* @__PURE__ */ e(
|
|
210
210
|
it,
|
|
211
211
|
{
|
|
212
|
-
client:
|
|
212
|
+
client: h,
|
|
213
213
|
customClasses: {
|
|
214
214
|
channelList: "str-chat__channel-list str-chat__channel-list-react bg-transparent lg:border-r-2 border-r-0 border-[#0000000A]"
|
|
215
215
|
},
|
|
@@ -358,12 +358,12 @@ const te = ({
|
|
|
358
358
|
isMyMessage: n = !1,
|
|
359
359
|
hasAttachment: o = !1
|
|
360
360
|
}) => {
|
|
361
|
-
var
|
|
361
|
+
var C;
|
|
362
362
|
const l = He(t), m = ke(t);
|
|
363
363
|
if (!l && !m)
|
|
364
364
|
return null;
|
|
365
365
|
if (l) {
|
|
366
|
-
const y = (
|
|
366
|
+
const y = (C = t.metadata) == null ? void 0 : C.amount_text;
|
|
367
367
|
if (!y) return null;
|
|
368
368
|
const r = s ? "message-tip-standalone" : "message-tag message-tag--tip", S = s ? `${y} tip` : `Delivered with ${y} tip`;
|
|
369
369
|
return /* @__PURE__ */ i("div", { className: r, children: [
|
|
@@ -375,28 +375,28 @@ const te = ({
|
|
|
375
375
|
"message-chatbot-indicator",
|
|
376
376
|
n ? "message-chatbot-indicator--sender" : "message-chatbot-indicator--receiver",
|
|
377
377
|
a ? "message-chatbot-indicator--attachment" : "message-chatbot-indicator--text"
|
|
378
|
-
].join(" "),
|
|
378
|
+
].join(" "), h = /* @__PURE__ */ e("span", { className: "message-chatbot-indicator__label", children: c }), b = /* @__PURE__ */ e("span", { className: "message-chatbot-indicator__icon", children: /* @__PURE__ */ e(as, { size: a ? 12 : 15 }) });
|
|
379
379
|
return /* @__PURE__ */ e("div", { className: g, "data-testid": "message-chatbot-indicator", children: n && !a ? /* @__PURE__ */ i(de, { children: [
|
|
380
|
-
|
|
381
|
-
|
|
380
|
+
h,
|
|
381
|
+
b
|
|
382
382
|
] }) : /* @__PURE__ */ i(de, { children: [
|
|
383
|
-
|
|
384
|
-
|
|
383
|
+
b,
|
|
384
|
+
h
|
|
385
385
|
] }) });
|
|
386
386
|
}, ze = F.memo(
|
|
387
387
|
({ channel: t, unread: s }) => {
|
|
388
|
-
var E, _,
|
|
388
|
+
var E, _, f, u;
|
|
389
389
|
const { selectedChannel: n, onChannelSelect: o, debug: l, renderMessagePreview: m } = Kt(), a = (n == null ? void 0 : n.id) === (t == null ? void 0 : t.id), c = () => {
|
|
390
390
|
t && o(t);
|
|
391
391
|
}, g = (d) => {
|
|
392
392
|
const x = d.key === "Enter" || d.key === " ", M = d.repeat;
|
|
393
393
|
!x || M || (d.preventDefault(), c());
|
|
394
|
-
},
|
|
394
|
+
}, b = Object.values(((E = t == null ? void 0 : t.state) == null ? void 0 : E.members) || {}).find(
|
|
395
395
|
(d) => {
|
|
396
396
|
var x, M;
|
|
397
397
|
return ((x = d.user) == null ? void 0 : x.id) && d.user.id !== ((M = t == null ? void 0 : t._client) == null ? void 0 : M.userID);
|
|
398
398
|
}
|
|
399
|
-
),
|
|
399
|
+
), C = ((_ = b == null ? void 0 : b.user) == null ? void 0 : _.name) || "Conversation", y = (f = b == null ? void 0 : b.user) == null ? void 0 : f.image, r = (() => {
|
|
400
400
|
var x;
|
|
401
401
|
const d = (x = t == null ? void 0 : t.state) == null ? void 0 : x.messages;
|
|
402
402
|
if (d != null && d.length) {
|
|
@@ -408,11 +408,11 @@ const te = ({
|
|
|
408
408
|
if (r != null && r.text) return r.text;
|
|
409
409
|
const d = (x = r == null ? void 0 : r.attachments) == null ? void 0 : x[0];
|
|
410
410
|
return d ? d.og_scrape_url ? d.og_scrape_url : d.type === "image" ? "📷 Sent an image" : d.type === "video" ? "🎥 Sent a video" : d.type === "audio" ? "🎵 Sent audio" : d.type === "file" ? "📎 Sent a file" : "📎 Sent an attachment" : "No messages yet";
|
|
411
|
-
})(), w = r != null && r.created_at ? ts(new Date(r.created_at)) : "", D = r ? ke(r) : !1,
|
|
411
|
+
})(), w = r != null && r.created_at ? ts(new Date(r.created_at)) : "", D = r ? ke(r) : !1, N = m ? m(r, v) : `${D ? "✨ " : ""}${v}`, p = s ?? 0;
|
|
412
412
|
return l && console.log("📺 [ChannelList] 📋 CHANNEL PREVIEW RENDER", {
|
|
413
413
|
channelId: t == null ? void 0 : t.id,
|
|
414
414
|
isSelected: a,
|
|
415
|
-
participantName:
|
|
415
|
+
participantName: C,
|
|
416
416
|
unreadCount: p,
|
|
417
417
|
hasTimestamp: !!w
|
|
418
418
|
}), /* @__PURE__ */ e(
|
|
@@ -433,8 +433,8 @@ const te = ({
|
|
|
433
433
|
/* @__PURE__ */ e(
|
|
434
434
|
te,
|
|
435
435
|
{
|
|
436
|
-
id: ((u =
|
|
437
|
-
name:
|
|
436
|
+
id: ((u = b == null ? void 0 : b.user) == null ? void 0 : u.id) || t.id || "unknown",
|
|
437
|
+
name: C,
|
|
438
438
|
image: y,
|
|
439
439
|
size: 44,
|
|
440
440
|
className: "[&_.avatar-fallback]:group-hover:bg-[#eeeeee]"
|
|
@@ -449,13 +449,13 @@ const te = ({
|
|
|
449
449
|
"text-sm font-medium truncate",
|
|
450
450
|
a ? "text-primary" : "text-charcoal"
|
|
451
451
|
),
|
|
452
|
-
children:
|
|
452
|
+
children: C
|
|
453
453
|
}
|
|
454
454
|
),
|
|
455
455
|
w && /* @__PURE__ */ e("span", { className: "text-xs text-stone flex-shrink-0", children: w })
|
|
456
456
|
] }),
|
|
457
457
|
/* @__PURE__ */ i("div", { className: "flex items-center justify-between gap-2 min-w-0", children: [
|
|
458
|
-
/* @__PURE__ */ e("p", { className: "text-xs text-stone flex-1 line-clamp-1", children:
|
|
458
|
+
/* @__PURE__ */ e("p", { className: "text-xs text-stone flex-1 line-clamp-1", children: N }),
|
|
459
459
|
p > 0 && /* @__PURE__ */ e("span", { className: "bg-[#7f22fe] text-white text-xs px-2 py-0.5 rounded-full min-w-[20px] text-center flex-shrink-0", children: p > 99 ? "99+" : p })
|
|
460
460
|
] })
|
|
461
461
|
] })
|
|
@@ -470,46 +470,47 @@ const is = { last_message_at: -1 }, We = F.memo(
|
|
|
470
470
|
onChannelSelect: t,
|
|
471
471
|
selectedChannel: s,
|
|
472
472
|
filters: n,
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
473
|
+
allowNewMessagesFromUnfilteredChannels: o = !1,
|
|
474
|
+
sort: l = is,
|
|
475
|
+
className: m,
|
|
476
|
+
customEmptyStateIndicator: a,
|
|
477
|
+
renderMessagePreview: c
|
|
477
478
|
}) => {
|
|
478
|
-
const
|
|
479
|
-
|
|
480
|
-
const { debug:
|
|
481
|
-
|
|
482
|
-
renderCount:
|
|
479
|
+
const g = F.useRef(0);
|
|
480
|
+
g.current++;
|
|
481
|
+
const { debug: h = !1 } = ve();
|
|
482
|
+
h && console.log("📺 [ChannelList] 🔄 RENDER START", {
|
|
483
|
+
renderCount: g.current,
|
|
483
484
|
selectedChannelId: s == null ? void 0 : s.id,
|
|
484
485
|
filters: n
|
|
485
486
|
});
|
|
486
|
-
const
|
|
487
|
+
const b = F.useMemo(
|
|
487
488
|
() => ({
|
|
488
489
|
selectedChannel: s,
|
|
489
490
|
onChannelSelect: t,
|
|
490
|
-
debug:
|
|
491
|
-
renderMessagePreview:
|
|
491
|
+
debug: h,
|
|
492
|
+
renderMessagePreview: c
|
|
492
493
|
}),
|
|
493
|
-
[s, t,
|
|
494
|
+
[s, t, h, c]
|
|
494
495
|
);
|
|
495
496
|
return /* @__PURE__ */ e(
|
|
496
497
|
"div",
|
|
497
498
|
{
|
|
498
499
|
className: R(
|
|
499
500
|
"messaging-channel-list h-full flex flex-col min-w-0 overflow-hidden",
|
|
500
|
-
|
|
501
|
+
m
|
|
501
502
|
),
|
|
502
|
-
children: /* @__PURE__ */ e("div", { className: "flex-1 overflow-hidden min-w-0", children: /* @__PURE__ */ e(Xt, { value:
|
|
503
|
+
children: /* @__PURE__ */ e("div", { className: "flex-1 overflow-hidden min-w-0", children: /* @__PURE__ */ e(Xt, { value: b, children: /* @__PURE__ */ e(
|
|
503
504
|
ct,
|
|
504
505
|
{
|
|
505
506
|
filters: n,
|
|
506
|
-
sort:
|
|
507
|
+
sort: l,
|
|
507
508
|
options: { limit: 30 },
|
|
508
|
-
allowNewMessagesFromUnfilteredChannels:
|
|
509
|
+
allowNewMessagesFromUnfilteredChannels: o,
|
|
509
510
|
Preview: ze,
|
|
510
|
-
EmptyStateIndicator:
|
|
511
|
+
EmptyStateIndicator: a
|
|
511
512
|
},
|
|
512
|
-
`${JSON.stringify(n)}:${JSON.stringify(
|
|
513
|
+
`${JSON.stringify(n)}:${JSON.stringify(l)}`
|
|
513
514
|
) }) })
|
|
514
515
|
}
|
|
515
516
|
);
|
|
@@ -647,14 +648,14 @@ const ms = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
|
|
|
647
648
|
groupedByUser: a,
|
|
648
649
|
handleAction: c,
|
|
649
650
|
handleOpenThread: g,
|
|
650
|
-
handleRetry:
|
|
651
|
-
highlighted:
|
|
652
|
-
isMessageAIGenerated:
|
|
651
|
+
handleRetry: h,
|
|
652
|
+
highlighted: b,
|
|
653
|
+
isMessageAIGenerated: C,
|
|
653
654
|
isMyMessage: y,
|
|
654
655
|
message: r,
|
|
655
656
|
renderText: S,
|
|
656
657
|
threadList: v
|
|
657
|
-
} = t, { client: w } = $e("CustomMessage"), [D,
|
|
658
|
+
} = t, { client: w } = $e("CustomMessage"), [D, N] = k(!1), p = mt(r.id), { selected: E, voteUp: _, voteDown: f } = us(r), {
|
|
658
659
|
Attachment: u = ft,
|
|
659
660
|
EditMessageModal: d = gt,
|
|
660
661
|
MessageBlocked: x = xt,
|
|
@@ -666,8 +667,8 @@ const ms = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
|
|
|
666
667
|
StreamedMessageText: W = pt,
|
|
667
668
|
PinIndicator: B
|
|
668
669
|
} = ht("CustomMessage"), se = yt(r), ne = Et(r), ae = Ee(
|
|
669
|
-
() =>
|
|
670
|
-
[
|
|
670
|
+
() => C == null ? void 0 : C(r),
|
|
671
|
+
[C, r]
|
|
671
672
|
), j = Ee(
|
|
672
673
|
() => !r.shared_location && !r.attachments ? [] : r.shared_location ? [r.shared_location, ...r.attachments ?? []] : r.attachments,
|
|
673
674
|
[r]
|
|
@@ -680,7 +681,7 @@ const ms = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
|
|
|
680
681
|
return /* @__PURE__ */ e(x, {});
|
|
681
682
|
const re = !v && !!r.reply_count, P = !v && r.show_in_channel && r.parent_id, U = r.status === "failed" && ((ce = r.error) == null ? void 0 : ce.status) !== 403, G = St(r);
|
|
682
683
|
let A;
|
|
683
|
-
U ? A = () =>
|
|
684
|
+
U ? A = () => h(r) : G && (A = () => N(!0));
|
|
684
685
|
const X = y(), q = R(
|
|
685
686
|
"str-chat__message str-chat__message-simple",
|
|
686
687
|
`str-chat__message--${r.type}`,
|
|
@@ -689,7 +690,7 @@ const ms = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
|
|
|
689
690
|
r.text ? "str-chat__message--has-text" : "has-no-text",
|
|
690
691
|
{
|
|
691
692
|
"str-chat__message--has-attachment": se,
|
|
692
|
-
"str-chat__message--highlighted":
|
|
693
|
+
"str-chat__message--highlighted": b,
|
|
693
694
|
"str-chat__message--pinned pinned-message": r.pinned,
|
|
694
695
|
"str-chat__message--with-reactions": ne,
|
|
695
696
|
"str-chat__message-send-can-be-retried": (r == null ? void 0 : r.status) === "failed" && ((me = r == null ? void 0 : r.error) == null ? void 0 : me.status) !== 403,
|
|
@@ -710,7 +711,7 @@ const ms = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
|
|
|
710
711
|
Mt,
|
|
711
712
|
{
|
|
712
713
|
MessageBouncePrompt: M,
|
|
713
|
-
onClose: () =>
|
|
714
|
+
onClose: () => N(!1),
|
|
714
715
|
open: D
|
|
715
716
|
}
|
|
716
717
|
),
|
|
@@ -786,7 +787,7 @@ const ms = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
|
|
|
786
787
|
{
|
|
787
788
|
selected: E,
|
|
788
789
|
onVoteUp: _,
|
|
789
|
-
onVoteDown:
|
|
790
|
+
onVoteDown: f
|
|
790
791
|
}
|
|
791
792
|
)
|
|
792
793
|
] })
|
|
@@ -1016,27 +1017,27 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1016
1017
|
var E;
|
|
1017
1018
|
return ((E = p.user) == null ? void 0 : E.id) && p.user.id !== m._client.userID;
|
|
1018
1019
|
}
|
|
1019
|
-
), [m._client.userID, m.state.members]), c = ((y = a == null ? void 0 : a.user) == null ? void 0 : y.name) || ((r = a == null ? void 0 : a.user) == null ? void 0 : r.id) || "Unknown member", g = (S = a == null ? void 0 : a.user) == null ? void 0 : S.image, [
|
|
1020
|
+
), [m._client.userID, m.state.members]), c = ((y = a == null ? void 0 : a.user) == null ? void 0 : y.name) || ((r = a == null ? void 0 : a.user) == null ? void 0 : r.id) || "Unknown member", g = (S = a == null ? void 0 : a.user) == null ? void 0 : S.image, [h, b] = k(
|
|
1020
1021
|
!!((v = m.state.membership) != null && v.pinned_at)
|
|
1021
1022
|
);
|
|
1022
1023
|
Q(() => {
|
|
1023
|
-
const
|
|
1024
|
+
const N = (p) => {
|
|
1024
1025
|
var E;
|
|
1025
|
-
|
|
1026
|
+
b(
|
|
1026
1027
|
p != null && p.member ? !!p.member.pinned_at : !!((E = m.state.membership) != null && E.pinned_at)
|
|
1027
1028
|
);
|
|
1028
1029
|
};
|
|
1029
|
-
return m.on("member.updated",
|
|
1030
|
-
m.off("member.updated",
|
|
1030
|
+
return m.on("member.updated", N), () => {
|
|
1031
|
+
m.off("member.updated", N);
|
|
1031
1032
|
};
|
|
1032
1033
|
}, [m]);
|
|
1033
|
-
const
|
|
1034
|
+
const C = async () => {
|
|
1034
1035
|
try {
|
|
1035
|
-
|
|
1036
|
-
} catch (
|
|
1036
|
+
h ? await m.unpin() : await m.pin();
|
|
1037
|
+
} catch (N) {
|
|
1037
1038
|
console.error(
|
|
1038
1039
|
"[CustomChannelHeader] Failed to update pinned status:",
|
|
1039
|
-
|
|
1040
|
+
N
|
|
1040
1041
|
);
|
|
1041
1042
|
}
|
|
1042
1043
|
};
|
|
@@ -1070,17 +1071,17 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1070
1071
|
"button",
|
|
1071
1072
|
{
|
|
1072
1073
|
className: le,
|
|
1073
|
-
onClick:
|
|
1074
|
+
onClick: C,
|
|
1074
1075
|
type: "button",
|
|
1075
|
-
"aria-label":
|
|
1076
|
+
"aria-label": h ? "Unstar conversation" : "Star conversation",
|
|
1076
1077
|
children: /* @__PURE__ */ e(
|
|
1077
1078
|
Le,
|
|
1078
1079
|
{
|
|
1079
1080
|
className: R("size-5", {
|
|
1080
|
-
"text-yellow-600":
|
|
1081
|
-
"text-black/90": !
|
|
1081
|
+
"text-yellow-600": h,
|
|
1082
|
+
"text-black/90": !h
|
|
1082
1083
|
}),
|
|
1083
|
-
weight:
|
|
1084
|
+
weight: h ? "duotone" : "regular"
|
|
1084
1085
|
}
|
|
1085
1086
|
)
|
|
1086
1087
|
}
|
|
@@ -1125,17 +1126,17 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1125
1126
|
"button",
|
|
1126
1127
|
{
|
|
1127
1128
|
className: le,
|
|
1128
|
-
onClick:
|
|
1129
|
+
onClick: C,
|
|
1129
1130
|
type: "button",
|
|
1130
|
-
"aria-label":
|
|
1131
|
+
"aria-label": h ? "Unstar conversation" : "Star conversation",
|
|
1131
1132
|
children: /* @__PURE__ */ e(
|
|
1132
1133
|
Le,
|
|
1133
1134
|
{
|
|
1134
1135
|
className: R("size-5", {
|
|
1135
|
-
"text-yellow-600":
|
|
1136
|
-
"text-black/90": !
|
|
1136
|
+
"text-yellow-600": h,
|
|
1137
|
+
"text-black/90": !h
|
|
1137
1138
|
}),
|
|
1138
|
-
weight:
|
|
1139
|
+
weight: h ? "duotone" : "regular"
|
|
1139
1140
|
}
|
|
1140
1141
|
)
|
|
1141
1142
|
}
|
|
@@ -1163,12 +1164,12 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1163
1164
|
onBlockParticipant: a,
|
|
1164
1165
|
showDeleteConversation: c = !0,
|
|
1165
1166
|
onDeleteConversationClick: g,
|
|
1166
|
-
onBlockParticipantClick:
|
|
1167
|
-
onReportParticipantClick:
|
|
1168
|
-
customChannelActions:
|
|
1167
|
+
onBlockParticipantClick: h,
|
|
1168
|
+
onReportParticipantClick: b,
|
|
1169
|
+
customChannelActions: C
|
|
1169
1170
|
}) => {
|
|
1170
1171
|
var W, B, se, ne, ae, j, re;
|
|
1171
|
-
const { service: y, debug: r } = ve(), [S, v] = k(!1), [w, D] = k(!1), [
|
|
1172
|
+
const { service: y, debug: r } = ve(), [S, v] = k(!1), [w, D] = k(!1), [N, p] = k(!1), E = L(async () => {
|
|
1172
1173
|
var P;
|
|
1173
1174
|
if (!(!y || !((P = n == null ? void 0 : n.user) != null && P.id)))
|
|
1174
1175
|
try {
|
|
@@ -1202,10 +1203,10 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1202
1203
|
D(!1);
|
|
1203
1204
|
}
|
|
1204
1205
|
}
|
|
1205
|
-
},
|
|
1206
|
+
}, f = async () => {
|
|
1206
1207
|
var P, U, G;
|
|
1207
|
-
if (!(
|
|
1208
|
-
|
|
1208
|
+
if (!(N || !y)) {
|
|
1209
|
+
h == null || h(), r && console.log("[ChannelInfoDialog] Block member", (P = n == null ? void 0 : n.user) == null ? void 0 : P.id), p(!0);
|
|
1209
1210
|
try {
|
|
1210
1211
|
await y.blockUser((U = n == null ? void 0 : n.user) == null ? void 0 : U.id), a && await a((G = n == null ? void 0 : n.user) == null ? void 0 : G.id), s();
|
|
1211
1212
|
} catch (A) {
|
|
@@ -1216,8 +1217,8 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1216
1217
|
}
|
|
1217
1218
|
}, u = async () => {
|
|
1218
1219
|
var P, U, G;
|
|
1219
|
-
if (!(
|
|
1220
|
-
|
|
1220
|
+
if (!(N || !y)) {
|
|
1221
|
+
h == null || h(), r && console.log("[ChannelInfoDialog] Unblock member", (P = n == null ? void 0 : n.user) == null ? void 0 : P.id), p(!0);
|
|
1221
1222
|
try {
|
|
1222
1223
|
await y.unBlockUser((U = n == null ? void 0 : n.user) == null ? void 0 : U.id), a && await a((G = n == null ? void 0 : n.user) == null ? void 0 : G.id), s();
|
|
1223
1224
|
} catch (A) {
|
|
@@ -1227,7 +1228,7 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1227
1228
|
}
|
|
1228
1229
|
}
|
|
1229
1230
|
}, d = () => {
|
|
1230
|
-
|
|
1231
|
+
b == null || b(), s(), window.open(
|
|
1231
1232
|
"https://linktr.ee/s/about/trust-center/report",
|
|
1232
1233
|
"_blank",
|
|
1233
1234
|
"noopener,noreferrer"
|
|
@@ -1306,21 +1307,21 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1306
1307
|
xe,
|
|
1307
1308
|
{
|
|
1308
1309
|
onClick: u,
|
|
1309
|
-
disabled:
|
|
1310
|
-
"aria-busy":
|
|
1310
|
+
disabled: N,
|
|
1311
|
+
"aria-busy": N,
|
|
1311
1312
|
children: [
|
|
1312
|
-
|
|
1313
|
+
N ? /* @__PURE__ */ e(be, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ e(Ue, { className: "h-5 w-5" }),
|
|
1313
1314
|
/* @__PURE__ */ e("span", { children: "Unblock" })
|
|
1314
1315
|
]
|
|
1315
1316
|
}
|
|
1316
1317
|
) : /* @__PURE__ */ i(
|
|
1317
1318
|
xe,
|
|
1318
1319
|
{
|
|
1319
|
-
onClick:
|
|
1320
|
-
disabled:
|
|
1321
|
-
"aria-busy":
|
|
1320
|
+
onClick: f,
|
|
1321
|
+
disabled: N,
|
|
1322
|
+
"aria-busy": N,
|
|
1322
1323
|
children: [
|
|
1323
|
-
|
|
1324
|
+
N ? /* @__PURE__ */ e(be, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ e(Ue, { className: "h-5 w-5" }),
|
|
1324
1325
|
/* @__PURE__ */ e("span", { children: "Block" })
|
|
1325
1326
|
]
|
|
1326
1327
|
}
|
|
@@ -1329,7 +1330,7 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1329
1330
|
/* @__PURE__ */ e(Zt, { className: "h-5 w-5" }),
|
|
1330
1331
|
/* @__PURE__ */ e("span", { children: "Report" })
|
|
1331
1332
|
] }) }),
|
|
1332
|
-
|
|
1333
|
+
C
|
|
1333
1334
|
] })
|
|
1334
1335
|
] })
|
|
1335
1336
|
] })
|
|
@@ -1346,19 +1347,19 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1346
1347
|
showDeleteConversation: a = !0,
|
|
1347
1348
|
onDeleteConversationClick: c,
|
|
1348
1349
|
onBlockParticipantClick: g,
|
|
1349
|
-
onReportParticipantClick:
|
|
1350
|
-
showStarButton:
|
|
1351
|
-
chatbotVotingEnabled:
|
|
1350
|
+
onReportParticipantClick: h,
|
|
1351
|
+
showStarButton: b = !1,
|
|
1352
|
+
chatbotVotingEnabled: C = !1,
|
|
1352
1353
|
renderChannelBanner: y,
|
|
1353
1354
|
customChannelActions: r,
|
|
1354
1355
|
renderMessage: S
|
|
1355
1356
|
}) => {
|
|
1356
1357
|
const { channel: v } = Se(), w = J(null), D = F.useMemo(() => Object.values(v.state.members || {}).find(
|
|
1357
|
-
(
|
|
1358
|
+
(f) => {
|
|
1358
1359
|
var u;
|
|
1359
|
-
return ((u =
|
|
1360
|
+
return ((u = f.user) == null ? void 0 : u.id) && f.user.id !== v._client.userID;
|
|
1360
1361
|
}
|
|
1361
|
-
), [v._client.userID, v.state.members]),
|
|
1362
|
+
), [v._client.userID, v.state.members]), N = F.useMemo(() => {
|
|
1362
1363
|
const _ = v.data ?? {};
|
|
1363
1364
|
if (_.followerStatus)
|
|
1364
1365
|
return String(_.followerStatus);
|
|
@@ -1377,14 +1378,14 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1377
1378
|
{
|
|
1378
1379
|
overrides: {
|
|
1379
1380
|
Message: (_) => {
|
|
1380
|
-
const { message:
|
|
1381
|
+
const { message: f } = je("ChannelView"), u = /* @__PURE__ */ e(
|
|
1381
1382
|
bs,
|
|
1382
1383
|
{
|
|
1383
1384
|
..._,
|
|
1384
|
-
chatbotVotingEnabled:
|
|
1385
|
+
chatbotVotingEnabled: C
|
|
1385
1386
|
}
|
|
1386
1387
|
);
|
|
1387
|
-
return !S || !
|
|
1388
|
+
return !S || !f ? u : S(u, f);
|
|
1388
1389
|
}
|
|
1389
1390
|
},
|
|
1390
1391
|
children: /* @__PURE__ */ i(Vt, { children: [
|
|
@@ -1395,7 +1396,7 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1395
1396
|
showBackButton: s,
|
|
1396
1397
|
onShowInfo: p,
|
|
1397
1398
|
canShowInfo: !!D,
|
|
1398
|
-
showStarButton:
|
|
1399
|
+
showStarButton: b
|
|
1399
1400
|
}
|
|
1400
1401
|
) }),
|
|
1401
1402
|
y == null ? void 0 : y(),
|
|
@@ -1424,13 +1425,13 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1424
1425
|
onClose: E,
|
|
1425
1426
|
participant: D,
|
|
1426
1427
|
channel: v,
|
|
1427
|
-
followerStatusLabel:
|
|
1428
|
+
followerStatusLabel: N,
|
|
1428
1429
|
onLeaveConversation: l,
|
|
1429
1430
|
onBlockParticipant: m,
|
|
1430
1431
|
showDeleteConversation: a,
|
|
1431
1432
|
onDeleteConversationClick: c,
|
|
1432
1433
|
onBlockParticipantClick: g,
|
|
1433
|
-
onReportParticipantClick:
|
|
1434
|
+
onReportParticipantClick: h,
|
|
1434
1435
|
customChannelActions: r
|
|
1435
1436
|
}
|
|
1436
1437
|
)
|
|
@@ -1446,21 +1447,21 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1446
1447
|
onBlockParticipant: a,
|
|
1447
1448
|
className: c,
|
|
1448
1449
|
CustomChannelEmptyState: g = Ss,
|
|
1449
|
-
showDeleteConversation:
|
|
1450
|
-
onDeleteConversationClick:
|
|
1451
|
-
onBlockParticipantClick:
|
|
1450
|
+
showDeleteConversation: h = !0,
|
|
1451
|
+
onDeleteConversationClick: b,
|
|
1452
|
+
onBlockParticipantClick: C,
|
|
1452
1453
|
onReportParticipantClick: y,
|
|
1453
1454
|
dmAgentEnabled: r,
|
|
1454
1455
|
messageMetadata: S,
|
|
1455
1456
|
onMessageSent: v,
|
|
1456
1457
|
showStarButton: w = !1,
|
|
1457
1458
|
chatbotVotingEnabled: D = !1,
|
|
1458
|
-
renderChannelBanner:
|
|
1459
|
+
renderChannelBanner: N,
|
|
1459
1460
|
customChannelActions: p,
|
|
1460
1461
|
renderMessage: E
|
|
1461
1462
|
}) => {
|
|
1462
1463
|
const _ = L(
|
|
1463
|
-
async (
|
|
1464
|
+
async (f, u, d) => {
|
|
1464
1465
|
var T;
|
|
1465
1466
|
const x = ((T = t.data) == null ? void 0 : T.chatbot_paused) === !0, M = r && !x, H = {
|
|
1466
1467
|
...u,
|
|
@@ -1505,13 +1506,13 @@ const le = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
|
|
|
1505
1506
|
onLeaveConversation: m,
|
|
1506
1507
|
onBlockParticipant: a,
|
|
1507
1508
|
CustomChannelEmptyState: g,
|
|
1508
|
-
showDeleteConversation:
|
|
1509
|
-
onDeleteConversationClick:
|
|
1510
|
-
onBlockParticipantClick:
|
|
1509
|
+
showDeleteConversation: h,
|
|
1510
|
+
onDeleteConversationClick: b,
|
|
1511
|
+
onBlockParticipantClick: C,
|
|
1511
1512
|
onReportParticipantClick: y,
|
|
1512
1513
|
showStarButton: w,
|
|
1513
1514
|
chatbotVotingEnabled: D,
|
|
1514
|
-
renderChannelBanner:
|
|
1515
|
+
renderChannelBanner: N,
|
|
1515
1516
|
customChannelActions: p,
|
|
1516
1517
|
renderMessage: E
|
|
1517
1518
|
}
|
|
@@ -1571,9 +1572,9 @@ const Ls = ({
|
|
|
1571
1572
|
searchPlaceholder: m = "Search participants...",
|
|
1572
1573
|
className: a
|
|
1573
1574
|
}) => {
|
|
1574
|
-
const { debug: c } = ve(), [g,
|
|
1575
|
+
const { debug: c } = ve(), [g, h] = k(""), [b, C] = k([]), [y, r] = k(!1), [S, v] = k(null), [w, D] = k(
|
|
1575
1576
|
null
|
|
1576
|
-
),
|
|
1577
|
+
), N = J(!1);
|
|
1577
1578
|
Q(() => {
|
|
1578
1579
|
if (t.loading) {
|
|
1579
1580
|
c && console.log(
|
|
@@ -1581,7 +1582,7 @@ const Ls = ({
|
|
|
1581
1582
|
);
|
|
1582
1583
|
return;
|
|
1583
1584
|
}
|
|
1584
|
-
if (
|
|
1585
|
+
if (N.current) return;
|
|
1585
1586
|
(async () => {
|
|
1586
1587
|
c && console.log("[ParticipantPicker] Loading initial participants..."), r(!0), v(null);
|
|
1587
1588
|
try {
|
|
@@ -1590,7 +1591,7 @@ const Ls = ({
|
|
|
1590
1591
|
// Load all participants initially
|
|
1591
1592
|
limit: 100
|
|
1592
1593
|
});
|
|
1593
|
-
|
|
1594
|
+
C(u.participants), N.current = !0, c && console.log(
|
|
1594
1595
|
"[ParticipantPicker] Participants loaded successfully:",
|
|
1595
1596
|
u.participants.length
|
|
1596
1597
|
);
|
|
@@ -1602,25 +1603,25 @@ const Ls = ({
|
|
|
1602
1603
|
}
|
|
1603
1604
|
})();
|
|
1604
1605
|
}, [t.loading, c]);
|
|
1605
|
-
const p =
|
|
1606
|
+
const p = b.filter((f) => !o.has(f.id)).filter((f) => {
|
|
1606
1607
|
var d;
|
|
1607
1608
|
if (!g) return !0;
|
|
1608
1609
|
const u = g.toLowerCase();
|
|
1609
|
-
return
|
|
1610
|
+
return f.name.toLowerCase().includes(u) || ((d = f.email) == null ? void 0 : d.toLowerCase().includes(u)) || !1;
|
|
1610
1611
|
}), E = L(
|
|
1611
|
-
async (
|
|
1612
|
+
async (f) => {
|
|
1612
1613
|
if (!w) {
|
|
1613
|
-
D(
|
|
1614
|
+
D(f.id);
|
|
1614
1615
|
try {
|
|
1615
|
-
await s(
|
|
1616
|
+
await s(f);
|
|
1616
1617
|
} catch (u) {
|
|
1617
1618
|
console.error("[ParticipantPicker] Failed to start chat:", u), D(null);
|
|
1618
1619
|
}
|
|
1619
1620
|
}
|
|
1620
1621
|
},
|
|
1621
1622
|
[s, w]
|
|
1622
|
-
), _ = (
|
|
1623
|
-
(
|
|
1623
|
+
), _ = (f, u) => {
|
|
1624
|
+
(f.key === "Enter" || f.key === " ") && (f.preventDefault(), E(u));
|
|
1624
1625
|
};
|
|
1625
1626
|
return /* @__PURE__ */ i("div", { className: R("flex flex-col h-full", a), children: [
|
|
1626
1627
|
/* @__PURE__ */ i("div", { className: "px-4 py-4 border-b border-sand bg-chalk", children: [
|
|
@@ -1640,7 +1641,7 @@ const Ls = ({
|
|
|
1640
1641
|
Rs,
|
|
1641
1642
|
{
|
|
1642
1643
|
searchQuery: g,
|
|
1643
|
-
setSearchQuery:
|
|
1644
|
+
setSearchQuery: h,
|
|
1644
1645
|
placeholder: m
|
|
1645
1646
|
}
|
|
1646
1647
|
)
|
|
@@ -1660,26 +1661,26 @@ const Ls = ({
|
|
|
1660
1661
|
] })
|
|
1661
1662
|
] }) }) : p.length === 0 ? /* @__PURE__ */ i("div", { className: "p-6 text-center", children: [
|
|
1662
1663
|
/* @__PURE__ */ e("div", { className: "mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-sand", children: /* @__PURE__ */ e(Oe, { className: "h-8 w-8 text-charcoal" }) }),
|
|
1663
|
-
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold text-charcoal mb-2", children: g ? `No ${l} found` :
|
|
1664
|
-
/* @__PURE__ */ e("p", { className: "text-xs text-stone", children: g ? "Try a different search term" :
|
|
1664
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold text-charcoal mb-2", children: g ? `No ${l} found` : b.length > 0 ? `Already chatting with all ${l}` : `No ${l} yet` }),
|
|
1665
|
+
/* @__PURE__ */ e("p", { className: "text-xs text-stone", children: g ? "Try a different search term" : b.length > 0 ? `You have existing conversations with all your ${l}` : `${l.charAt(0).toUpperCase() + l.slice(1)} will appear here` })
|
|
1665
1666
|
] }) : /* @__PURE__ */ i("ul", { className: "space-y-0", children: [
|
|
1666
|
-
p.map((
|
|
1667
|
-
const u =
|
|
1667
|
+
p.map((f) => {
|
|
1668
|
+
const u = f.name || f.email || f.id, d = f.email && f.name ? f.email : f.phone;
|
|
1668
1669
|
return /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
1669
1670
|
"button",
|
|
1670
1671
|
{
|
|
1671
1672
|
type: "button",
|
|
1672
|
-
onClick: () => E(
|
|
1673
|
-
onKeyDown: (x) => _(x,
|
|
1673
|
+
onClick: () => E(f),
|
|
1674
|
+
onKeyDown: (x) => _(x, f),
|
|
1674
1675
|
className: "w-full px-4 py-3 hover:bg-sand transition-colors border-b border-sand text-left focus-ring",
|
|
1675
1676
|
children: /* @__PURE__ */ i("div", { className: "flex items-center justify-between", children: [
|
|
1676
1677
|
/* @__PURE__ */ i("div", { className: "flex items-center space-x-3 flex-1 min-w-0", children: [
|
|
1677
1678
|
/* @__PURE__ */ e(
|
|
1678
1679
|
te,
|
|
1679
1680
|
{
|
|
1680
|
-
id:
|
|
1681
|
+
id: f.id,
|
|
1681
1682
|
name: u,
|
|
1682
|
-
image:
|
|
1683
|
+
image: f.image,
|
|
1683
1684
|
size: 40
|
|
1684
1685
|
}
|
|
1685
1686
|
),
|
|
@@ -1688,10 +1689,10 @@ const Ls = ({
|
|
|
1688
1689
|
d && /* @__PURE__ */ e("p", { className: "text-xs text-stone truncate", children: d })
|
|
1689
1690
|
] })
|
|
1690
1691
|
] }),
|
|
1691
|
-
/* @__PURE__ */ e("div", { className: "flex-shrink-0", children: w ===
|
|
1692
|
+
/* @__PURE__ */ e("div", { className: "flex-shrink-0", children: w === f.id ? /* @__PURE__ */ e(be, { className: "h-5 w-5 text-primary animate-spin" }) : /* @__PURE__ */ e(Oe, { className: "h-5 w-5 text-stone" }) })
|
|
1692
1693
|
] })
|
|
1693
1694
|
}
|
|
1694
|
-
) },
|
|
1695
|
+
) }, f.id);
|
|
1695
1696
|
}),
|
|
1696
1697
|
y && /* @__PURE__ */ e("li", { className: "p-4 flex justify-center", children: /* @__PURE__ */ i("div", { className: "flex items-center space-x-2", children: [
|
|
1697
1698
|
/* @__PURE__ */ e("div", { className: "w-4 h-4 animate-spin rounded-full border-2 border-primary border-t-transparent" }),
|
|
@@ -1868,20 +1869,20 @@ const Hs = ({
|
|
|
1868
1869
|
initialParticipantFilter: a,
|
|
1869
1870
|
initialParticipantData: c,
|
|
1870
1871
|
CustomChannelEmptyState: g,
|
|
1871
|
-
showChannelList:
|
|
1872
|
-
filters:
|
|
1873
|
-
channelListCustomEmptyStateIndicator:
|
|
1872
|
+
showChannelList: h = !0,
|
|
1873
|
+
filters: b,
|
|
1874
|
+
channelListCustomEmptyStateIndicator: C,
|
|
1874
1875
|
onDeleteConversationClick: y,
|
|
1875
1876
|
onBlockParticipantClick: r,
|
|
1876
1877
|
onReportParticipantClick: S,
|
|
1877
1878
|
dmAgentEnabled: v,
|
|
1878
1879
|
messageMetadata: w,
|
|
1879
1880
|
onMessageSent: D,
|
|
1880
|
-
showStarButton:
|
|
1881
|
+
showStarButton: N = !1,
|
|
1881
1882
|
chatbotVotingEnabled: p = !1,
|
|
1882
1883
|
renderMessagePreview: E,
|
|
1883
1884
|
renderChannelBanner: _,
|
|
1884
|
-
customChannelActions:
|
|
1885
|
+
customChannelActions: f,
|
|
1885
1886
|
renderMessage: u
|
|
1886
1887
|
}) => {
|
|
1887
1888
|
const {
|
|
@@ -1907,9 +1908,9 @@ const Hs = ({
|
|
|
1907
1908
|
hidden: !1
|
|
1908
1909
|
}
|
|
1909
1910
|
},
|
|
1910
|
-
...
|
|
1911
|
+
...b
|
|
1911
1912
|
};
|
|
1912
|
-
}, [
|
|
1913
|
+
}, [b, x == null ? void 0 : x.userID]), he = J(null), oe = L(async () => {
|
|
1913
1914
|
if (!x || !M) return;
|
|
1914
1915
|
const I = x.userID;
|
|
1915
1916
|
if (I)
|
|
@@ -2083,11 +2084,11 @@ const Hs = ({
|
|
|
2083
2084
|
className: R(
|
|
2084
2085
|
"messaging-channel-list-sidebar min-h-0 min-w-0 lg:flex lg:flex-col",
|
|
2085
2086
|
{
|
|
2086
|
-
"!hidden":
|
|
2087
|
+
"!hidden": h === !1 || q,
|
|
2087
2088
|
// Hide on mobile when channel selected, show on desktop with consistent wide width
|
|
2088
|
-
"hidden lg:flex lg:flex-1 lg:max-w-2xl":
|
|
2089
|
+
"hidden lg:flex lg:flex-1 lg:max-w-2xl": h !== !1 && !q && ge,
|
|
2089
2090
|
// Show on mobile when no channel selected, use same wide width on desktop
|
|
2090
|
-
"flex flex-col w-full lg:flex-1 lg:max-w-2xl":
|
|
2091
|
+
"flex flex-col w-full lg:flex-1 lg:max-w-2xl": h !== !1 && !q && !ge
|
|
2091
2092
|
}
|
|
2092
2093
|
),
|
|
2093
2094
|
children: /* @__PURE__ */ e(
|
|
@@ -2096,7 +2097,7 @@ const Hs = ({
|
|
|
2096
2097
|
onChannelSelect: Xe,
|
|
2097
2098
|
selectedChannel: W || void 0,
|
|
2098
2099
|
filters: Qe,
|
|
2099
|
-
customEmptyStateIndicator:
|
|
2100
|
+
customEmptyStateIndicator: C,
|
|
2100
2101
|
renderMessagePreview: E
|
|
2101
2102
|
}
|
|
2102
2103
|
)
|
|
@@ -2133,9 +2134,9 @@ const Hs = ({
|
|
|
2133
2134
|
dmAgentEnabled: v,
|
|
2134
2135
|
messageMetadata: w,
|
|
2135
2136
|
onMessageSent: D,
|
|
2136
|
-
showStarButton:
|
|
2137
|
+
showStarButton: N,
|
|
2137
2138
|
chatbotVotingEnabled: p,
|
|
2138
|
-
customChannelActions:
|
|
2139
|
+
customChannelActions: f,
|
|
2139
2140
|
renderMessage: u
|
|
2140
2141
|
},
|
|
2141
2142
|
W.id
|
|
@@ -2208,7 +2209,7 @@ const Hs = ({
|
|
|
2208
2209
|
avatarImage: m,
|
|
2209
2210
|
avatarName: a
|
|
2210
2211
|
}) => {
|
|
2211
|
-
const c = t.filter((g) => g.enabled).sort((g,
|
|
2212
|
+
const c = t.filter((g) => g.enabled).sort((g, h) => (g.order ?? 0) - (h.order ?? 0));
|
|
2212
2213
|
return c.length === 0 ? null : /* @__PURE__ */ e("div", { className: l, children: /* @__PURE__ */ i("div", { className: "flex gap-3 items-end", children: [
|
|
2213
2214
|
(m || a) && /* @__PURE__ */ e("div", { className: "flex-none", children: /* @__PURE__ */ e(
|
|
2214
2215
|
te,
|
|
@@ -2241,13 +2242,13 @@ const Hs = ({
|
|
|
2241
2242
|
)
|
|
2242
2243
|
] }) });
|
|
2243
2244
|
}, Ws = (t, s = {}) => {
|
|
2244
|
-
const { initialSearch: n = "", pageSize: o = 20 } = s, [l, m] = k([]), [a, c] = k(!1), [g,
|
|
2245
|
+
const { initialSearch: n = "", pageSize: o = 20 } = s, [l, m] = k([]), [a, c] = k(!1), [g, h] = k(null), [b, C] = k(n), [y, r] = k(!0), [S, v] = k(), w = L(async (E = !1, _) => {
|
|
2245
2246
|
if (a) return;
|
|
2246
|
-
const
|
|
2247
|
-
c(!0),
|
|
2247
|
+
const f = _ !== void 0 ? _ : b;
|
|
2248
|
+
c(!0), h(null);
|
|
2248
2249
|
try {
|
|
2249
2250
|
const u = await t.loadParticipants({
|
|
2250
|
-
search:
|
|
2251
|
+
search: f || void 0,
|
|
2251
2252
|
limit: o,
|
|
2252
2253
|
cursor: E ? void 0 : S
|
|
2253
2254
|
});
|
|
@@ -2256,14 +2257,14 @@ const Hs = ({
|
|
|
2256
2257
|
), r(u.hasMore), v(u.nextCursor);
|
|
2257
2258
|
} catch (u) {
|
|
2258
2259
|
const d = u instanceof Error ? u.message : "Failed to load participants";
|
|
2259
|
-
|
|
2260
|
+
h(d), console.error("[useParticipants] Load error:", u);
|
|
2260
2261
|
} finally {
|
|
2261
2262
|
c(!1);
|
|
2262
2263
|
}
|
|
2263
|
-
}, [t,
|
|
2264
|
+
}, [t, b, S, o, a]), D = L(() => {
|
|
2264
2265
|
y && !a && w(!1);
|
|
2265
|
-
}, [y, a, w]),
|
|
2266
|
-
|
|
2266
|
+
}, [y, a, w]), N = L((E) => {
|
|
2267
|
+
C(E), v(void 0), w(!0, E);
|
|
2267
2268
|
}, [w]), p = L(() => {
|
|
2268
2269
|
v(void 0), w(!0);
|
|
2269
2270
|
}, [w]);
|
|
@@ -2273,11 +2274,11 @@ const Hs = ({
|
|
|
2273
2274
|
participants: l,
|
|
2274
2275
|
loading: a,
|
|
2275
2276
|
error: g,
|
|
2276
|
-
searchQuery:
|
|
2277
|
+
searchQuery: b,
|
|
2277
2278
|
hasMore: y,
|
|
2278
2279
|
totalCount: t.totalCount,
|
|
2279
2280
|
loadMore: D,
|
|
2280
|
-
search:
|
|
2281
|
+
search: N,
|
|
2281
2282
|
refresh: p
|
|
2282
2283
|
};
|
|
2283
2284
|
};
|