@ion299/sdk-react-native 0.1.0-beta.5 → 0.1.0-beta.7
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/CHANGELOG.md +26 -0
- package/README.md +69 -11
- package/android/src/main/java/com/chatplatform/sdk/ChatSdkAudioPlayerModule.kt +201 -0
- package/android/src/main/java/com/chatplatform/sdk/ChatSdkPackage.kt +1 -0
- package/ios/ChatSdkAudioPlayer.m +25 -0
- package/ios/ChatSdkAudioPlayer.swift +193 -0
- package/lib/commonjs/ChatSDK.js +16 -3
- package/lib/commonjs/ChatSDK.js.map +1 -1
- package/lib/commonjs/api.js +29 -0
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/audio/audioController.js +145 -0
- package/lib/commonjs/audio/audioController.js.map +1 -0
- package/lib/commonjs/components/AudioMessage.js +198 -0
- package/lib/commonjs/components/AudioMessage.js.map +1 -0
- package/lib/commonjs/components/MessageBubble.js +9 -0
- package/lib/commonjs/components/MessageBubble.js.map +1 -1
- package/lib/commonjs/native/NativeChatSdkAudioPlayer.js +28 -0
- package/lib/commonjs/native/NativeChatSdkAudioPlayer.js.map +1 -0
- package/lib/module/ChatSDK.js +16 -3
- package/lib/module/ChatSDK.js.map +1 -1
- package/lib/module/api.js +29 -0
- package/lib/module/api.js.map +1 -1
- package/lib/module/audio/audioController.js +140 -0
- package/lib/module/audio/audioController.js.map +1 -0
- package/lib/module/components/AudioMessage.js +193 -0
- package/lib/module/components/AudioMessage.js.map +1 -0
- package/lib/module/components/MessageBubble.js +9 -0
- package/lib/module/components/MessageBubble.js.map +1 -1
- package/lib/module/native/NativeChatSdkAudioPlayer.js +23 -0
- package/lib/module/native/NativeChatSdkAudioPlayer.js.map +1 -0
- package/lib/typescript/commonjs/ChatSDK.d.ts +3 -0
- package/lib/typescript/commonjs/ChatSDK.d.ts.map +1 -1
- package/lib/typescript/commonjs/api.d.ts +3 -0
- package/lib/typescript/commonjs/api.d.ts.map +1 -1
- package/lib/typescript/commonjs/audio/audioController.d.ts +25 -0
- package/lib/typescript/commonjs/audio/audioController.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/AudioMessage.d.ts +11 -0
- package/lib/typescript/commonjs/components/AudioMessage.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/MessageBubble.d.ts.map +1 -1
- package/lib/typescript/commonjs/native/NativeChatSdkAudioPlayer.d.ts +20 -0
- package/lib/typescript/commonjs/native/NativeChatSdkAudioPlayer.d.ts.map +1 -0
- package/lib/typescript/module/ChatSDK.d.ts +3 -0
- package/lib/typescript/module/ChatSDK.d.ts.map +1 -1
- package/lib/typescript/module/api.d.ts +3 -0
- package/lib/typescript/module/api.d.ts.map +1 -1
- package/lib/typescript/module/audio/audioController.d.ts +25 -0
- package/lib/typescript/module/audio/audioController.d.ts.map +1 -0
- package/lib/typescript/module/components/AudioMessage.d.ts +11 -0
- package/lib/typescript/module/components/AudioMessage.d.ts.map +1 -0
- package/lib/typescript/module/components/MessageBubble.d.ts.map +1 -1
- package/lib/typescript/module/native/NativeChatSdkAudioPlayer.d.ts +20 -0
- package/lib/typescript/module/native/NativeChatSdkAudioPlayer.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/ChatSDK.ts +18 -3
- package/src/api.ts +37 -0
- package/src/audio/audioController.ts +144 -0
- package/src/components/AudioMessage.tsx +198 -0
- package/src/components/MessageBubble.tsx +6 -0
- package/src/native/NativeChatSdkAudioPlayer.ts +54 -0
package/lib/commonjs/api.js
CHANGED
|
@@ -117,6 +117,19 @@ class MobileApiClient {
|
|
|
117
117
|
callback_data: callbackData
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
|
+
async registerPushToken(deviceToken, platform) {
|
|
121
|
+
this.assertSession();
|
|
122
|
+
await this.post(`/api/mobile/${this.token}/contact/${this.contactId}/push-token`, {
|
|
123
|
+
device_token: deviceToken,
|
|
124
|
+
platform
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
async deletePushToken(deviceToken) {
|
|
128
|
+
this.assertSession();
|
|
129
|
+
await this.del(`/api/mobile/${this.token}/contact/${this.contactId}/push-token`, {
|
|
130
|
+
device_token: deviceToken
|
|
131
|
+
});
|
|
132
|
+
}
|
|
120
133
|
getDownloadUrl(contactId) {
|
|
121
134
|
return `${this.baseUrl}/api/mobile/${this.token}/contact/${contactId}/download`;
|
|
122
135
|
}
|
|
@@ -173,6 +186,22 @@ class MobileApiClient {
|
|
|
173
186
|
}
|
|
174
187
|
return res.json();
|
|
175
188
|
}
|
|
189
|
+
async del(path, body, timeoutMs = 30_000) {
|
|
190
|
+
const res = await this.fetchWithTimeout(`${this.baseUrl}${path}`, {
|
|
191
|
+
method: 'DELETE',
|
|
192
|
+
headers: {
|
|
193
|
+
'Content-Type': 'application/json',
|
|
194
|
+
Accept: 'application/json',
|
|
195
|
+
...this.authHeaders()
|
|
196
|
+
},
|
|
197
|
+
body: JSON.stringify(body)
|
|
198
|
+
}, timeoutMs);
|
|
199
|
+
if (!res.ok) {
|
|
200
|
+
const json = await res.json().catch(() => ({}));
|
|
201
|
+
throw new Error(json?.message ?? `HTTP ${res.status}`);
|
|
202
|
+
}
|
|
203
|
+
return res.json();
|
|
204
|
+
}
|
|
176
205
|
async fetchWithTimeout(url, options, timeoutMs = 30000) {
|
|
177
206
|
const controller = new AbortController();
|
|
178
207
|
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
package/lib/commonjs/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MobileApiClient","sessionToken","contactId","userProfile","constructor","baseUrl","token","replace","setSession","setUserProfile","profile","clearSession","getContactId","createSession","userId","device","body","path","lastError","attempt","res","post","e","Error","String","Promise","r","setTimeout","getConfig","get","getMessages","assertSession","startDialog","userData","sendMessage","text","files","url","form","FormData","trim","append","length","forEach","f","uri","name","type","surname","email","phone","fetch","method","headers","authHeaders","ok","json","catch","message","status","getSurveyConfig","closeEventCreatedAt","params","URLSearchParams","set","undefined","query","toString","submitCsi","rating","comment","sendCallback","messageId","callbackData","message_id","callback_data","getDownloadUrl","buildAttachmentDownloadUrl","fileUrl","filename","getBroadcastAuthEndpoint","getAuthHeaders","Authorization","fetchWithTimeout","Accept","timeoutMs","JSON","stringify","options","controller","AbortController","timer","abort","signal","clearTimeout","exports"],"sourceRoot":"..\\..\\src","sources":["api.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["MobileApiClient","sessionToken","contactId","userProfile","constructor","baseUrl","token","replace","setSession","setUserProfile","profile","clearSession","getContactId","createSession","userId","device","body","path","lastError","attempt","res","post","e","Error","String","Promise","r","setTimeout","getConfig","get","getMessages","assertSession","startDialog","userData","sendMessage","text","files","url","form","FormData","trim","append","length","forEach","f","uri","name","type","surname","email","phone","fetch","method","headers","authHeaders","ok","json","catch","message","status","getSurveyConfig","closeEventCreatedAt","params","URLSearchParams","set","undefined","query","toString","submitCsi","rating","comment","sendCallback","messageId","callbackData","message_id","callback_data","registerPushToken","deviceToken","platform","device_token","deletePushToken","del","getDownloadUrl","buildAttachmentDownloadUrl","fileUrl","filename","getBroadcastAuthEndpoint","getAuthHeaders","Authorization","fetchWithTimeout","Accept","timeoutMs","JSON","stringify","options","controller","AbortController","timer","abort","signal","clearTimeout","exports"],"sourceRoot":"..\\..\\src","sources":["api.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.audioController = void 0;
|
|
7
|
+
var _NativeChatSdkAudioPlayer = _interopRequireWildcard(require("../native/NativeChatSdkAudioPlayer.js"));
|
|
8
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
9
|
+
const IDLE = {
|
|
10
|
+
state: 'idle',
|
|
11
|
+
positionMillis: 0,
|
|
12
|
+
durationMillis: 0
|
|
13
|
+
};
|
|
14
|
+
class AudioController {
|
|
15
|
+
listeners = new Map();
|
|
16
|
+
states = new Map();
|
|
17
|
+
activeKey = null;
|
|
18
|
+
subscribed = false;
|
|
19
|
+
get isAvailable() {
|
|
20
|
+
return !!_NativeChatSdkAudioPlayer.default;
|
|
21
|
+
}
|
|
22
|
+
ensureSubscribed() {
|
|
23
|
+
if (this.subscribed || !_NativeChatSdkAudioPlayer.default) return;
|
|
24
|
+
this.subscribed = true;
|
|
25
|
+
(0, _NativeChatSdkAudioPlayer.onAudioState)(event => this.handleEvent(event));
|
|
26
|
+
}
|
|
27
|
+
handleEvent(event) {
|
|
28
|
+
const prev = this.getState(event.key);
|
|
29
|
+
let next;
|
|
30
|
+
switch (event.state) {
|
|
31
|
+
case 'loading':
|
|
32
|
+
next = {
|
|
33
|
+
state: 'loading',
|
|
34
|
+
positionMillis: 0,
|
|
35
|
+
durationMillis: event.durationMillis
|
|
36
|
+
};
|
|
37
|
+
break;
|
|
38
|
+
case 'playing':
|
|
39
|
+
next = {
|
|
40
|
+
state: 'playing',
|
|
41
|
+
positionMillis: event.positionMillis,
|
|
42
|
+
durationMillis: event.durationMillis || prev.durationMillis
|
|
43
|
+
};
|
|
44
|
+
break;
|
|
45
|
+
case 'paused':
|
|
46
|
+
next = {
|
|
47
|
+
state: 'paused',
|
|
48
|
+
positionMillis: event.positionMillis,
|
|
49
|
+
durationMillis: event.durationMillis || prev.durationMillis
|
|
50
|
+
};
|
|
51
|
+
break;
|
|
52
|
+
case 'ended':
|
|
53
|
+
case 'stopped':
|
|
54
|
+
next = {
|
|
55
|
+
state: 'idle',
|
|
56
|
+
positionMillis: 0,
|
|
57
|
+
durationMillis: event.durationMillis || prev.durationMillis
|
|
58
|
+
};
|
|
59
|
+
if (this.activeKey === event.key) this.activeKey = null;
|
|
60
|
+
break;
|
|
61
|
+
case 'error':
|
|
62
|
+
default:
|
|
63
|
+
next = {
|
|
64
|
+
state: 'error',
|
|
65
|
+
positionMillis: 0,
|
|
66
|
+
durationMillis: 0
|
|
67
|
+
};
|
|
68
|
+
if (this.activeKey === event.key) this.activeKey = null;
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
this.setState(event.key, next);
|
|
72
|
+
}
|
|
73
|
+
setState(key, state) {
|
|
74
|
+
this.states.set(key, state);
|
|
75
|
+
this.listeners.get(key)?.forEach(listener => listener(state));
|
|
76
|
+
}
|
|
77
|
+
getState(key) {
|
|
78
|
+
return this.states.get(key) ?? IDLE;
|
|
79
|
+
}
|
|
80
|
+
subscribe(key, listener) {
|
|
81
|
+
this.ensureSubscribed();
|
|
82
|
+
let set = this.listeners.get(key);
|
|
83
|
+
if (!set) {
|
|
84
|
+
set = new Set();
|
|
85
|
+
this.listeners.set(key, set);
|
|
86
|
+
}
|
|
87
|
+
set.add(listener);
|
|
88
|
+
listener(this.getState(key));
|
|
89
|
+
return () => {
|
|
90
|
+
set.delete(listener);
|
|
91
|
+
if (set.size === 0) this.listeners.delete(key);
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
async play(key, url, headers = {}) {
|
|
95
|
+
if (!_NativeChatSdkAudioPlayer.default) return;
|
|
96
|
+
this.ensureSubscribed();
|
|
97
|
+
if (this.activeKey && this.activeKey !== key) {
|
|
98
|
+
const prevKey = this.activeKey;
|
|
99
|
+
const prev = this.getState(prevKey);
|
|
100
|
+
this.setState(prevKey, {
|
|
101
|
+
state: 'idle',
|
|
102
|
+
positionMillis: 0,
|
|
103
|
+
durationMillis: prev.durationMillis
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
this.activeKey = key;
|
|
107
|
+
const current = this.getState(key);
|
|
108
|
+
if (current.state === 'idle' || current.state === 'error') {
|
|
109
|
+
this.setState(key, {
|
|
110
|
+
...current,
|
|
111
|
+
state: 'loading',
|
|
112
|
+
positionMillis: 0
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
await _NativeChatSdkAudioPlayer.default.play(key, url, headers);
|
|
117
|
+
} catch {
|
|
118
|
+
this.setState(key, {
|
|
119
|
+
state: 'error',
|
|
120
|
+
positionMillis: 0,
|
|
121
|
+
durationMillis: 0
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
async pause(key) {
|
|
126
|
+
if (!_NativeChatSdkAudioPlayer.default) return;
|
|
127
|
+
try {
|
|
128
|
+
await _NativeChatSdkAudioPlayer.default.pause(key);
|
|
129
|
+
} catch {}
|
|
130
|
+
}
|
|
131
|
+
async seek(key, positionMillis) {
|
|
132
|
+
if (!_NativeChatSdkAudioPlayer.default) return;
|
|
133
|
+
try {
|
|
134
|
+
await _NativeChatSdkAudioPlayer.default.seek(key, positionMillis);
|
|
135
|
+
} catch {}
|
|
136
|
+
}
|
|
137
|
+
async stop(key) {
|
|
138
|
+
if (!_NativeChatSdkAudioPlayer.default) return;
|
|
139
|
+
try {
|
|
140
|
+
await _NativeChatSdkAudioPlayer.default.stop(key);
|
|
141
|
+
} catch {}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const audioController = exports.audioController = new AudioController();
|
|
145
|
+
//# sourceMappingURL=audioController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_NativeChatSdkAudioPlayer","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","IDLE","state","positionMillis","durationMillis","AudioController","listeners","Map","states","activeKey","subscribed","isAvailable","AudioModule","ensureSubscribed","onAudioState","event","handleEvent","prev","getState","key","next","setState","forEach","listener","subscribe","Set","add","delete","size","play","url","headers","prevKey","current","pause","seek","stop","audioController","exports"],"sourceRoot":"..\\..\\..\\src","sources":["audio/audioController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AudioMessage = AudioMessage;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _audioController = require("../audio/audioController.js");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
+
function attachmentKey(attachment) {
|
|
13
|
+
return attachment.id > 0 ? `a${attachment.id}` : `t${attachment.url}`;
|
|
14
|
+
}
|
|
15
|
+
function formatTime(millis) {
|
|
16
|
+
if (!Number.isFinite(millis) || millis <= 0) return '0:00';
|
|
17
|
+
const totalSeconds = Math.floor(millis / 1000);
|
|
18
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
19
|
+
const seconds = totalSeconds % 60;
|
|
20
|
+
return `${minutes}:${seconds.toString().padStart(2, '0')}`;
|
|
21
|
+
}
|
|
22
|
+
function AudioMessage({
|
|
23
|
+
attachment,
|
|
24
|
+
isOutbound,
|
|
25
|
+
theme
|
|
26
|
+
}) {
|
|
27
|
+
const key = attachmentKey(attachment);
|
|
28
|
+
const [pb, setPb] = (0, _react.useState)(() => _audioController.audioController.getState(key));
|
|
29
|
+
const [trackWidth, setTrackWidth] = (0, _react.useState)(0);
|
|
30
|
+
(0, _react.useEffect)(() => _audioController.audioController.subscribe(key, setPb), [key]);
|
|
31
|
+
const isPlaying = pb.state === 'playing';
|
|
32
|
+
const isLoading = pb.state === 'loading';
|
|
33
|
+
const isError = pb.state === 'error';
|
|
34
|
+
const duration = pb.durationMillis;
|
|
35
|
+
const position = pb.positionMillis;
|
|
36
|
+
const progress = duration > 0 ? Math.min(1, position / duration) : 0;
|
|
37
|
+
const accent = isOutbound ? '#ffffff' : theme.primaryColor;
|
|
38
|
+
const trackBg = isOutbound ? 'rgba(255,255,255,0.30)' : 'rgba(0,0,0,0.12)';
|
|
39
|
+
const timeColor = isOutbound ? 'rgba(255,255,255,0.75)' : theme.systemText;
|
|
40
|
+
const iconColor = isOutbound ? theme.primaryColor : '#ffffff';
|
|
41
|
+
const onToggle = () => {
|
|
42
|
+
if (isPlaying) {
|
|
43
|
+
void _audioController.audioController.pause(key);
|
|
44
|
+
} else {
|
|
45
|
+
void _audioController.audioController.play(key, attachment.url);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const onSeek = e => {
|
|
49
|
+
if (duration <= 0 || trackWidth <= 0) return;
|
|
50
|
+
const ratio = Math.max(0, Math.min(1, e.nativeEvent.locationX / trackWidth));
|
|
51
|
+
void _audioController.audioController.seek(key, ratio * duration);
|
|
52
|
+
};
|
|
53
|
+
const onTrackLayout = e => {
|
|
54
|
+
setTrackWidth(e.nativeEvent.layout.width);
|
|
55
|
+
};
|
|
56
|
+
const timeLabel = duration > 0 ? `${formatTime(position)} / ${formatTime(duration)}` : isError ? 'Не удалось воспроизвести' : formatTime(position);
|
|
57
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
58
|
+
style: styles.root,
|
|
59
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
60
|
+
style: [styles.button, {
|
|
61
|
+
backgroundColor: accent
|
|
62
|
+
}],
|
|
63
|
+
onPress: onToggle,
|
|
64
|
+
activeOpacity: 0.8,
|
|
65
|
+
disabled: isLoading,
|
|
66
|
+
children: isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
67
|
+
size: "small",
|
|
68
|
+
color: iconColor
|
|
69
|
+
}) : isPlaying ? /*#__PURE__*/(0, _jsxRuntime.jsx)(PauseIcon, {
|
|
70
|
+
color: iconColor
|
|
71
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(PlayIcon, {
|
|
72
|
+
color: iconColor
|
|
73
|
+
})
|
|
74
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
75
|
+
style: styles.body,
|
|
76
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
77
|
+
activeOpacity: 1,
|
|
78
|
+
onPress: onSeek,
|
|
79
|
+
onLayout: onTrackLayout,
|
|
80
|
+
style: styles.trackWrap,
|
|
81
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
82
|
+
style: [styles.track, {
|
|
83
|
+
backgroundColor: trackBg
|
|
84
|
+
}],
|
|
85
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
86
|
+
style: [styles.trackFill, {
|
|
87
|
+
backgroundColor: accent,
|
|
88
|
+
width: `${progress * 100}%`
|
|
89
|
+
}]
|
|
90
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
91
|
+
style: [styles.thumb, {
|
|
92
|
+
backgroundColor: accent,
|
|
93
|
+
left: `${progress * 100}%`
|
|
94
|
+
}]
|
|
95
|
+
})]
|
|
96
|
+
})
|
|
97
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
98
|
+
style: [styles.time, {
|
|
99
|
+
color: timeColor
|
|
100
|
+
}],
|
|
101
|
+
children: timeLabel
|
|
102
|
+
})]
|
|
103
|
+
})]
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function PlayIcon({
|
|
107
|
+
color
|
|
108
|
+
}) {
|
|
109
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
110
|
+
style: [styles.playTriangle, {
|
|
111
|
+
borderLeftColor: color
|
|
112
|
+
}]
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
function PauseIcon({
|
|
116
|
+
color
|
|
117
|
+
}) {
|
|
118
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
119
|
+
style: styles.pauseWrap,
|
|
120
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
121
|
+
style: [styles.pauseBar, {
|
|
122
|
+
backgroundColor: color
|
|
123
|
+
}]
|
|
124
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
125
|
+
style: [styles.pauseBar, {
|
|
126
|
+
backgroundColor: color
|
|
127
|
+
}]
|
|
128
|
+
})]
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
const BUTTON_SIZE = 40;
|
|
132
|
+
const styles = _reactNative.StyleSheet.create({
|
|
133
|
+
root: {
|
|
134
|
+
flexDirection: 'row',
|
|
135
|
+
alignItems: 'center',
|
|
136
|
+
gap: 10,
|
|
137
|
+
minWidth: 200,
|
|
138
|
+
paddingVertical: 2
|
|
139
|
+
},
|
|
140
|
+
button: {
|
|
141
|
+
width: BUTTON_SIZE,
|
|
142
|
+
height: BUTTON_SIZE,
|
|
143
|
+
borderRadius: BUTTON_SIZE / 2,
|
|
144
|
+
alignItems: 'center',
|
|
145
|
+
justifyContent: 'center',
|
|
146
|
+
flexShrink: 0
|
|
147
|
+
},
|
|
148
|
+
body: {
|
|
149
|
+
flex: 1,
|
|
150
|
+
gap: 4
|
|
151
|
+
},
|
|
152
|
+
trackWrap: {
|
|
153
|
+
paddingVertical: 8,
|
|
154
|
+
justifyContent: 'center'
|
|
155
|
+
},
|
|
156
|
+
track: {
|
|
157
|
+
height: 4,
|
|
158
|
+
borderRadius: 2
|
|
159
|
+
},
|
|
160
|
+
trackFill: {
|
|
161
|
+
height: 4,
|
|
162
|
+
borderRadius: 2
|
|
163
|
+
},
|
|
164
|
+
thumb: {
|
|
165
|
+
position: 'absolute',
|
|
166
|
+
top: -3,
|
|
167
|
+
width: 10,
|
|
168
|
+
height: 10,
|
|
169
|
+
borderRadius: 5,
|
|
170
|
+
marginLeft: -5
|
|
171
|
+
},
|
|
172
|
+
time: {
|
|
173
|
+
fontSize: 11,
|
|
174
|
+
lineHeight: 14
|
|
175
|
+
},
|
|
176
|
+
playTriangle: {
|
|
177
|
+
width: 0,
|
|
178
|
+
height: 0,
|
|
179
|
+
backgroundColor: 'transparent',
|
|
180
|
+
borderStyle: 'solid',
|
|
181
|
+
borderTopWidth: 7,
|
|
182
|
+
borderBottomWidth: 7,
|
|
183
|
+
borderLeftWidth: 12,
|
|
184
|
+
borderTopColor: 'transparent',
|
|
185
|
+
borderBottomColor: 'transparent',
|
|
186
|
+
marginLeft: 3
|
|
187
|
+
},
|
|
188
|
+
pauseWrap: {
|
|
189
|
+
flexDirection: 'row',
|
|
190
|
+
gap: 4
|
|
191
|
+
},
|
|
192
|
+
pauseBar: {
|
|
193
|
+
width: 4,
|
|
194
|
+
height: 14,
|
|
195
|
+
borderRadius: 1
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
//# sourceMappingURL=AudioMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_audioController","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","attachmentKey","attachment","id","url","formatTime","millis","Number","isFinite","totalSeconds","Math","floor","minutes","seconds","toString","padStart","AudioMessage","isOutbound","theme","key","pb","setPb","useState","audioController","getState","trackWidth","setTrackWidth","useEffect","subscribe","isPlaying","state","isLoading","isError","duration","durationMillis","position","positionMillis","progress","min","accent","primaryColor","trackBg","timeColor","systemText","iconColor","onToggle","pause","play","onSeek","ratio","max","nativeEvent","locationX","seek","onTrackLayout","layout","width","timeLabel","jsxs","View","style","styles","root","children","jsx","TouchableOpacity","button","backgroundColor","onPress","activeOpacity","disabled","ActivityIndicator","size","color","PauseIcon","PlayIcon","body","onLayout","trackWrap","track","trackFill","thumb","left","Text","time","playTriangle","borderLeftColor","pauseWrap","pauseBar","BUTTON_SIZE","StyleSheet","create","flexDirection","alignItems","gap","minWidth","paddingVertical","height","borderRadius","justifyContent","flexShrink","flex","top","marginLeft","fontSize","lineHeight","borderStyle","borderTopWidth","borderBottomWidth","borderLeftWidth","borderTopColor","borderBottomColor"],"sourceRoot":"..\\..\\..\\src","sources":["components/AudioMessage.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,8 @@ exports.MessageBubble = MessageBubble;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _attachmentUtils = require("../attachmentUtils.js");
|
|
10
|
+
var _audioController = require("../audio/audioController.js");
|
|
11
|
+
var _AudioMessage = require("./AudioMessage.js");
|
|
10
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
14
|
function MessageBubble({
|
|
@@ -95,6 +97,13 @@ function AttachmentView({
|
|
|
95
97
|
})
|
|
96
98
|
});
|
|
97
99
|
}
|
|
100
|
+
if (attachment.type === 'audio' && _audioController.audioController.isAvailable) {
|
|
101
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_AudioMessage.AudioMessage, {
|
|
102
|
+
attachment: attachment,
|
|
103
|
+
isOutbound: isOutbound,
|
|
104
|
+
theme: theme
|
|
105
|
+
});
|
|
106
|
+
}
|
|
98
107
|
const nameColor = isOutbound ? theme.outboundText : theme.inboundText;
|
|
99
108
|
const sizeColor = isOutbound ? 'rgba(255,255,255,0.65)' : theme.systemText;
|
|
100
109
|
const displayName = (0, _attachmentUtils.attachmentDisplayName)(attachment);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_attachmentUtils","_jsxRuntime","e","__esModule","default","MessageBubble","message","theme","onButtonPress","onAttachmentPress","type","jsx","View","style","styles","systemRow","children","Text","systemText","color","text","isOutbound","row","rowRight","rowLeft","jsxs","bubble","outbound","backgroundColor","outboundBg","inbound","inboundBg","sender","name","senderName","primaryColor","attachments","length","map","att","i","AttachmentView","attachment","onPress","id","undefined","outboundText","inboundText","buttons","btn","BotButton","button","callback_data","serverMessageId","time","formatBytes","bytes","toFixed","TouchableOpacity","disabled","activeOpacity","Image","source","uri","url","image","resizeMode","nameColor","sizeColor","displayName","attachmentDisplayName","fileBlock","fileName","numberOfLines","size","fileSize","botButton","borderColor","botButtonText","BUBBLE_MAX_WIDTH","Dimensions","get","width","StyleSheet","create","flexDirection","marginVertical","paddingHorizontal","justifyContent","maxWidth","minWidth","borderRadius","paddingTop","paddingBottom","borderBottomRightRadius","borderBottomLeftRadius","fontSize","fontWeight","marginBottom","lineHeight","alignSelf","marginTop","alignItems","textAlign","gap","height","borderWidth","paddingVertical"],"sourceRoot":"..\\..\\..\\src","sources":["components/MessageBubble.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_attachmentUtils","_audioController","_AudioMessage","_jsxRuntime","e","__esModule","default","MessageBubble","message","theme","onButtonPress","onAttachmentPress","type","jsx","View","style","styles","systemRow","children","Text","systemText","color","text","isOutbound","row","rowRight","rowLeft","jsxs","bubble","outbound","backgroundColor","outboundBg","inbound","inboundBg","sender","name","senderName","primaryColor","attachments","length","map","att","i","AttachmentView","attachment","onPress","id","undefined","outboundText","inboundText","buttons","btn","BotButton","button","callback_data","serverMessageId","time","formatBytes","bytes","toFixed","TouchableOpacity","disabled","activeOpacity","Image","source","uri","url","image","resizeMode","audioController","isAvailable","AudioMessage","nameColor","sizeColor","displayName","attachmentDisplayName","fileBlock","fileName","numberOfLines","size","fileSize","botButton","borderColor","botButtonText","BUBBLE_MAX_WIDTH","Dimensions","get","width","StyleSheet","create","flexDirection","marginVertical","paddingHorizontal","justifyContent","maxWidth","minWidth","borderRadius","paddingTop","paddingBottom","borderBottomRightRadius","borderBottomLeftRadius","fontSize","fontWeight","marginBottom","lineHeight","alignSelf","marginTop","alignItems","textAlign","gap","height","borderWidth","paddingVertical"],"sourceRoot":"..\\..\\..\\src","sources":["components/MessageBubble.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
exports.onAudioState = onAudioState;
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
const MODULE_NAME = 'ChatSdkAudioPlayer';
|
|
10
|
+
function loadModule() {
|
|
11
|
+
try {
|
|
12
|
+
return _reactNative.TurboModuleRegistry.get(MODULE_NAME);
|
|
13
|
+
} catch {
|
|
14
|
+
return _reactNative.NativeModules[MODULE_NAME] ?? null;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
const moduleRef = loadModule();
|
|
18
|
+
var _default = exports.default = moduleRef;
|
|
19
|
+
let emitter = null;
|
|
20
|
+
function getEmitter() {
|
|
21
|
+
if (!moduleRef) return null;
|
|
22
|
+
if (!emitter) emitter = new _reactNative.NativeEventEmitter(moduleRef);
|
|
23
|
+
return emitter;
|
|
24
|
+
}
|
|
25
|
+
function onAudioState(handler) {
|
|
26
|
+
return getEmitter()?.addListener('ChatSdkAudioState', handler) ?? null;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=NativeChatSdkAudioPlayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","MODULE_NAME","loadModule","TurboModuleRegistry","get","NativeModules","moduleRef","_default","exports","default","emitter","getEmitter","NativeEventEmitter","onAudioState","handler","addListener"],"sourceRoot":"..\\..\\..\\src","sources":["native/NativeChatSdkAudioPlayer.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AA2BA,MAAMC,WAAW,GAAG,oBAAoB;AAExC,SAASC,UAAUA,CAAA,EAAgB;EACjC,IAAI;IACF,OAAOC,gCAAmB,CAACC,GAAG,CAAOH,WAAW,CAAC;EACnD,CAAC,CAAC,MAAM;IACN,OAAQI,0BAAa,CAACJ,WAAW,CAAC,IAAyB,IAAI;EACjE;AACF;AAEA,MAAMK,SAAS,GAAGJ,UAAU,CAAC,CAAC;AAAA,IAAAK,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEfH,SAAS;AAExB,IAAII,OAAkC,GAAG,IAAI;AAE7C,SAASC,UAAUA,CAAA,EAA8B;EAC/C,IAAI,CAACL,SAAS,EAAE,OAAO,IAAI;EAC3B,IAAI,CAACI,OAAO,EAAEA,OAAO,GAAG,IAAIE,+BAAkB,CAACN,SAA6B,CAAC;EAC7E,OAAOI,OAAO;AAChB;AAEO,SAASG,YAAYA,CAC1BC,OAAyC,EACf;EAC1B,OAAOH,UAAU,CAAC,CAAC,EAAEI,WAAW,CAAC,mBAAmB,EAAED,OAAO,CAAC,IAAI,IAAI;AACxE","ignoreList":[]}
|
package/lib/module/ChatSDK.js
CHANGED
|
@@ -11,6 +11,7 @@ class ChatSDKSingleton {
|
|
|
11
11
|
lastError = null;
|
|
12
12
|
currentUser = null;
|
|
13
13
|
listeners = new Map();
|
|
14
|
+
pushDeviceToken = null;
|
|
14
15
|
|
|
15
16
|
// ─── Lifecycle ────────────────────────────────────────────────────────────
|
|
16
17
|
|
|
@@ -71,6 +72,7 @@ class ChatSDKSingleton {
|
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
async logout() {
|
|
75
|
+
await this.unregisterPushToken().catch(() => {});
|
|
74
76
|
this.currentUser = null;
|
|
75
77
|
this.session?.destroy();
|
|
76
78
|
this.session = null;
|
|
@@ -80,11 +82,22 @@ class ChatSDKSingleton {
|
|
|
80
82
|
|
|
81
83
|
// ─── Push ─────────────────────────────────────────────────────────────────
|
|
82
84
|
|
|
85
|
+
async registerPushToken(deviceToken, platform = 'fcm') {
|
|
86
|
+
this.assertInitialized();
|
|
87
|
+
await this.api.registerPushToken(deviceToken, platform);
|
|
88
|
+
this.pushDeviceToken = deviceToken;
|
|
89
|
+
}
|
|
90
|
+
async unregisterPushToken(deviceToken) {
|
|
91
|
+
const target = deviceToken ?? this.pushDeviceToken;
|
|
92
|
+
if (!target || !this.api) return;
|
|
93
|
+
try {
|
|
94
|
+
await this.api.deletePushToken(target);
|
|
95
|
+
} finally {
|
|
96
|
+
if (target === this.pushDeviceToken) this.pushDeviceToken = null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
83
99
|
handleNotification(_payload) {
|
|
84
|
-
// Навигация обрабатывается в host app через onNotification callback.
|
|
85
|
-
// SDK только проверяет, что payload относится к нашему токену.
|
|
86
100
|
if (_payload.token !== this.config?.token) return;
|
|
87
|
-
// В будущем: открыть ChatScreen если приложение foreground
|
|
88
101
|
}
|
|
89
102
|
|
|
90
103
|
// ─── Getters ──────────────────────────────────────────────────────────────
|