@college-africa/chat-ui 1.3.2 → 2.0.0

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.
@@ -3397,18 +3397,36 @@ var Zr = class {
3397
3397
  let t = {};
3398
3398
  return e?.name && (t.name = e.name), e?.email && (t.email = e.email), e?.role && (t.role = e.role), (await this.axiosInstance.get("/users/search", { params: t })).data.users;
3399
3399
  }
3400
- async sendDM(e, t) {
3400
+ async sendDM(e, t, n) {
3401
3401
  return await this.ensureAuthToken(), (await this.axiosInstance.post("/messages", {
3402
3402
  user: e,
3403
- content: t
3403
+ content: t,
3404
+ media: n
3404
3405
  })).data.message;
3405
3406
  }
3406
- async sendGroupMessage(e, t) {
3407
+ async sendGroupMessage(e, t, n) {
3407
3408
  return await this.ensureAuthToken(), (await this.axiosInstance.post("/messages", {
3408
3409
  group: e,
3409
- content: t
3410
+ content: t,
3411
+ media: n
3410
3412
  })).data.message;
3411
3413
  }
3414
+ async uploadFile(e, t, n) {
3415
+ await this.ensureAuthToken();
3416
+ let r = new FormData(), i = (e, t, n) => {
3417
+ typeof n == "string" ? e.append(t, {
3418
+ uri: n,
3419
+ name: n.split("/").pop() ?? t,
3420
+ type: "image/webp"
3421
+ }) : e.append(t, n);
3422
+ };
3423
+ return i(r, "file", e), i(r, "thumbnail", t), (await this.axiosInstance.post("/uploads/temp", r, {
3424
+ headers: { "Content-Type": "multipart/form-data" },
3425
+ onUploadProgress: n ? (e) => {
3426
+ e.total && n(Math.round(e.loaded * 100 / e.total));
3427
+ } : void 0
3428
+ })).data;
3429
+ }
3412
3430
  async getMessages(e) {
3413
3431
  await this.ensureAuthToken();
3414
3432
  let t = {};
@@ -4278,8 +4296,14 @@ var Ha = class extends EventTarget {
4278
4296
  e.DISCONNECTED = "DISCONNECTED", e.CONNECTING = "CONNECTING", e.CONNECTED = "CONNECTED", e.RECONNECTING = "RECONNECTING";
4279
4297
  })(Wa ||= {});
4280
4298
  //#endregion
4299
+ //#region ../sdk/dist/logger.js
4300
+ var Ga = console;
4301
+ function Ka(e) {
4302
+ Ga = e;
4303
+ }
4304
+ //#endregion
4281
4305
  //#region src/cache/keys.ts
4282
- var Ga = ({ type: e, id: t }) => `${e}:${t}`, Ka = ({ group: e, user: t }) => `${e ? "group" : "user"}:${e || t}`, qa = (e, t) => e.group ? `group:${e.group}` : `dm:${e.sender === t ? e.receiver : e.sender}`, Ja = /* @__PURE__ */ l((/* @__PURE__ */ o(((e, t) => {
4306
+ var qa = ({ type: e, id: t }) => `${e}:${t}`, Ja = ({ group: e, user: t }) => `${e ? "group" : "user"}:${e || t}`, Ya = (e, t) => e.group ? `group:${e.group}` : `dm:${e.sender === t ? e.receiver : e.sender}`, Xa = /* @__PURE__ */ l((/* @__PURE__ */ o(((e, t) => {
4283
4307
  ((n, r) => {
4284
4308
  typeof e == "object" && t !== void 0 ? t.exports = r() : typeof define == "function" && define.amd ? define(r) : (n = typeof globalThis < "u" ? globalThis : n || self).Dexie = r();
4285
4309
  })(e, function() {
@@ -8027,9 +8051,9 @@ var Ga = ({ type: e, id: t }) => `${e}:${t}`, Ka = ({ group: e, user: t }) => `$
8027
8051
  }
8028
8052
  }), { default: ar }), ar;
8029
8053
  });
8030
- })))(), 1), Ya = Symbol.for("Dexie"), Xa = globalThis[Ya] || (globalThis[Ya] = Ja.default);
8031
- if (Ja.default.semVer !== Xa.semVer) throw Error(`Two different versions of Dexie loaded in the same app: ${Ja.default.semVer} and ${Xa.semVer}`);
8032
- var { liveQuery: Za, mergeRanges: Qa, rangesOverlap: $a, RangeSet: eo, cmp: to, Entity: no, PropModification: ro, replacePrefix: io, add: ao, remove: oo, DexieYProvider: so } = Xa, co = new class extends Xa {
8054
+ })))(), 1), Za = Symbol.for("Dexie"), Qa = globalThis[Za] || (globalThis[Za] = Xa.default);
8055
+ if (Xa.default.semVer !== Qa.semVer) throw Error(`Two different versions of Dexie loaded in the same app: ${Xa.default.semVer} and ${Qa.semVer}`);
8056
+ var { liveQuery: $a, mergeRanges: eo, rangesOverlap: to, RangeSet: no, cmp: ro, Entity: io, PropModification: ao, replacePrefix: oo, add: so, remove: co, DexieYProvider: lo } = Qa, uo = new class extends Qa {
8033
8057
  summaries;
8034
8058
  users;
8035
8059
  messages;
@@ -8053,13 +8077,13 @@ var { liveQuery: Za, mergeRanges: Qa, rangesOverlap: $a, RangeSet: eo, cmp: to,
8053
8077
  this.groups.clear()
8054
8078
  ]);
8055
8079
  }
8056
- }(), lo = 300 * 1e3;
8057
- function uo(e, t, n = lo) {
8080
+ }(), fo = 300 * 1e3;
8081
+ function po(e, t, n = fo) {
8058
8082
  if (e.sender !== t.sender) return !1;
8059
8083
  let r = new Date(e.created_at).getTime(), i = new Date(t.created_at).getTime();
8060
8084
  return Math.abs(i - r) <= n;
8061
8085
  }
8062
- function fo(e = "") {
8086
+ function mo(e = "") {
8063
8087
  let t = e.trim().split(" ").filter((e) => e.length > 0);
8064
8088
  if (t.length >= 2) {
8065
8089
  let e = t[0], n = t[t.length - 1];
@@ -8067,72 +8091,72 @@ function fo(e = "") {
8067
8091
  }
8068
8092
  return e.slice(0, 2).toUpperCase();
8069
8093
  }
8070
- var po = async (e, t = {}) => {
8071
- let n = _o();
8094
+ var ho = async (e, t = {}) => {
8095
+ let n = yo();
8072
8096
  if (!n) throw Error("SDK not initialized");
8073
- let r = Ga(e);
8097
+ let r = qa(e);
8074
8098
  e.type === "group" ? t.group = e.id : t.user = e.id;
8075
8099
  let i = await n.getMessages(t);
8076
8100
  return i.messages.map((e) => ({
8077
8101
  ...e,
8078
8102
  conversationId: r
8079
- })).forEach((e) => co.messages.put(e)), co.msgCursor.put({
8103
+ })).forEach((e) => uo.messages.put(e)), uo.msgCursor.put({
8080
8104
  ...i.cursor,
8081
8105
  id: r
8082
8106
  }), i;
8083
- }, mo = async (e, t) => {
8084
- let { getActiveConversationId: n } = await Promise.resolve().then(() => bo), r = qa(e, t), i = {
8107
+ }, go = async (e, t) => {
8108
+ let { getActiveConversationId: n } = await Promise.resolve().then(() => So), r = Ya(e, t), i = {
8085
8109
  ...e,
8086
8110
  conversationId: r
8087
8111
  };
8088
- await co.messages.put(i);
8089
- let a = await co.summaries.get(r);
8112
+ await uo.messages.put(i);
8113
+ let a = await uo.summaries.get(r);
8090
8114
  if (a) {
8091
8115
  let { unread_count: t, message_count: i } = a, o = r === n(), s = {
8092
8116
  message_count: i + 1,
8093
8117
  last_message_at: e.created_at,
8094
8118
  unread_count: o ? t : t + 1
8095
8119
  };
8096
- await co.summaries.update(r, s);
8120
+ await uo.summaries.update(r, s);
8097
8121
  }
8098
- }, $ = null, ho = [];
8099
- async function go(e) {
8122
+ }, $ = null, _o = [];
8123
+ async function vo(e) {
8100
8124
  if ($) return $;
8101
- e.logger && e.logger;
8125
+ e.logger && Ka(e.logger);
8102
8126
  let { logger: t, ...n } = e;
8103
8127
  $ = new Ua(n), await $.connect();
8104
8128
  let r = await $.getMe();
8105
8129
  $.ws.on("message", (e) => {
8106
- e.type === "message" && mo(e.data, r.id);
8130
+ e.type === "message" && go(e.data, r.id);
8107
8131
  });
8108
8132
  let i = $;
8109
- return ho.splice(0).forEach((e) => e(i)), $;
8133
+ return _o.splice(0).forEach((e) => e(i)), $;
8110
8134
  }
8111
- function _o(e) {
8112
- return e && ($ ? e($) : ho.push(e)), $;
8135
+ function yo(e) {
8136
+ return e && ($ ? e($) : _o.push(e)), $;
8113
8137
  }
8114
- function vo() {
8138
+ function bo() {
8115
8139
  $ &&= ($.disconnect(), null);
8116
8140
  }
8117
- function yo() {
8141
+ function xo() {
8118
8142
  return $ !== null;
8119
8143
  }
8120
8144
  //#endregion
8121
8145
  //#region src/utils/summaries.ts
8122
- var bo = /* @__PURE__ */ s({
8123
- fetchSummaries: () => wo,
8124
- getActiveConversationId: () => Co,
8125
- setActiveConversation: () => So
8126
- }), xo = null, So = (e) => {
8127
- xo = e;
8128
- }, Co = () => xo, wo = async (e) => {
8129
- let t = _o();
8146
+ var So = /* @__PURE__ */ s({
8147
+ fetchSummaries: () => Eo,
8148
+ getActiveConversationId: () => To,
8149
+ setActiveConversation: () => wo
8150
+ }), Co = null, wo = (e) => {
8151
+ Co = e;
8152
+ }, To = () => Co, Eo = async (e) => {
8153
+ let t = yo();
8130
8154
  if (!t) throw Error("SDK not initialized");
8131
8155
  let n = (await t.getMessagesSummary(e)).map((e) => ({
8132
8156
  ...e,
8133
- id: Ka(e)
8157
+ id: Ja(e)
8134
8158
  }));
8135
- return await co.summaries.bulkPut(n), n;
8159
+ return await uo.summaries.bulkPut(n), n;
8136
8160
  };
8137
8161
  //#endregion
8138
- export { o as C, gr as S, gi as _, _o as a, di as b, po as c, co as d, Xa as f, zi as g, ra as h, vo as i, fo as l, oa as m, So as n, go as o, Ga as p, bo as r, yo as s, wo as t, uo as u, hi as v, l as w, Pr as x, fi as y };
8162
+ export { gr as C, Pr as S, l as T, zi as _, yo as a, fi as b, ho as c, uo as d, Qa as f, ra as g, oa as h, bo as i, mo as l, Ga as m, wo as n, vo as o, qa as p, So as r, xo as s, Eo as t, po as u, gi as v, o as w, di as x, hi as y };