@mobilon-dev/chotto 0.0.2 → 0.0.4
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/dark.css +78 -0
- package/dist/global.css +45 -0
- package/dist/light.css +78 -0
- package/dist/style.css +1 -1
- package/dist/variables.css +132 -0
- package/dist/vuessages.es.js +356 -243
- package/dist/vuessages.umd.js +1 -1
- package/package.json +48 -46
package/dist/vuessages.es.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
import { openBlock as
|
2
|
-
const
|
3
|
-
const
|
4
|
-
for (const [
|
5
|
-
|
6
|
-
return
|
7
|
-
},
|
1
|
+
import { openBlock as o, createElementBlock as i, createElementVNode as e, toDisplayString as l, normalizeClass as k, createCommentVNode as I, createTextVNode as S, ref as p, withDirectives as B, withKeys as U, vModelText as D, unref as R, Fragment as J, renderList as Q, createBlock as E, Teleport as M, createVNode as q, Transition as K, withCtx as F, computed as C, onMounted as w, vShow as v, normalizeStyle as W, onUpdated as Z, watch as b, resolveDynamicComponent as z, nextTick as N } from "vue";
|
2
|
+
const d = (A, t) => {
|
3
|
+
const V = A.__vccOpts || A;
|
4
|
+
for (const [s, n] of t)
|
5
|
+
V[s] = n;
|
6
|
+
return V;
|
7
|
+
}, j = {
|
8
8
|
__name: "Chat",
|
9
9
|
props: {
|
10
10
|
chat: {
|
@@ -13,27 +13,30 @@ const _ = (e, s) => {
|
|
13
13
|
}
|
14
14
|
},
|
15
15
|
emits: ["select"],
|
16
|
-
setup(
|
17
|
-
const
|
18
|
-
|
16
|
+
setup(A, { emit: t }) {
|
17
|
+
const V = A, s = t, n = () => {
|
18
|
+
s("select", V.chat);
|
19
19
|
};
|
20
|
-
return (
|
20
|
+
return (a, r) => (o(), i("div", {
|
21
21
|
class: "chat",
|
22
|
-
onClick:
|
22
|
+
onClick: n
|
23
23
|
}, [
|
24
|
-
|
24
|
+
e("p", null, l(A.chat.name) + " " + l(A.chat.countUnread), 1)
|
25
25
|
]));
|
26
26
|
}
|
27
|
-
},
|
27
|
+
}, x = /* @__PURE__ */ d(j, [["__scopeId", "data-v-77b8ac34"]]), Y = { class: "chat-item__container" }, L = { class: "chat-item__avatar-container" }, T = ["src"], H = {
|
28
|
+
key: 1,
|
29
|
+
class: "pi pi-user"
|
30
|
+
}, G = { class: "chat-item__info-container" }, O = { class: "chat-item__name" }, X = {
|
28
31
|
key: 0,
|
29
|
-
class: "
|
30
|
-
},
|
32
|
+
class: "chat-item__last-message"
|
33
|
+
}, P = { class: "chat-item__details-container" }, _ = {
|
31
34
|
key: 0,
|
32
|
-
class: "
|
33
|
-
},
|
35
|
+
class: "chat-item__unread"
|
36
|
+
}, $ = {
|
34
37
|
key: 1,
|
35
|
-
class: "
|
36
|
-
},
|
38
|
+
class: "chat-item__time"
|
39
|
+
}, AA = {
|
37
40
|
__name: "Chat2",
|
38
41
|
props: {
|
39
42
|
chat: {
|
@@ -42,32 +45,35 @@ const _ = (e, s) => {
|
|
42
45
|
}
|
43
46
|
},
|
44
47
|
emits: ["select"],
|
45
|
-
setup(
|
46
|
-
const
|
47
|
-
|
48
|
-
},
|
49
|
-
return (
|
50
|
-
class:
|
51
|
-
onClick:
|
48
|
+
setup(A, { emit: t }) {
|
49
|
+
const V = A, s = t, n = () => {
|
50
|
+
s("select", V.chat);
|
51
|
+
}, a = () => V.chat.isSelected ? "chat-item__selected" : "chat-item";
|
52
|
+
return (r, c) => (o(), i("div", {
|
53
|
+
class: k(a()),
|
54
|
+
onClick: n
|
52
55
|
}, [
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
e
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
e
|
56
|
+
e("div", Y, [
|
57
|
+
e("div", L, [
|
58
|
+
V.chat.avatar ? (o(), i("img", {
|
59
|
+
key: 0,
|
60
|
+
src: V.chat.avatar,
|
61
|
+
height: "32",
|
62
|
+
width: "32"
|
63
|
+
}, null, 8, T)) : (o(), i("span", H))
|
64
|
+
]),
|
65
|
+
e("div", G, [
|
66
|
+
e("div", O, l(A.chat.name), 1),
|
67
|
+
A.chat.lastMessage ? (o(), i("div", X, l(A.chat.lastMessage), 1)) : I("", !0)
|
68
|
+
]),
|
69
|
+
e("div", P, [
|
70
|
+
A.chat.countUnread > 0 ? (o(), i("div", _, l(A.chat.countUnread), 1)) : I("", !0),
|
71
|
+
A.chat["lastActivity.time"] ? (o(), i("div", $, l(A.chat["lastActivity.time"]), 1)) : I("", !0)
|
72
|
+
])
|
67
73
|
])
|
68
74
|
], 2));
|
69
75
|
}
|
70
|
-
},
|
76
|
+
}, VA = /* @__PURE__ */ d(AA, [["__scopeId", "data-v-abade668"]]), eA = { class: "file-message" }, tA = { class: "file-message__container" }, sA = ["href"], aA = {
|
71
77
|
__name: "FileMessage",
|
72
78
|
props: {
|
73
79
|
message: {
|
@@ -75,15 +81,22 @@ const _ = (e, s) => {
|
|
75
81
|
required: !0
|
76
82
|
}
|
77
83
|
},
|
78
|
-
setup(
|
79
|
-
return (
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
+
setup(A) {
|
85
|
+
return (t, V) => (o(), i("div", eA, [
|
86
|
+
e("div", tA, [
|
87
|
+
e("a", {
|
88
|
+
class: "file-message__link",
|
89
|
+
href: A.message.url,
|
90
|
+
download: ""
|
91
|
+
}, [
|
92
|
+
V[0] || (V[0] = e("span", { class: "pi pi-file" }, null, -1)),
|
93
|
+
S(" " + l(A.message.filename), 1)
|
94
|
+
], 8, sA),
|
95
|
+
V[1] || (V[1] = e("span", { class: "file-message__time" }, "22:02", -1))
|
96
|
+
])
|
84
97
|
]));
|
85
98
|
}
|
86
|
-
},
|
99
|
+
}, nA = /* @__PURE__ */ d(aA, [["__scopeId", "data-v-d65084f4"]]), oA = ["messageId"], iA = ["src", "alt"], rA = { class: "message-time" }, cA = {
|
87
100
|
__name: "ImageMessage",
|
88
101
|
props: {
|
89
102
|
message: {
|
@@ -91,24 +104,24 @@ const _ = (e, s) => {
|
|
91
104
|
required: !0
|
92
105
|
}
|
93
106
|
},
|
94
|
-
setup(
|
95
|
-
const
|
96
|
-
function
|
97
|
-
return
|
107
|
+
setup(A) {
|
108
|
+
const t = A;
|
109
|
+
function V() {
|
110
|
+
return t.message.position === "left" ? "image-message-left" : "image-message-right";
|
98
111
|
}
|
99
|
-
return (
|
100
|
-
class:
|
101
|
-
messageId:
|
112
|
+
return (s, n) => (o(), i("div", {
|
113
|
+
class: k(V()),
|
114
|
+
messageId: A.message.messageId
|
102
115
|
}, [
|
103
|
-
|
104
|
-
src:
|
105
|
-
alt:
|
116
|
+
e("img", {
|
117
|
+
src: A.message.url,
|
118
|
+
alt: A.message.alt,
|
106
119
|
class: "image-message"
|
107
|
-
}, null, 8,
|
108
|
-
|
109
|
-
], 10,
|
120
|
+
}, null, 8, iA),
|
121
|
+
e("div", rA, l(A.message.time), 1)
|
122
|
+
], 10, oA));
|
110
123
|
}
|
111
|
-
},
|
124
|
+
}, nV = /* @__PURE__ */ d(cA, [["__scopeId", "data-v-9abe971c"]]), lA = { class: "text-message" }, dA = ["messageId"], uA = {
|
112
125
|
__name: "TextMessage",
|
113
126
|
props: {
|
114
127
|
message: {
|
@@ -116,19 +129,24 @@ const _ = (e, s) => {
|
|
116
129
|
required: !0
|
117
130
|
}
|
118
131
|
},
|
119
|
-
setup(
|
120
|
-
function
|
121
|
-
return
|
132
|
+
setup(A) {
|
133
|
+
function t(V) {
|
134
|
+
return V.direction === "incoming" ? "text-message__left" : "text-message__right";
|
122
135
|
}
|
123
|
-
return (
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
136
|
+
return (V, s) => (o(), i("div", lA, [
|
137
|
+
e("div", {
|
138
|
+
class: k(t(A.message)),
|
139
|
+
messageId: A.message.messageId
|
140
|
+
}, [
|
141
|
+
e("p", null, l(A.message.text), 1),
|
142
|
+
s[0] || (s[0] = e("span", { class: "text-message__time" }, "22:02", -1))
|
143
|
+
], 10, dA)
|
144
|
+
]));
|
130
145
|
}
|
131
|
-
},
|
146
|
+
}, mA = /* @__PURE__ */ d(uA, [["__scopeId", "data-v-a831158c"]]), gA = { class: "chat-info" }, pA = {
|
147
|
+
key: 0,
|
148
|
+
class: "chat-info__container"
|
149
|
+
}, hA = { class: "chat-info__avatar-container" }, fA = ["src"], IA = { key: 1 }, EA = { class: "chat-info__title" }, kA = {
|
132
150
|
__name: "ChatInfo",
|
133
151
|
props: {
|
134
152
|
chat: {
|
@@ -136,34 +154,44 @@ const _ = (e, s) => {
|
|
136
154
|
required: !0
|
137
155
|
}
|
138
156
|
},
|
139
|
-
setup(
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
157
|
+
setup(A) {
|
158
|
+
const t = A;
|
159
|
+
return (V, s) => (o(), i("div", gA, [
|
160
|
+
A.chat ? (o(), i("div", pA, [
|
161
|
+
e("div", hA, [
|
162
|
+
t.chat.avatar ? (o(), i("img", {
|
163
|
+
key: 0,
|
164
|
+
src: t.chat.avatar
|
165
|
+
}, null, 8, fA)) : (o(), i("span", IA, s[0] || (s[0] = [
|
166
|
+
e("i", { class: "pi pi-user" }, null, -1)
|
167
|
+
])))
|
168
|
+
]),
|
169
|
+
e("h2", EA, l(A.chat.name), 1),
|
170
|
+
s[1] || (s[1] = e("p", { class: "chat-info__time" }, "Был(а) недавно", -1))
|
171
|
+
])) : I("", !0)
|
144
172
|
]));
|
145
173
|
}
|
146
|
-
},
|
174
|
+
}, oV = /* @__PURE__ */ d(kA, [["__scopeId", "data-v-798557ec"]]), CA = { class: "chat-input" }, BA = {
|
147
175
|
__name: "ChatInput",
|
148
176
|
emits: ["send"],
|
149
|
-
setup(
|
150
|
-
const
|
151
|
-
|
177
|
+
setup(A, { emit: t }) {
|
178
|
+
const V = t, s = p(""), n = p(null), a = () => {
|
179
|
+
s.value.trim() && (V("send", s.value), s.value = "", R(n).focus());
|
152
180
|
};
|
153
|
-
return (
|
154
|
-
|
155
|
-
"onUpdate:modelValue":
|
181
|
+
return (r, c) => (o(), i("div", CA, [
|
182
|
+
B(e("input", {
|
183
|
+
"onUpdate:modelValue": c[0] || (c[0] = (h) => s.value = h),
|
156
184
|
ref_key: "refInput",
|
157
|
-
ref:
|
158
|
-
onKeydown:
|
185
|
+
ref: n,
|
186
|
+
onKeydown: U(a, ["enter"]),
|
159
187
|
placeholder: "Type a message..."
|
160
188
|
}, null, 544), [
|
161
|
-
[
|
189
|
+
[D, s.value]
|
162
190
|
]),
|
163
|
-
|
191
|
+
e("button", { onClick: a }, "Send")
|
164
192
|
]));
|
165
193
|
}
|
166
|
-
},
|
194
|
+
}, iV = /* @__PURE__ */ d(BA, [["__scopeId", "data-v-07719b64"]]), RA = { class: "chat-list" }, JA = {
|
167
195
|
__name: "ChatList",
|
168
196
|
props: {
|
169
197
|
chats: {
|
@@ -172,41 +200,44 @@ const _ = (e, s) => {
|
|
172
200
|
}
|
173
201
|
},
|
174
202
|
emits: ["select"],
|
175
|
-
setup(
|
176
|
-
const
|
177
|
-
|
178
|
-
},
|
179
|
-
if (
|
180
|
-
if (
|
181
|
-
if (
|
203
|
+
setup(A, { emit: t }) {
|
204
|
+
const V = A, s = t, n = (r) => {
|
205
|
+
s("select", r);
|
206
|
+
}, a = () => V.chats.sort((r, c) => {
|
207
|
+
if (r.countUnread > c.countUnread) return -1;
|
208
|
+
if (r.countUnread < c.countUnread) return 1;
|
209
|
+
if (r.countUnread == c.countUnread) return 0;
|
182
210
|
});
|
183
|
-
return (
|
184
|
-
(
|
185
|
-
key:
|
186
|
-
chat:
|
187
|
-
onSelect:
|
211
|
+
return (r, c) => (o(), i("div", RA, [
|
212
|
+
(o(!0), i(J, null, Q(a(), (h) => (o(), E(x, {
|
213
|
+
key: h.chatId,
|
214
|
+
chat: h,
|
215
|
+
onSelect: n
|
188
216
|
}, null, 8, ["chat"]))), 128))
|
189
217
|
]));
|
190
218
|
}
|
191
|
-
},
|
219
|
+
}, rV = /* @__PURE__ */ d(JA, [["__scopeId", "data-v-fafd9097"]]), QA = { class: "chat-filter" }, vA = { class: "chat-filter__container" }, yA = {
|
192
220
|
__name: "ChatFilter",
|
193
221
|
emits: ["update"],
|
194
|
-
setup(
|
195
|
-
const
|
196
|
-
const
|
197
|
-
|
222
|
+
setup(A, { emit: t }) {
|
223
|
+
const V = p(""), s = t, n = () => {
|
224
|
+
const a = R(V);
|
225
|
+
s("update", a.value);
|
198
226
|
};
|
199
|
-
return (
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
227
|
+
return (a, r) => (o(), i("div", QA, [
|
228
|
+
e("div", vA, [
|
229
|
+
e("input", {
|
230
|
+
class: "chat-filter__input",
|
231
|
+
type: "text",
|
232
|
+
ref_key: "refInput",
|
233
|
+
ref: V,
|
234
|
+
onInput: n,
|
235
|
+
placeholder: "Поиск..."
|
236
|
+
}, null, 544)
|
237
|
+
])
|
207
238
|
]));
|
208
239
|
}
|
209
|
-
},
|
240
|
+
}, SA = /* @__PURE__ */ d(yA, [["__scopeId", "data-v-bacb0798"]]), UA = { class: "chat-list" }, DA = { class: "chat-list__container" }, MA = { class: "chat-list__items" }, qA = {
|
210
241
|
__name: "ChatList2",
|
211
242
|
props: {
|
212
243
|
chats: {
|
@@ -219,33 +250,43 @@ const _ = (e, s) => {
|
|
219
250
|
}
|
220
251
|
},
|
221
252
|
emits: ["select"],
|
222
|
-
setup(
|
223
|
-
const
|
224
|
-
|
225
|
-
|
253
|
+
setup(A, { emit: t }) {
|
254
|
+
const V = p(""), s = A, n = () => {
|
255
|
+
document.documentElement.classList.toggle("dark");
|
256
|
+
}, a = t, r = (u) => {
|
257
|
+
a("select", u), s.chats.forEach((m) => m.isSelected = !1);
|
258
|
+
const g = s.chats.find((m) => m.chatId === u.chatId);
|
226
259
|
g.isSelected = !0;
|
227
|
-
},
|
228
|
-
if (
|
229
|
-
if (
|
230
|
-
if (
|
231
|
-
}).filter((
|
232
|
-
|
260
|
+
}, c = () => s.chats.sort((u, g) => {
|
261
|
+
if (u.countUnread > g.countUnread) return -1;
|
262
|
+
if (u.countUnread < g.countUnread) return 1;
|
263
|
+
if (u.countUnread == g.countUnread) return 0;
|
264
|
+
}).filter((u) => u.name.includes(V.value)), h = (u) => {
|
265
|
+
V.value = u;
|
233
266
|
};
|
234
|
-
return (
|
235
|
-
e
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
267
|
+
return (u, g) => (o(), i("div", UA, [
|
268
|
+
e("div", DA, [
|
269
|
+
g[0] || (g[0] = e("h2", { class: "chat-list__title" }, "Чаты", -1)),
|
270
|
+
A.filterEnabled ? (o(), E(SA, {
|
271
|
+
key: 0,
|
272
|
+
class: "chat-list__filter",
|
273
|
+
onUpdate: h
|
274
|
+
})) : I("", !0),
|
275
|
+
e("div", MA, [
|
276
|
+
(o(!0), i(J, null, Q(c(), (m) => (o(), E(VA, {
|
277
|
+
key: m.chatId,
|
278
|
+
chat: m,
|
279
|
+
onSelect: r
|
280
|
+
}, null, 8, ["chat"]))), 128))
|
281
|
+
]),
|
282
|
+
e("button", {
|
283
|
+
onClick: n,
|
284
|
+
style: { width: "150px", height: "20px", "margin-top": "50px" }
|
285
|
+
}, "Смена темы")
|
245
286
|
])
|
246
287
|
]));
|
247
288
|
}
|
248
|
-
},
|
289
|
+
}, cV = /* @__PURE__ */ d(qA, [["__scopeId", "data-v-69ebd00b"]]), KA = {
|
249
290
|
props: {
|
250
291
|
message: {
|
251
292
|
type: Object,
|
@@ -274,73 +315,71 @@ const _ = (e, s) => {
|
|
274
315
|
},
|
275
316
|
*/
|
276
317
|
},
|
277
|
-
setup(
|
318
|
+
setup(A) {
|
278
319
|
return {
|
279
|
-
|
320
|
+
isOpen: p(!1)
|
280
321
|
};
|
281
322
|
}
|
282
|
-
},
|
283
|
-
key: 0,
|
284
|
-
class: "message-content"
|
285
|
-
}, me = ["src"], _e = {
|
286
|
-
key: 1,
|
287
|
-
class: "preview-container"
|
288
|
-
}, he = ["src"], ge = { class: "message-info" }, fe = {
|
289
|
-
key: 0,
|
290
|
-
class: "message-status"
|
291
|
-
}, ve = {
|
323
|
+
}, FA = { class: "image-message" }, wA = { class: "image-message__container" }, WA = ["src", "alt"], ZA = {
|
292
324
|
key: 0,
|
293
|
-
class: "
|
294
|
-
},
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
325
|
+
class: "image-message__modal-overlay"
|
326
|
+
}, bA = { class: "image-message__modal" }, zA = ["src", "alt"];
|
327
|
+
function NA(A, t, V, s, n, a) {
|
328
|
+
return o(), i("div", FA, [
|
329
|
+
e("div", wA, [
|
330
|
+
e("button", {
|
331
|
+
class: "image-message__button",
|
332
|
+
onClick: t[0] || (t[0] = (r) => s.isOpen = !0)
|
333
|
+
}, [
|
334
|
+
e("img", {
|
335
|
+
class: "image-message__preview-image",
|
336
|
+
src: V.message.url,
|
337
|
+
alt: V.message.alt
|
338
|
+
}, null, 8, WA),
|
339
|
+
t[2] || (t[2] = e("span", { class: "image-message__time" }, "22:02", -1))
|
340
|
+
]),
|
341
|
+
(o(), E(M, { to: "body" }, [
|
342
|
+
q(K, { name: "modal-fade" }, {
|
343
|
+
default: F(() => [
|
344
|
+
s.isOpen ? (o(), i("div", ZA, [
|
345
|
+
e("div", bA, [
|
346
|
+
e("button", {
|
347
|
+
class: "image-message__modal-close-button",
|
348
|
+
onClick: t[1] || (t[1] = (r) => s.isOpen = !1)
|
349
|
+
}, t[3] || (t[3] = [
|
350
|
+
e("span", null, [
|
351
|
+
e("i", { class: "pi pi-times" })
|
352
|
+
], -1)
|
353
|
+
])),
|
354
|
+
e("img", {
|
355
|
+
class: "image-message__modal-image",
|
356
|
+
src: V.message.url,
|
357
|
+
alt: V.message.alt
|
358
|
+
}, null, 8, zA)
|
359
|
+
])
|
360
|
+
])) : I("", !0)
|
361
|
+
]),
|
362
|
+
_: 1
|
363
|
+
})
|
364
|
+
]))
|
328
365
|
])
|
329
|
-
]
|
366
|
+
]);
|
330
367
|
}
|
331
|
-
const
|
368
|
+
const jA = /* @__PURE__ */ d(KA, [["render", NA], ["__scopeId", "data-v-85d6dbfc"]]), xA = { class: "date-message" }, YA = { class: "date-message__container" }, LA = { class: "date-message__text" }, TA = {
|
332
369
|
__name: "DateMessage",
|
333
370
|
props: {
|
334
371
|
message: {
|
335
372
|
type: Object
|
336
373
|
}
|
337
374
|
},
|
338
|
-
setup(
|
339
|
-
return (
|
340
|
-
|
375
|
+
setup(A) {
|
376
|
+
return (t, V) => (o(), i("div", xA, [
|
377
|
+
e("div", YA, [
|
378
|
+
e("p", LA, l(A.message.text), 1)
|
379
|
+
])
|
341
380
|
]));
|
342
381
|
}
|
343
|
-
},
|
382
|
+
}, HA = /* @__PURE__ */ d(TA, [["__scopeId", "data-v-3b340776"]]), GA = ["messageId"], OA = { class: "audio-message__container" }, XA = { class: "audio-message__progress-bar-container" }, PA = { class: "audio-message__remaining-time" }, _A = {
|
344
383
|
__name: "AudioMessage",
|
345
384
|
props: {
|
346
385
|
message: {
|
@@ -348,22 +387,62 @@ const Ce = /* @__PURE__ */ _(le, [["render", $e]]), xe = { class: "dateMessage"
|
|
348
387
|
required: !0
|
349
388
|
}
|
350
389
|
},
|
351
|
-
setup(
|
352
|
-
function
|
353
|
-
return
|
390
|
+
setup(A) {
|
391
|
+
function t(m) {
|
392
|
+
return m.position === "left" ? "audio-message__left" : "audio-message__right";
|
354
393
|
}
|
355
|
-
|
356
|
-
|
357
|
-
|
394
|
+
const V = p(null), s = p(!1), n = p(0), a = p(0);
|
395
|
+
function r() {
|
396
|
+
V.value && (s.value ? V.value.pause() : V.value.play(), s.value = !s.value);
|
397
|
+
}
|
398
|
+
const c = (m) => {
|
399
|
+
const f = Math.floor(m / 60), y = Math.floor(m % 60);
|
400
|
+
return `${f.toString().padStart(2, "0")}:${y.toString().padStart(2, "0")}`;
|
401
|
+
}, h = C(() => V.value ? c(a.value) : "0:00"), u = C(() => V.value ? c(n.value) : "0:00"), g = C(() => n.value > 0 ? a.value / n.value * 100 : 0);
|
402
|
+
return w(() => {
|
403
|
+
V.value.addEventListener("loadedmetadata", () => {
|
404
|
+
n.value = V.value.duration;
|
405
|
+
}), V.value.addEventListener("timeupdate", () => {
|
406
|
+
a.value = V.value.currentTime;
|
407
|
+
});
|
408
|
+
}), (m, f) => (o(), i("div", {
|
409
|
+
class: k(["audio-message", t(A.message)]),
|
410
|
+
messageId: A.message.messageId
|
358
411
|
}, [
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
412
|
+
e("audio", {
|
413
|
+
ref_key: "player",
|
414
|
+
ref: V,
|
415
|
+
src: "/sample-6s.mp3"
|
416
|
+
}, null, 512),
|
417
|
+
e("div", OA, [
|
418
|
+
B(e("button", {
|
419
|
+
class: "audio-message__play",
|
420
|
+
onClick: r
|
421
|
+
}, f[0] || (f[0] = [
|
422
|
+
e("span", { class: "pi pi-play" }, null, -1)
|
423
|
+
]), 512), [
|
424
|
+
[v, !s.value]
|
425
|
+
]),
|
426
|
+
B(e("button", {
|
427
|
+
class: "audio-message__pause",
|
428
|
+
onClick: r
|
429
|
+
}, f[1] || (f[1] = [
|
430
|
+
e("span", { class: "pi pi-pause" }, null, -1)
|
431
|
+
]), 512), [
|
432
|
+
[v, s.value]
|
433
|
+
]),
|
434
|
+
e("div", XA, [
|
435
|
+
e("div", {
|
436
|
+
class: "audio-message__progress-bar",
|
437
|
+
style: W({ width: g.value + "%" })
|
438
|
+
}, null, 4)
|
439
|
+
]),
|
440
|
+
e("p", PA, l(`${h.value} / ${u.value}`), 1),
|
441
|
+
f[2] || (f[2] = e("span", { class: "audio-message__time" }, "22:02", -1))
|
442
|
+
])
|
443
|
+
], 10, GA));
|
365
444
|
}
|
366
|
-
},
|
445
|
+
}, $A = /* @__PURE__ */ d(_A, [["__scopeId", "data-v-8b044fcf"]]), AV = { class: "message-feed__container" }, VV = {
|
367
446
|
__name: "Feed",
|
368
447
|
props: {
|
369
448
|
objects: {
|
@@ -371,32 +450,34 @@ const Ce = /* @__PURE__ */ _(le, [["render", $e]]), xe = { class: "dateMessage"
|
|
371
450
|
required: !0
|
372
451
|
}
|
373
452
|
},
|
374
|
-
setup(
|
375
|
-
const
|
376
|
-
"message.text":
|
377
|
-
"message.image":
|
378
|
-
"message.file":
|
379
|
-
"message.audio":
|
380
|
-
"system.date":
|
381
|
-
})[
|
382
|
-
function
|
383
|
-
|
384
|
-
const
|
385
|
-
|
453
|
+
setup(A) {
|
454
|
+
const t = p(null), V = A, s = (a) => ({
|
455
|
+
"message.text": mA,
|
456
|
+
"message.image": jA,
|
457
|
+
"message.file": nA,
|
458
|
+
"message.audio": $A,
|
459
|
+
"system.date": HA
|
460
|
+
})[a];
|
461
|
+
function n() {
|
462
|
+
N(function() {
|
463
|
+
const a = R(t);
|
464
|
+
a.scrollTop = a.scrollHeight;
|
386
465
|
});
|
387
466
|
}
|
388
|
-
return
|
467
|
+
return Z(() => n), b(() => V.objects, n), (a, r) => (o(), i("div", {
|
389
468
|
class: "message-feed",
|
390
469
|
ref_key: "refFeed",
|
391
|
-
ref:
|
470
|
+
ref: t
|
392
471
|
}, [
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
472
|
+
e("div", AV, [
|
473
|
+
(o(!0), i(J, null, Q(A.objects, (c) => (o(), E(z(s(c.type)), {
|
474
|
+
key: c.messageId,
|
475
|
+
message: c
|
476
|
+
}, null, 8, ["message"]))), 128))
|
477
|
+
])
|
397
478
|
], 512));
|
398
479
|
}
|
399
|
-
},
|
480
|
+
}, lV = /* @__PURE__ */ d(VV, [["__scopeId", "data-v-bab826c9"]]), eV = { class: "profile" }, tV = { key: 0 }, sV = {
|
400
481
|
__name: "Profile",
|
401
482
|
props: {
|
402
483
|
user: {
|
@@ -404,26 +485,58 @@ const Ce = /* @__PURE__ */ _(le, [["render", $e]]), xe = { class: "dateMessage"
|
|
404
485
|
required: !0
|
405
486
|
}
|
406
487
|
},
|
407
|
-
setup(
|
408
|
-
return (
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
])) :
|
488
|
+
setup(A) {
|
489
|
+
return (t, V) => (o(), i("div", eV, [
|
490
|
+
A.user ? (o(), i("div", tV, [
|
491
|
+
e("h2", null, l(A.user.name), 1),
|
492
|
+
e("p", null, l(A.user.email), 1),
|
493
|
+
e("p", null, l(A.user.phone), 1)
|
494
|
+
])) : I("", !0)
|
414
495
|
]));
|
415
496
|
}
|
416
|
-
},
|
497
|
+
}, dV = /* @__PURE__ */ d(sV, [["__scopeId", "data-v-e1bf37ef"]]);
|
498
|
+
function uV(A) {
|
499
|
+
const t = +new Date(Number(A) * 1e3), V = +/* @__PURE__ */ new Date(), s = Math.floor((V - t) / 1e3), n = Math.floor(s / 60), a = Math.floor(n / 60), r = Math.floor(a / 24);
|
500
|
+
return r > 30 ? t.toLocaleString() : r > 0 ? `${r} ${r === 1 ? "день" : "дня"} назад` : a > 0 ? `${a} ${a === 1 ? "час" : "часа"} назад` : n > 0 ? `${n} ${n === 1 ? "минута" : "минуты"} назад` : s > 0 ? `${s} ${s === 1 ? "секунда" : "секунды"} назад` : "Только что";
|
501
|
+
}
|
502
|
+
const mV = (A) => {
|
503
|
+
const t = [];
|
504
|
+
let V = null;
|
505
|
+
for (let s = 0; s < A.length; s++) {
|
506
|
+
const n = A[s], a = new Date(n.timestamp * 1e3).toLocaleDateString();
|
507
|
+
console.log("message", n, a), a !== V && (t.push({
|
508
|
+
isSeparator: !0,
|
509
|
+
day: a,
|
510
|
+
// Можно использовать локальную дату, если необходимо
|
511
|
+
text: a,
|
512
|
+
type: "system.date"
|
513
|
+
}), V = a), t.push(n);
|
514
|
+
}
|
515
|
+
return t;
|
516
|
+
}, gV = async () => {
|
517
|
+
try {
|
518
|
+
if (await navigator.mediaDevices.getUserMedia({ audio: !0 })) {
|
519
|
+
const t = new Audio();
|
520
|
+
t.src = "data:audio/mpeg;base64,SUQzAwAAAAAfdlRZRVIAAAAFAAAAMjAyMlRJVDIAAAA7AAAB//4XBDIEQwQ6BCAAPQQwBD8EPgQ8BDgEPQQwBD0EOARPBCAAPARDBDcESwQ6BDAEOwRMBD0ESwQ5BFRQRTEAAAABAAAAVEFMQgAAAAEAAABUQ09OAAAAAQAAAENPTU0AAAAFAAAAZW5nAFRSQ0sAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5Jk+ITj8WJAMfo0EHgLB8AbZkoMVWDwBOBwQWsp3kQ3jSpVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQABo4uLzcp3zUUiIoSBCgMw+HKPMh2eNmndrzZqWIyHkf//5fmRmR8yP8jIjLkZF/+TKwMECsdD//JlYGCBB0cmVgoUFUsoIHZWWAwQMKCBpYDBAwciLBNFSy1NQMBkE1JERQkSIJoLRJGiij0FqqTjQUCPQWNEdTf14qKC38XZ///i2sVFG//8WFxVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSZIaP8uNbJpDBHkIvYgTgGMY4AAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRBRz8/Pz8gPz8/Pz8/Pz8/Pz8gPz8/Pz8/Pz8/Pz8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIwMjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/", t.play();
|
521
|
+
}
|
522
|
+
} catch {
|
523
|
+
console.log("no audio permissions");
|
524
|
+
}
|
525
|
+
}, pV = (A) => A.sort((t, V) => Number(t.timestamp) < Number(V.timestamp) ? -1 : Number(t.timestamp) > Number(V.timestamp) ? 1 : 0);
|
417
526
|
export {
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
527
|
+
x as Chat,
|
528
|
+
VA as Chat2,
|
529
|
+
oV as ChatInfo,
|
530
|
+
iV as ChatInput,
|
531
|
+
rV as ChatList,
|
532
|
+
cV as ChatList2,
|
533
|
+
lV as Feed,
|
534
|
+
nA as FileMessage,
|
535
|
+
nV as ImageMessage,
|
536
|
+
dV as Profile,
|
537
|
+
mA as TextMessage,
|
538
|
+
uV as formatTimestamp,
|
539
|
+
mV as insertDaySeparators,
|
540
|
+
gV as playNotificationAudio,
|
541
|
+
pV as sortByTimestamp
|
429
542
|
};
|