@bcc-code/vue-bcc-chat-ui 7.1.16 → 7.1.18

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.
@@ -4307,7 +4307,7 @@ function cc({ environment: e }) {
4307
4307
  let r = new Map(v.value.map((e) => [e.id, e]));
4308
4308
  for (let e of t) {
4309
4309
  let t = r.get(e.id);
4310
- t && (e.subtitle === "No messages yet" && t.subtitle && t.subtitle !== "No messages yet" && (e.subtitle = t.subtitle), !e.lastMessageAt && t.lastMessageAt && (e.lastMessageAt = t.lastMessageAt));
4310
+ t && (e.subtitle === "No messages yet" && t.subtitle && t.subtitle !== "No messages yet" && (e.subtitle = t.subtitle), !e.lastMessageAt && t.lastMessageAt && (e.lastMessageAt = t.lastMessageAt), !e.lastMessage && t.lastMessage && (e.lastMessage = t.lastMessage));
4311
4311
  }
4312
4312
  v.value = bc(await pt(t)), V?.setConversations(v.value), P.value && await nt();
4313
4313
  } catch (e) {
@@ -4666,18 +4666,21 @@ function cc({ environment: e }) {
4666
4666
  }
4667
4667
  async function et(e) {
4668
4668
  if (!e.isOwn || e.receipts.readAt) return e;
4669
- let t = `bcc-chat:${G().appId}:message_${e.id}_readAt`;
4669
+ let t = `bcc-chat:${G().appId}:message_${e.id}_receiptStatus`;
4670
4670
  try {
4671
4671
  let n = localStorage.getItem(t);
4672
4672
  if (n) {
4673
- let t = new Date(n);
4674
- if (!Number.isNaN(t.getTime())) return e.receipts.readAt = t, e;
4673
+ let t = JSON.parse(n), r = new Date(t.readAt), i = new Date(t.deliveredAt);
4674
+ if (!Number.isNaN(r.getTime()) && !Number.isNaN(i.getTime())) return e.receipts.readAt = r, e.receipts.deliveredAt = i, e;
4675
4675
  }
4676
4676
  } catch {}
4677
4677
  let n = await bt(e);
4678
- for (let t of n) t.kind === "read" && t.timestamp && (!e.receipts.readAt || t.timestamp > e.receipts.readAt) && (e.receipts.readAt = t.timestamp);
4678
+ for (let t of n) t.kind === "read" && t.timestamp && (!e.receipts.readAt || t.timestamp > e.receipts.readAt) && (e.receipts.readAt = t.timestamp), t.kind === "delivered" && t.timestamp && (!e.receipts.deliveredAt || t.timestamp > e.receipts.deliveredAt) && (e.receipts.deliveredAt = t.timestamp);
4679
4679
  if (e.receipts.readAt) try {
4680
- localStorage.setItem(t, e.receipts.readAt.toISOString());
4680
+ localStorage.setItem(t, JSON.stringify({
4681
+ readAt: e.receipts.readAt?.toISOString(),
4682
+ deliveredAt: e.receipts.deliveredAt?.toISOString()
4683
+ }));
4681
4684
  } catch {}
4682
4685
  return e;
4683
4686
  }
@@ -4905,7 +4908,8 @@ function cc({ environment: e }) {
4905
4908
  ...r,
4906
4909
  subtitle: Zs(t),
4907
4910
  lastMessageAt: /* @__PURE__ */ new Date((e.getSentAt?.() ?? 0) * 1e3),
4908
- unreadCount: n === T.value ? 0 : r.unreadCount + 1
4911
+ unreadCount: n === T.value ? 0 : r.unreadCount + 1,
4912
+ lastMessage: t
4909
4913
  };
4910
4914
  v.value = bc(v.value.map((e) => e.id === n ? i : e)), V?.setConversations(v.value);
4911
4915
  }
@@ -5014,7 +5018,8 @@ function cc({ environment: e }) {
5014
5018
  v.value = bc(v.value.map((e) => e.id === t ? o ? {
5015
5019
  ...e,
5016
5020
  subtitle: Oc(o),
5017
- lastMessageAt: o.sentAt
5021
+ lastMessageAt: o.sentAt,
5022
+ lastMessage: o
5018
5023
  } : a ? {
5019
5024
  ...e,
5020
5025
  subtitle: "No messages yet",
@@ -5026,7 +5031,8 @@ function cc({ environment: e }) {
5026
5031
  v.value = bc(v.value.map((t) => t.id === e ? {
5027
5032
  ...t,
5028
5033
  subtitle: r ? Oc(r) : "No messages yet",
5029
- lastMessageAt: r?.sentAt
5034
+ lastMessageAt: r?.sentAt,
5035
+ lastMessage: r
5030
5036
  } : t)), V?.setConversations(v.value);
5031
5037
  }
5032
5038
  function Mt(e) {
@@ -5034,6 +5040,7 @@ function cc({ environment: e }) {
5034
5040
  ...t,
5035
5041
  subtitle: Oc(e),
5036
5042
  lastMessageAt: e.sentAt,
5043
+ lastMessage: e,
5037
5044
  unreadCount: 0
5038
5045
  } : t)), V?.setConversations(v.value);
5039
5046
  }