@mobilon-dev/chotto 0.3.42 → 0.3.44
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/chotto.css +1 -1
- package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue.js +2 -2
- package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue2.js +119 -109
- package/dist/components/2_feed_elements/FileMessage/FileMessage.vue.js +3 -3
- package/dist/components/2_feed_elements/FileMessage/FileMessage.vue2.js +99 -89
- package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue.js +2 -2
- package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue2.js +102 -92
- package/dist/components/2_feed_elements/MessageSmsInvite/MessageSmsInvite.vue.js +7 -0
- package/dist/components/2_feed_elements/MessageSmsInvite/MessageSmsInvite.vue2.js +64 -0
- package/dist/components/2_feed_elements/MessageStatusIndicator/MessageStatusIndicator.vue.js +5 -71
- package/dist/components/2_feed_elements/MessageStatusIndicator/MessageStatusIndicator.vue2.js +64 -2
- package/dist/components/2_feed_elements/MessageStatusIndicator/icons/ErrorStatusIcon.vue.js +7 -0
- package/dist/components/2_feed_elements/MessageStatusIndicator/icons/ErrorStatusIcon.vue2.js +40 -0
- package/dist/components/2_feed_elements/MessageStatusIndicator/icons/PendingStatusIcon.vue.js +7 -0
- package/dist/components/2_feed_elements/MessageStatusIndicator/icons/PendingStatusIcon.vue2.js +46 -0
- package/dist/components/2_feed_elements/MessageStatusIndicator/icons/ReadStatusIcon.vue.js +7 -0
- package/dist/components/2_feed_elements/MessageStatusIndicator/icons/ReadStatusIcon.vue2.js +40 -0
- package/dist/components/2_feed_elements/MessageStatusIndicator/icons/ReceivedStatusIcon.vue.js +7 -0
- package/dist/components/2_feed_elements/MessageStatusIndicator/icons/ReceivedStatusIcon.vue2.js +40 -0
- package/dist/components/2_feed_elements/MessageStatusIndicator/icons/SentStatusIcon.vue.js +7 -0
- package/dist/components/2_feed_elements/MessageStatusIndicator/icons/SentStatusIcon.vue2.js +43 -0
- package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue.js +1 -1
- package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue2.js +118 -103
- package/dist/components/2_feed_elements/TextMessage/TextMessage.vue.js +1 -1
- package/dist/components/2_feed_elements/TextMessage/TextMessage.vue2.js +76 -66
- package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue.js +1 -1
- package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue2.js +88 -78
- package/dist/components/3_compounds/Feed/Feed.vue.js +2 -2
- package/dist/components/3_compounds/Feed/Feed.vue2.js +134 -128
- package/dist/locale/en.js +2 -1
- package/dist/locale/ru.js +2 -1
- package/dist/themes/dark.css +1 -1
- package/dist/themes/default.css +1 -1
- package/dist/themes/glass.css +1 -1
- package/dist/themes/green.css +1 -1
- package/dist/themes/mobilon1.css +1 -1
- package/dist/types/apps/data/messages.d.ts +324 -4
- package/dist/types/components/2_feed_elements/AudioMessage/AudioMessage.vue.d.ts +2 -0
- package/dist/types/components/2_feed_elements/AudioMessage/styles/types.d.ts +6 -16
- package/dist/types/components/2_feed_elements/CallMessage/styles/types.d.ts +0 -6
- package/dist/types/components/2_feed_elements/FileMessage/FileMessage.vue.d.ts +2 -0
- package/dist/types/components/2_feed_elements/FileMessage/styles/types.d.ts +2 -20
- package/dist/types/components/2_feed_elements/ImageMessage/ImageMessage.vue.d.ts +2 -0
- package/dist/types/components/2_feed_elements/ImageMessage/styles/types.d.ts +0 -14
- package/dist/types/components/2_feed_elements/MessageSmsInvite/MessageSmsInvite.vue.d.ts +11 -0
- package/dist/types/components/2_feed_elements/MessageSmsInvite/styles/types.d.ts +49 -0
- package/dist/types/components/2_feed_elements/MessageStatusIndicator/icons/ErrorStatusIcon.vue.d.ts +23 -0
- package/dist/types/components/2_feed_elements/MessageStatusIndicator/icons/PendingStatusIcon.vue.d.ts +23 -0
- package/dist/types/components/2_feed_elements/MessageStatusIndicator/icons/ReadStatusIcon.vue.d.ts +23 -0
- package/dist/types/components/2_feed_elements/MessageStatusIndicator/icons/ReceivedStatusIcon.vue.d.ts +23 -0
- package/dist/types/components/2_feed_elements/MessageStatusIndicator/icons/SentStatusIcon.vue.d.ts +23 -0
- package/dist/types/components/2_feed_elements/MessageStatusIndicator/icons/index.d.ts +5 -0
- package/dist/types/components/2_feed_elements/MessageStatusIndicator/styles/types.d.ts +31 -0
- package/dist/types/components/2_feed_elements/StickerMessage/StickerMessage.vue.d.ts +2 -0
- package/dist/types/components/2_feed_elements/StickerMessage/styles/types.d.ts +16 -14
- package/dist/types/components/2_feed_elements/TextMessage/TextMessage.vue.d.ts +2 -0
- package/dist/types/components/2_feed_elements/TextMessage/styles/types.d.ts +0 -18
- package/dist/types/components/2_feed_elements/VideoMessage/VideoMessage.vue.d.ts +2 -0
- package/dist/types/components/2_feed_elements/VideoMessage/styles/types.d.ts +1 -15
- package/dist/types/components/2_feed_elements/types/messages.d.ts +12 -0
- package/dist/types/components/3_compounds/Feed/Feed.vue.d.ts +4 -2
- package/dist/types/hooks/validators/messages/types.d.ts +1 -0
- package/dist/types/locale/en.d.ts +1 -0
- package/dist/types/locale/ru.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./TextMessage.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-d7760eb4"]]);
|
|
5
5
|
export {
|
|
6
6
|
a as default
|
|
7
7
|
};
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
1
|
+
import { defineComponent as O, computed as f, createElementBlock as l, openBlock as a, unref as s, normalizeStyle as S, normalizeClass as g, createCommentVNode as i, createElementVNode as m, createVNode as u, withCtx as w, createTextVNode as j, toDisplayString as v, createBlock as c, Transition as q } from "vue";
|
|
2
|
+
import z from "../../1_atoms/ContextMenu/ContextMenu.vue.js";
|
|
3
|
+
import W from "../../1_atoms/LinkPreview/LinkPreview.vue.js";
|
|
4
|
+
import $ from "../../1_atoms/EmbedPreview/EmbedPreview.vue.js";
|
|
5
|
+
import G from "../BaseReplyMessage/BaseReplyMessage.vue.js";
|
|
6
|
+
import J from "../MessageReactions/MessageReactions.vue.js";
|
|
7
|
+
import K from "../MessageStatusIndicator/MessageStatusIndicator.vue.js";
|
|
8
|
+
import Q from "../MessageSmsInvite/MessageSmsInvite.vue.js";
|
|
9
|
+
import U from "../../1_atoms/Tooltip/Tooltip.vue.js";
|
|
10
|
+
import { useMessageActions as X } from "../../../hooks/messages/useMessageActions.js";
|
|
11
|
+
import { useMessageLinks as Y } from "../../../hooks/messages/useMessageLinks.js";
|
|
12
|
+
import { useChannelAccentColor as Z } from "../../../hooks/messages/useChannelAccentColor.js";
|
|
13
|
+
import { useSubtextTooltip as p } from "../../../hooks/messages/useSubtextTooltip.js";
|
|
14
|
+
import { getStatus as _, getStatusTitle as ee } from "../../../functions/getStatusMessage.js";
|
|
15
|
+
import { getMessageClass as se } from "../../../functions/getMessageClass.js";
|
|
16
|
+
import { createReactionHandlers as te } from "../../../functions/createReactionHandlers.js";
|
|
16
17
|
import "../../../functions/parseMarkdown.js";
|
|
17
|
-
const
|
|
18
|
+
const ae = ["messageId"], ne = ["src"], ie = {
|
|
18
19
|
key: 1,
|
|
19
20
|
class: "text-message__subtext"
|
|
20
|
-
},
|
|
21
|
+
}, oe = ["innerHTML"], le = { class: "text-message__info-container" }, me = {
|
|
21
22
|
key: 1,
|
|
22
23
|
class: "text-message__time"
|
|
23
|
-
},
|
|
24
|
+
}, Ce = /* @__PURE__ */ O({
|
|
24
25
|
__name: "TextMessage",
|
|
25
26
|
props: {
|
|
26
27
|
message: {
|
|
@@ -45,33 +46,36 @@ const ee = ["messageId"], se = ["src"], te = {
|
|
|
45
46
|
default: () => ({})
|
|
46
47
|
}
|
|
47
48
|
},
|
|
48
|
-
emits: ["action", "reply"],
|
|
49
|
-
setup(e, { emit:
|
|
50
|
-
const n = e,
|
|
51
|
-
isOpenMenu:
|
|
52
|
-
buttonMenuVisible:
|
|
53
|
-
showMenu:
|
|
54
|
-
hideMenu:
|
|
55
|
-
clickAction:
|
|
49
|
+
emits: ["action", "reply", "sms-invite"],
|
|
50
|
+
setup(e, { emit: T }) {
|
|
51
|
+
const n = e, r = T, { linkedHtml: h, inNewWindow: x } = Y(() => n.message.text), {
|
|
52
|
+
isOpenMenu: d,
|
|
53
|
+
buttonMenuVisible: C,
|
|
54
|
+
showMenu: y,
|
|
55
|
+
hideMenu: b,
|
|
56
|
+
clickAction: I,
|
|
56
57
|
viewsAction: k,
|
|
57
58
|
handleClickReplied: A
|
|
58
|
-
} =
|
|
59
|
-
|
|
59
|
+
} = X(n.message, r), B = f(() => _(n.message.status)), F = f(() => ee(n.message.status, n.message.statusMsg)), { bubbleStyle: V, messageChannelId: E } = Z(
|
|
60
|
+
f(() => n.message),
|
|
60
61
|
{ cssVariable: "--chotto-textmessage-right-bg", position: "right" }
|
|
61
62
|
);
|
|
62
|
-
function R
|
|
63
|
-
return
|
|
63
|
+
function M(R) {
|
|
64
|
+
return se(R.position, "text-message");
|
|
64
65
|
}
|
|
65
|
-
const { onToggleReaction:
|
|
66
|
-
|
|
66
|
+
const { onToggleReaction: N, onAddReaction: H, onRemoveReaction: L } = te(r), P = p(() => n.message, () => n.subtextTooltipData);
|
|
67
|
+
function D() {
|
|
68
|
+
r("sms-invite", n.message);
|
|
69
|
+
}
|
|
70
|
+
return (R, t) => (a(), l("div", {
|
|
67
71
|
class: g(["text-message", [
|
|
68
|
-
|
|
72
|
+
M(e.message),
|
|
69
73
|
e.applyStyle(e.message)
|
|
70
74
|
]]),
|
|
71
75
|
messageId: e.message.messageId,
|
|
72
|
-
style:
|
|
76
|
+
style: S(s(V)),
|
|
73
77
|
onMouseleave: t[4] || (t[4] = //@ts-ignore
|
|
74
|
-
(...o) => s(
|
|
78
|
+
(...o) => s(b) && s(b)(...o))
|
|
75
79
|
}, [
|
|
76
80
|
e.message.avatar && e.isFirstInSeries ? (a(), l("img", {
|
|
77
81
|
key: 0,
|
|
@@ -79,16 +83,16 @@ const ee = ["messageId"], se = ["src"], te = {
|
|
|
79
83
|
src: e.message.avatar,
|
|
80
84
|
height: "32",
|
|
81
85
|
width: "32",
|
|
82
|
-
style:
|
|
83
|
-
}, null, 12,
|
|
84
|
-
e.message.subText && e.isFirstInSeries ? (a(), l("p",
|
|
85
|
-
u(
|
|
86
|
-
text: s(
|
|
86
|
+
style: S({ gridRow: e.message.subText && e.isFirstInSeries ? "2" : "1" })
|
|
87
|
+
}, null, 12, ne)) : i("", !0),
|
|
88
|
+
e.message.subText && e.isFirstInSeries ? (a(), l("p", ie, [
|
|
89
|
+
u(U, {
|
|
90
|
+
text: s(P),
|
|
87
91
|
position: e.message.position === "left" ? "right" : "left",
|
|
88
92
|
offset: 8
|
|
89
93
|
}, {
|
|
90
|
-
default:
|
|
91
|
-
|
|
94
|
+
default: w(() => [
|
|
95
|
+
j(v(e.message.subText), 1)
|
|
92
96
|
]),
|
|
93
97
|
_: 1
|
|
94
98
|
}, 8, ["text", "position"])
|
|
@@ -96,9 +100,9 @@ const ee = ["messageId"], se = ["src"], te = {
|
|
|
96
100
|
m("div", {
|
|
97
101
|
class: g(["text-message__content", { "is-first": e.isFirstInSeries, "with-avatar-indent": !e.isFirstInSeries && e.message.avatar }]),
|
|
98
102
|
onMouseenter: t[3] || (t[3] = //@ts-ignore
|
|
99
|
-
(...o) => s(
|
|
103
|
+
(...o) => s(y) && s(y)(...o))
|
|
100
104
|
}, [
|
|
101
|
-
e.message.reply ? (a(),
|
|
105
|
+
e.message.reply ? (a(), c(G, {
|
|
102
106
|
key: 0,
|
|
103
107
|
class: g(e.message.position),
|
|
104
108
|
message: e.message.reply,
|
|
@@ -107,28 +111,28 @@ const ee = ["messageId"], se = ["src"], te = {
|
|
|
107
111
|
m("p", {
|
|
108
112
|
class: "text-message__text",
|
|
109
113
|
onClick: t[0] || (t[0] = //@ts-ignore
|
|
110
|
-
(...o) => s(
|
|
111
|
-
innerHTML: s(
|
|
112
|
-
}, null, 8,
|
|
113
|
-
e.message.linkPreview ? (a(),
|
|
114
|
+
(...o) => s(x) && s(x)(...o)),
|
|
115
|
+
innerHTML: s(h)
|
|
116
|
+
}, null, 8, oe),
|
|
117
|
+
e.message.linkPreview ? (a(), c(W, {
|
|
114
118
|
key: 1,
|
|
115
119
|
class: g(e.message.position),
|
|
116
120
|
"link-preview": e.message.linkPreview
|
|
117
121
|
}, null, 8, ["class", "link-preview"])) : i("", !0),
|
|
118
|
-
e.message.embed ? (a(),
|
|
122
|
+
e.message.embed ? (a(), c($, {
|
|
119
123
|
key: 2,
|
|
120
124
|
class: g(e.message.position),
|
|
121
125
|
embed: e.message.embed
|
|
122
126
|
}, null, 8, ["class", "embed"])) : i("", !0),
|
|
123
|
-
u(
|
|
127
|
+
u(J, {
|
|
124
128
|
reactions: e.message.reactions,
|
|
125
129
|
"message-id": e.message.messageId,
|
|
126
130
|
enabled: e.reactionsEnabled,
|
|
127
|
-
onToggleReaction: s(
|
|
128
|
-
onAddReaction: s(
|
|
129
|
-
onRemoveReaction: s(
|
|
131
|
+
onToggleReaction: s(N),
|
|
132
|
+
onAddReaction: s(H),
|
|
133
|
+
onRemoveReaction: s(L)
|
|
130
134
|
}, null, 8, ["reactions", "message-id", "enabled", "onToggleReaction", "onAddReaction", "onRemoveReaction"]),
|
|
131
|
-
m("div",
|
|
135
|
+
m("div", le, [
|
|
132
136
|
e.message.views ? (a(), l("div", {
|
|
133
137
|
key: 0,
|
|
134
138
|
class: "text-message__views",
|
|
@@ -136,39 +140,45 @@ const ee = ["messageId"], se = ["src"], te = {
|
|
|
136
140
|
(...o) => s(k) && s(k)(...o))
|
|
137
141
|
}, [
|
|
138
142
|
t[5] || (t[5] = m("span", { class: "pi pi-eye" }, null, -1)),
|
|
139
|
-
m("p", null,
|
|
143
|
+
m("p", null, v(e.message.views), 1)
|
|
140
144
|
])) : i("", !0),
|
|
141
|
-
e.message.time ? (a(), l("span",
|
|
142
|
-
u(
|
|
145
|
+
e.message.time ? (a(), l("span", me, v(e.message.time), 1)) : i("", !0),
|
|
146
|
+
u(K, {
|
|
143
147
|
"base-class": "text-message",
|
|
144
|
-
"message-class":
|
|
148
|
+
"message-class": M(e.message),
|
|
145
149
|
"message-status": e.message.status,
|
|
146
150
|
"status-class": B.value,
|
|
147
151
|
"status-title": F.value
|
|
148
152
|
}, null, 8, ["message-class", "message-status", "status-class", "status-title"])
|
|
149
153
|
]),
|
|
150
|
-
|
|
154
|
+
u(Q, {
|
|
155
|
+
status: e.message.status,
|
|
156
|
+
"has-messenger-account": e.message.hasMessengerAccount,
|
|
157
|
+
channel: s(E),
|
|
158
|
+
onSmsInvite: D
|
|
159
|
+
}, null, 8, ["status", "has-messenger-account", "channel"]),
|
|
160
|
+
s(C) && e.message.actions ? (a(), l("button", {
|
|
151
161
|
key: 3,
|
|
152
162
|
class: "text-message__menu-button",
|
|
153
|
-
onClick: t[2] || (t[2] = (o) =>
|
|
163
|
+
onClick: t[2] || (t[2] = (o) => d.value = !s(d))
|
|
154
164
|
}, [...t[6] || (t[6] = [
|
|
155
165
|
m("span", { class: "pi pi-ellipsis-h" }, null, -1)
|
|
156
166
|
])])) : i("", !0),
|
|
157
|
-
u(
|
|
158
|
-
default:
|
|
159
|
-
s(
|
|
167
|
+
u(q, null, {
|
|
168
|
+
default: w(() => [
|
|
169
|
+
s(d) && e.message.actions ? (a(), c(z, {
|
|
160
170
|
key: 0,
|
|
161
171
|
class: "text-message__context-menu",
|
|
162
172
|
actions: e.message.actions,
|
|
163
|
-
onClick: s(
|
|
173
|
+
onClick: s(I)
|
|
164
174
|
}, null, 8, ["actions", "onClick"])) : i("", !0)
|
|
165
175
|
]),
|
|
166
176
|
_: 1
|
|
167
177
|
})
|
|
168
178
|
], 34)
|
|
169
|
-
], 46,
|
|
179
|
+
], 46, ae));
|
|
170
180
|
}
|
|
171
181
|
});
|
|
172
182
|
export {
|
|
173
|
-
|
|
183
|
+
Ce as default
|
|
174
184
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./VideoMessage.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import e from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const a = /* @__PURE__ */ e(o, [["__scopeId", "data-v-
|
|
4
|
+
const a = /* @__PURE__ */ e(o, [["__scopeId", "data-v-51ce41b1"]]);
|
|
5
5
|
export {
|
|
6
6
|
a as default
|
|
7
7
|
};
|
|
@@ -1,35 +1,36 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
1
|
+
import { defineComponent as ie, inject as le, ref as p, computed as w, watch as me, createElementBlock as r, openBlock as n, Fragment as re, createElementVNode as l, createBlock as c, unref as a, normalizeStyle as F, normalizeClass as y, createCommentVNode as i, createVNode as m, withCtx as d, createTextVNode as ue, toDisplayString as T, Transition as b, withModifiers as $, Teleport as de } from "vue";
|
|
2
|
+
import ce from "../../1_atoms/ContextMenu/ContextMenu.vue.js";
|
|
3
|
+
import ge from "../../1_atoms/LinkPreview/LinkPreview.vue.js";
|
|
4
|
+
import ve from "../../1_atoms/EmbedPreview/EmbedPreview.vue.js";
|
|
5
|
+
import fe from "../BaseReplyMessage/BaseReplyMessage.vue.js";
|
|
6
|
+
import ye from "../../2_modals/ModalFullscreen/ModalFullscreen.vue.js";
|
|
7
|
+
import be from "../MessageReactions/MessageReactions.vue.js";
|
|
8
|
+
import ke from "../MessageStatusIndicator/MessageStatusIndicator.vue.js";
|
|
9
|
+
import pe from "../MessageSmsInvite/MessageSmsInvite.vue.js";
|
|
10
|
+
import we from "../../1_atoms/Tooltip/Tooltip.vue.js";
|
|
11
|
+
import { useMessageActions as he } from "../../../hooks/messages/useMessageActions.js";
|
|
12
|
+
import { useMessageLinks as xe } from "../../../hooks/messages/useMessageLinks.js";
|
|
13
|
+
import { useChannelAccentColor as Me } from "../../../hooks/messages/useChannelAccentColor.js";
|
|
14
|
+
import { useSubtextTooltip as Te } from "../../../hooks/messages/useSubtextTooltip.js";
|
|
15
|
+
import { getStatus as Re, getStatusTitle as Ce } from "../../../functions/getStatusMessage.js";
|
|
16
|
+
import { getMessageClass as Se } from "../../../functions/getMessageClass.js";
|
|
17
|
+
import { createReactionHandlers as Ie } from "../../../functions/createReactionHandlers.js";
|
|
17
18
|
import "../../../functions/parseMarkdown.js";
|
|
18
19
|
import "../../../hooks/useMessageDraft.js";
|
|
19
20
|
import "../../../hooks/useSearchModel.js";
|
|
20
|
-
import { useTheme as
|
|
21
|
+
import { useTheme as Ae } from "../../../hooks/useTheme.js";
|
|
21
22
|
/* empty css */
|
|
22
23
|
/* empty css */
|
|
23
|
-
const
|
|
24
|
+
const Ee = ["messageId"], Le = ["src"], Be = {
|
|
24
25
|
key: 1,
|
|
25
26
|
class: "video-message__subtext"
|
|
26
|
-
},
|
|
27
|
+
}, Fe = ["src"], $e = {
|
|
27
28
|
key: 0,
|
|
28
29
|
class: "video-message__info-container"
|
|
29
|
-
},
|
|
30
|
+
}, Pe = { class: "video-message__time" }, Oe = {
|
|
30
31
|
key: 1,
|
|
31
32
|
class: "video-message__text-container"
|
|
32
|
-
},
|
|
33
|
+
}, je = ["innerHTML"], He = ["src", "alt"], rs = /* @__PURE__ */ ie({
|
|
33
34
|
inheritAttrs: !1,
|
|
34
35
|
__name: "VideoMessage",
|
|
35
36
|
props: {
|
|
@@ -55,32 +56,32 @@ const Se = ["messageId"], Ie = ["src"], Ae = {
|
|
|
55
56
|
default: () => ({})
|
|
56
57
|
}
|
|
57
58
|
},
|
|
58
|
-
emits: ["action", "reply"],
|
|
59
|
+
emits: ["action", "reply", "sms-invite"],
|
|
59
60
|
setup(e, { emit: P }) {
|
|
60
|
-
const O =
|
|
61
|
+
const O = le("chatAppId"), { getTheme: R } = Ae(O), t = e, h = P;
|
|
61
62
|
function C(u) {
|
|
62
|
-
return
|
|
63
|
+
return Se(u.position, "video-message");
|
|
63
64
|
}
|
|
64
|
-
const S =
|
|
65
|
-
isOpenMenu:
|
|
65
|
+
const S = p(), g = p(), x = p(!1), v = p(!1), { linkedHtml: j, inNewWindow: I } = xe(() => t.message.text), {
|
|
66
|
+
isOpenMenu: M,
|
|
66
67
|
buttonMenuVisible: H,
|
|
67
68
|
showMenu: N,
|
|
68
69
|
hideMenu: A,
|
|
69
70
|
clickAction: D,
|
|
70
71
|
viewsAction: E,
|
|
71
72
|
handleClickReplied: U
|
|
72
|
-
} =
|
|
73
|
+
} = he(t.message, h), V = () => {
|
|
73
74
|
N(), v.value = !0;
|
|
74
|
-
}, q = w(() =>
|
|
75
|
+
}, q = w(() => Re(t.message.status)), z = w(() => Ce(t.message.status, t.message.statusMsg)), { bubbleStyle: W, messageChannelId: G } = Me(
|
|
75
76
|
w(() => t.message),
|
|
76
77
|
{ cssVariable: "--chotto-videomessage-right-bg", position: "right" }
|
|
77
|
-
),
|
|
78
|
+
), J = () => {
|
|
78
79
|
g.value && (g.value.currentTime = 0, g.value.play());
|
|
79
80
|
};
|
|
80
|
-
|
|
81
|
+
me([S, g], ([u, s]) => {
|
|
81
82
|
u ? s && (s.pause(), s.currentTime = 0) : s && (s.play(), s.currentTime = 0);
|
|
82
83
|
});
|
|
83
|
-
const
|
|
84
|
+
const K = w(() => t.message.reply && t.message.text ? "0" : t.message.text ? "5px 5px 0 0" : t.message.reply ? "0 0 5px 5px" : "8px"), Q = () => x.value = !1, { onToggleReaction: X, onAddReaction: Y, onRemoveReaction: Z } = Ie(h), _ = async () => {
|
|
84
85
|
var u, s;
|
|
85
86
|
if (t.message.url)
|
|
86
87
|
try {
|
|
@@ -91,47 +92,50 @@ const Se = ["messageId"], Ie = ["src"], Ae = {
|
|
|
91
92
|
});
|
|
92
93
|
if (!o.ok)
|
|
93
94
|
throw new Error(`HTTP error! status: ${o.status}`);
|
|
94
|
-
const
|
|
95
|
+
const te = o.headers.get("content-type") || "", ae = await o.blob(), k = ((s = (u = t.message.url.split(".").pop()) == null ? void 0 : u.split("?")[0]) == null ? void 0 : s.toLowerCase()) || "", oe = {
|
|
95
96
|
"video/mp4": "mp4",
|
|
96
97
|
"video/webm": "webm",
|
|
97
98
|
"video/ogg": "ogv",
|
|
98
99
|
"video/quicktime": "mov",
|
|
99
100
|
"video/x-matroska": "mkv",
|
|
100
|
-
"application/octet-stream":
|
|
101
|
+
"application/octet-stream": k || "mp4"
|
|
101
102
|
};
|
|
102
|
-
let L =
|
|
103
|
-
const
|
|
104
|
-
f.href =
|
|
103
|
+
let L = k && ["mp4", "mov", "webm", "ogv", "mkv"].includes(k) ? k : oe[te] || "mp4";
|
|
104
|
+
const ne = t.message.alt ? t.message.alt.includes(".") ? t.message.alt : `${t.message.alt}.${L}` : `video-${t.message.messageId}.${L}`, B = window.URL.createObjectURL(ae), f = document.createElement("a");
|
|
105
|
+
f.href = B, f.download = ne, document.body.appendChild(f), f.click(), document.body.removeChild(f), window.URL.revokeObjectURL(B);
|
|
105
106
|
} catch (o) {
|
|
106
107
|
console.error("Ошибка при скачивании видео:", o), window.open(t.message.url, "_blank");
|
|
107
108
|
}
|
|
108
|
-
},
|
|
109
|
-
|
|
109
|
+
}, ee = Te(() => t.message, () => t.subtextTooltipData);
|
|
110
|
+
function se() {
|
|
111
|
+
h("sms-invite", t.message);
|
|
112
|
+
}
|
|
113
|
+
return (u, s) => (n(), r(re, null, [
|
|
110
114
|
l("div", {
|
|
111
115
|
class: y(["video-message", [
|
|
112
116
|
C(e.message),
|
|
113
117
|
e.applyStyle(e.message)
|
|
114
118
|
]]),
|
|
115
119
|
messageId: e.message.messageId,
|
|
116
|
-
style:
|
|
120
|
+
style: F(a(W)),
|
|
117
121
|
onMouseleave: s[5] || (s[5] = //@ts-ignore
|
|
118
122
|
(...o) => a(A) && a(A)(...o))
|
|
119
123
|
}, [
|
|
120
|
-
e.message.avatar && e.isFirstInSeries ? (n(),
|
|
124
|
+
e.message.avatar && e.isFirstInSeries ? (n(), r("img", {
|
|
121
125
|
key: 0,
|
|
122
126
|
class: "video-message__avatar",
|
|
123
127
|
src: e.message.avatar,
|
|
124
128
|
height: "32",
|
|
125
129
|
width: "32"
|
|
126
|
-
}, null, 8,
|
|
127
|
-
e.message.subText && e.isFirstInSeries ? (n(),
|
|
128
|
-
|
|
129
|
-
text: a(
|
|
130
|
+
}, null, 8, Le)) : i("", !0),
|
|
131
|
+
e.message.subText && e.isFirstInSeries ? (n(), r("p", Be, [
|
|
132
|
+
m(we, {
|
|
133
|
+
text: a(ee),
|
|
130
134
|
position: e.message.position === "left" ? "right" : "left",
|
|
131
135
|
offset: 8
|
|
132
136
|
}, {
|
|
133
137
|
default: d(() => [
|
|
134
|
-
|
|
138
|
+
ue(T(e.message.subText), 1)
|
|
135
139
|
]),
|
|
136
140
|
_: 1
|
|
137
141
|
}, 8, ["text", "position"])
|
|
@@ -139,7 +143,7 @@ const Se = ["messageId"], Ie = ["src"], Ae = {
|
|
|
139
143
|
l("div", {
|
|
140
144
|
class: y(["video-message__content", { "is-first": e.isFirstInSeries, "with-avatar-indent": !e.isFirstInSeries && e.message.avatar }])
|
|
141
145
|
}, [
|
|
142
|
-
e.message.reply ? (n(), c(
|
|
146
|
+
e.message.reply ? (n(), c(fe, {
|
|
143
147
|
key: 0,
|
|
144
148
|
style: { margin: "10px 10px 4px 16px" },
|
|
145
149
|
class: y(e.message.position),
|
|
@@ -156,19 +160,19 @@ const Se = ["messageId"], Ie = ["src"], Ae = {
|
|
|
156
160
|
ref_key: "previewPlayer",
|
|
157
161
|
ref: g,
|
|
158
162
|
class: "video-message__video",
|
|
159
|
-
style:
|
|
163
|
+
style: F({ borderRadius: K.value }),
|
|
160
164
|
src: e.message.url,
|
|
161
165
|
muted: !0,
|
|
162
166
|
autoplay: "",
|
|
163
|
-
onEnded:
|
|
164
|
-
}, null, 44,
|
|
165
|
-
|
|
167
|
+
onEnded: J
|
|
168
|
+
}, null, 44, Fe),
|
|
169
|
+
m(b, { name: "modal-fade" }, {
|
|
166
170
|
default: d(() => [
|
|
167
|
-
v.value ? (n(),
|
|
168
|
-
e.message.views ? (n(),
|
|
171
|
+
v.value ? (n(), r("div", $e, [
|
|
172
|
+
e.message.views ? (n(), r("div", {
|
|
169
173
|
key: 0,
|
|
170
174
|
class: "video-message__views",
|
|
171
|
-
onClick: s[0] || (s[0] =
|
|
175
|
+
onClick: s[0] || (s[0] = $(
|
|
172
176
|
//@ts-ignore
|
|
173
177
|
(...o) => a(E) && a(E)(...o),
|
|
174
178
|
["stop"]
|
|
@@ -177,8 +181,8 @@ const Se = ["messageId"], Ie = ["src"], Ae = {
|
|
|
177
181
|
s[6] || (s[6] = l("span", { class: "pi pi-eye" }, null, -1)),
|
|
178
182
|
l("p", null, T(e.message.views), 1)
|
|
179
183
|
])) : i("", !0),
|
|
180
|
-
l("span",
|
|
181
|
-
|
|
184
|
+
l("span", Pe, T(e.message.time), 1),
|
|
185
|
+
m(ke, {
|
|
182
186
|
"base-class": "video-message",
|
|
183
187
|
"message-class": C(e.message),
|
|
184
188
|
"message-status": e.message.status,
|
|
@@ -189,13 +193,13 @@ const Se = ["messageId"], Ie = ["src"], Ae = {
|
|
|
189
193
|
]),
|
|
190
194
|
_: 1
|
|
191
195
|
}),
|
|
192
|
-
|
|
196
|
+
m(b, { name: "modal-fade" }, {
|
|
193
197
|
default: d(() => [
|
|
194
|
-
v.value ? (n(),
|
|
198
|
+
v.value ? (n(), r("button", {
|
|
195
199
|
key: 0,
|
|
196
200
|
class: "video-message__download-button",
|
|
197
201
|
type: "button",
|
|
198
|
-
onClick:
|
|
202
|
+
onClick: $(_, ["stop"])
|
|
199
203
|
}, [...s[7] || (s[7] = [
|
|
200
204
|
l("span", { class: "pi pi-download" }, null, -1)
|
|
201
205
|
])])) : i("", !0)
|
|
@@ -203,21 +207,21 @@ const Se = ["messageId"], Ie = ["src"], Ae = {
|
|
|
203
207
|
_: 1
|
|
204
208
|
})
|
|
205
209
|
], 32),
|
|
206
|
-
|
|
210
|
+
m(b, { name: "modal-fade" }, {
|
|
207
211
|
default: d(() => [
|
|
208
|
-
a(H) && e.message.actions ? (n(),
|
|
212
|
+
a(H) && e.message.actions ? (n(), r("button", {
|
|
209
213
|
key: 0,
|
|
210
214
|
class: "video-message__menu-button",
|
|
211
|
-
onClick: s[3] || (s[3] = (o) =>
|
|
215
|
+
onClick: s[3] || (s[3] = (o) => M.value = !a(M))
|
|
212
216
|
}, [...s[8] || (s[8] = [
|
|
213
217
|
l("span", { class: "pi pi-ellipsis-h" }, null, -1)
|
|
214
218
|
])])) : i("", !0)
|
|
215
219
|
]),
|
|
216
220
|
_: 1
|
|
217
221
|
}),
|
|
218
|
-
|
|
222
|
+
m(b, { name: "context-menu" }, {
|
|
219
223
|
default: d(() => [
|
|
220
|
-
a(
|
|
224
|
+
a(M) && e.message.actions ? (n(), c(ce, {
|
|
221
225
|
key: 0,
|
|
222
226
|
class: "video-message__context-menu",
|
|
223
227
|
actions: e.message.actions,
|
|
@@ -226,40 +230,46 @@ const Se = ["messageId"], Ie = ["src"], Ae = {
|
|
|
226
230
|
]),
|
|
227
231
|
_: 1
|
|
228
232
|
}),
|
|
229
|
-
e.message.text ? (n(),
|
|
233
|
+
e.message.text ? (n(), r("div", Oe, [
|
|
230
234
|
l("p", {
|
|
231
235
|
onClick: s[4] || (s[4] = //@ts-ignore
|
|
232
236
|
(...o) => a(I) && a(I)(...o)),
|
|
233
237
|
innerHTML: a(j)
|
|
234
|
-
}, null, 8,
|
|
238
|
+
}, null, 8, je)
|
|
235
239
|
])) : i("", !0),
|
|
236
|
-
|
|
240
|
+
m(pe, {
|
|
241
|
+
status: e.message.status,
|
|
242
|
+
"has-messenger-account": e.message.hasMessengerAccount,
|
|
243
|
+
channel: a(G),
|
|
244
|
+
onSmsInvite: se
|
|
245
|
+
}, null, 8, ["status", "has-messenger-account", "channel"]),
|
|
246
|
+
e.message.linkPreview ? (n(), c(ge, {
|
|
237
247
|
key: 2,
|
|
238
248
|
class: y(["video-message__link-preview", e.message.position]),
|
|
239
249
|
"link-preview": e.message.linkPreview
|
|
240
250
|
}, null, 8, ["class", "link-preview"])) : i("", !0),
|
|
241
|
-
e.message.embed ? (n(), c(
|
|
251
|
+
e.message.embed ? (n(), c(ve, {
|
|
242
252
|
key: 3,
|
|
243
253
|
class: y(e.message.position),
|
|
244
254
|
embed: e.message.embed
|
|
245
255
|
}, null, 8, ["class", "embed"])) : i("", !0),
|
|
246
|
-
|
|
256
|
+
m(be, {
|
|
247
257
|
reactions: e.message.reactions,
|
|
248
258
|
"message-id": e.message.messageId,
|
|
249
259
|
enabled: e.reactionsEnabled,
|
|
250
|
-
onToggleReaction: a(
|
|
251
|
-
onAddReaction: a(
|
|
252
|
-
onRemoveReaction: a(
|
|
260
|
+
onToggleReaction: a(X),
|
|
261
|
+
onAddReaction: a(Y),
|
|
262
|
+
onRemoveReaction: a(Z)
|
|
253
263
|
}, null, 8, ["reactions", "message-id", "enabled", "onToggleReaction", "onAddReaction", "onRemoveReaction"])
|
|
254
264
|
], 2)
|
|
255
|
-
], 46,
|
|
256
|
-
(n(), c(
|
|
257
|
-
|
|
265
|
+
], 46, Ee),
|
|
266
|
+
(n(), c(de, { to: "body" }, [
|
|
267
|
+
m(b, { name: "modal-fade" }, {
|
|
258
268
|
default: d(() => [
|
|
259
|
-
x.value ? (n(), c(
|
|
269
|
+
x.value ? (n(), c(ye, {
|
|
260
270
|
key: 0,
|
|
261
271
|
"data-theme": a(R)().theme ? a(R)().theme : "light",
|
|
262
|
-
onClose:
|
|
272
|
+
onClose: Q
|
|
263
273
|
}, {
|
|
264
274
|
default: d(() => [
|
|
265
275
|
l("video", {
|
|
@@ -270,7 +280,7 @@ const Se = ["messageId"], Ie = ["src"], Ae = {
|
|
|
270
280
|
alt: e.message.alt,
|
|
271
281
|
controls: "",
|
|
272
282
|
autoplay: ""
|
|
273
|
-
}, null, 8,
|
|
283
|
+
}, null, 8, He)
|
|
274
284
|
]),
|
|
275
285
|
_: 1
|
|
276
286
|
}, 8, ["data-theme"])) : i("", !0)
|
|
@@ -282,5 +292,5 @@ const Se = ["messageId"], Ie = ["src"], Ae = {
|
|
|
282
292
|
}
|
|
283
293
|
});
|
|
284
294
|
export {
|
|
285
|
-
|
|
295
|
+
rs as default
|
|
286
296
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./Feed.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-05a59365"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
m as default
|
|
7
7
|
};
|