@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.
Files changed (59) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +69 -11
  3. package/android/src/main/java/com/chatplatform/sdk/ChatSdkAudioPlayerModule.kt +201 -0
  4. package/android/src/main/java/com/chatplatform/sdk/ChatSdkPackage.kt +1 -0
  5. package/ios/ChatSdkAudioPlayer.m +25 -0
  6. package/ios/ChatSdkAudioPlayer.swift +193 -0
  7. package/lib/commonjs/ChatSDK.js +16 -3
  8. package/lib/commonjs/ChatSDK.js.map +1 -1
  9. package/lib/commonjs/api.js +29 -0
  10. package/lib/commonjs/api.js.map +1 -1
  11. package/lib/commonjs/audio/audioController.js +145 -0
  12. package/lib/commonjs/audio/audioController.js.map +1 -0
  13. package/lib/commonjs/components/AudioMessage.js +198 -0
  14. package/lib/commonjs/components/AudioMessage.js.map +1 -0
  15. package/lib/commonjs/components/MessageBubble.js +9 -0
  16. package/lib/commonjs/components/MessageBubble.js.map +1 -1
  17. package/lib/commonjs/native/NativeChatSdkAudioPlayer.js +28 -0
  18. package/lib/commonjs/native/NativeChatSdkAudioPlayer.js.map +1 -0
  19. package/lib/module/ChatSDK.js +16 -3
  20. package/lib/module/ChatSDK.js.map +1 -1
  21. package/lib/module/api.js +29 -0
  22. package/lib/module/api.js.map +1 -1
  23. package/lib/module/audio/audioController.js +140 -0
  24. package/lib/module/audio/audioController.js.map +1 -0
  25. package/lib/module/components/AudioMessage.js +193 -0
  26. package/lib/module/components/AudioMessage.js.map +1 -0
  27. package/lib/module/components/MessageBubble.js +9 -0
  28. package/lib/module/components/MessageBubble.js.map +1 -1
  29. package/lib/module/native/NativeChatSdkAudioPlayer.js +23 -0
  30. package/lib/module/native/NativeChatSdkAudioPlayer.js.map +1 -0
  31. package/lib/typescript/commonjs/ChatSDK.d.ts +3 -0
  32. package/lib/typescript/commonjs/ChatSDK.d.ts.map +1 -1
  33. package/lib/typescript/commonjs/api.d.ts +3 -0
  34. package/lib/typescript/commonjs/api.d.ts.map +1 -1
  35. package/lib/typescript/commonjs/audio/audioController.d.ts +25 -0
  36. package/lib/typescript/commonjs/audio/audioController.d.ts.map +1 -0
  37. package/lib/typescript/commonjs/components/AudioMessage.d.ts +11 -0
  38. package/lib/typescript/commonjs/components/AudioMessage.d.ts.map +1 -0
  39. package/lib/typescript/commonjs/components/MessageBubble.d.ts.map +1 -1
  40. package/lib/typescript/commonjs/native/NativeChatSdkAudioPlayer.d.ts +20 -0
  41. package/lib/typescript/commonjs/native/NativeChatSdkAudioPlayer.d.ts.map +1 -0
  42. package/lib/typescript/module/ChatSDK.d.ts +3 -0
  43. package/lib/typescript/module/ChatSDK.d.ts.map +1 -1
  44. package/lib/typescript/module/api.d.ts +3 -0
  45. package/lib/typescript/module/api.d.ts.map +1 -1
  46. package/lib/typescript/module/audio/audioController.d.ts +25 -0
  47. package/lib/typescript/module/audio/audioController.d.ts.map +1 -0
  48. package/lib/typescript/module/components/AudioMessage.d.ts +11 -0
  49. package/lib/typescript/module/components/AudioMessage.d.ts.map +1 -0
  50. package/lib/typescript/module/components/MessageBubble.d.ts.map +1 -1
  51. package/lib/typescript/module/native/NativeChatSdkAudioPlayer.d.ts +20 -0
  52. package/lib/typescript/module/native/NativeChatSdkAudioPlayer.d.ts.map +1 -0
  53. package/package.json +1 -1
  54. package/src/ChatSDK.ts +18 -3
  55. package/src/api.ts +37 -0
  56. package/src/audio/audioController.ts +144 -0
  57. package/src/components/AudioMessage.tsx +198 -0
  58. package/src/components/MessageBubble.tsx +6 -0
  59. package/src/native/NativeChatSdkAudioPlayer.ts +54 -0
@@ -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);
@@ -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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","ignoreList":[]}
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":";;;;;;AASO,MAAMA,eAAe,CAAC;EAGnBC,YAAY,GAAkB,IAAI;EAClCC,SAAS,GAAkB,IAAI;EAC/BC,WAAW,GAAuC,CAAC,CAAC;EAE5DC,WAAWA,CAACC,OAAe,EAAEC,KAAa,EAAE;IAC1C,IAAI,CAACD,OAAO,GAAGA,OAAO,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACzC,IAAI,CAACD,KAAK,GAAGA,KAAK;EACpB;EAEAE,UAAUA,CAACP,YAAoB,EAAEC,SAAiB,EAAQ;IACxD,IAAI,CAACD,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC5B;EAEAO,cAAcA,CAACC,OAA2C,EAAQ;IAChE,IAAI,CAACP,WAAW,GAAGO,OAAO;EAC5B;EAEAC,YAAYA,CAAA,EAAS;IACnB,IAAI,CAACV,YAAY,GAAG,IAAI;IACxB,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB,IAAI,CAACC,WAAW,GAAG,CAAC,CAAC;EACvB;EAEAS,YAAYA,CAAA,EAAkB;IAC5B,OAAO,IAAI,CAACV,SAAS;EACvB;EAEA,MAAMW,aAAaA,CACjBC,MAAc,EACdJ,OAA2C,EAC3CK,MAAqB,EACK;IAC1B,MAAMC,IAAI,GAAG;MAAEF,MAAM;MAAEJ,OAAO;MAAEK;IAAO,CAAC;IACxC,MAAME,IAAI,GAAG,eAAe,IAAI,CAACX,KAAK,UAAU;IAChD,IAAIY,SAAuB,GAAG,IAAI;;IAElC;IACA,KAAK,IAAIC,OAAO,GAAG,CAAC,EAAEA,OAAO,GAAG,CAAC,EAAEA,OAAO,EAAE,EAAE;MAC5C,IAAI;QACF,MAAMC,GAAG,GAAG,MAAM,IAAI,CAACC,IAAI,CAACJ,IAAI,EAAED,IAAI,EAAE,MAAM,CAAC;QAC/C,OAAOI,GAAG;MACZ,CAAC,CAAC,OAAOE,CAAC,EAAE;QACVJ,SAAS,GAAGI,CAAC,YAAYC,KAAK,GAAGD,CAAC,GAAG,IAAIC,KAAK,CAACC,MAAM,CAACF,CAAC,CAAC,CAAC;QACzD,IAAIH,OAAO,GAAG,CAAC,EAAE;UACf,MAAM,IAAIM,OAAO,CAAEC,CAAC,IAAKC,UAAU,CAACD,CAAC,EAAE,IAAI,IAAIP,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/D;MACF;IACF;IAEA,MAAMD,SAAS,IAAI,IAAIK,KAAK,CAAC,wBAAwB,CAAC;EACxD;EAEA,MAAMK,SAASA,CAAA,EAA0B;IACvC,MAAMR,GAAG,GAAG,MAAM,IAAI,CAACS,GAAG,CAAC,eAAe,IAAI,CAACvB,KAAK,SAAS,CAAC;IAC9D,OAAOc,GAAG;EACZ;EAEA,MAAMU,WAAWA,CAAA,EAA8B;IAC7C,IAAI,CAACC,aAAa,CAAC,CAAC;IACpB,MAAMX,GAAG,GAAG,MAAM,IAAI,CAACS,GAAG,CACxB,eAAe,IAAI,CAACvB,KAAK,YAAY,IAAI,CAACJ,SAAS,WACrD,CAAC;IACD,OAAOkB,GAAG;EACZ;EAEA,MAAMY,WAAWA,CAACC,QAA4C,EAAiB;IAC7E,IAAI,CAACF,aAAa,CAAC,CAAC;IACpB,MAAM,IAAI,CAACV,IAAI,CACb,eAAe,IAAI,CAACf,KAAK,YAAY,IAAI,CAACJ,SAAS,QAAQ,EAC3D+B,QACF,CAAC;EACH;EAEA,MAAMC,WAAWA,CAACC,IAAY,EAAEC,KAAyB,EAAiB;IACxE,IAAI,CAACL,aAAa,CAAC,CAAC;IACpB,MAAMM,GAAG,GAAG,GAAG,IAAI,CAAChC,OAAO,eAAe,IAAI,CAACC,KAAK,YAAY,IAAI,CAACJ,SAAS,WAAW;IAEzF,MAAMoC,IAAI,GAAG,IAAIC,QAAQ,CAAC,CAAC;IAC3B,IAAIJ,IAAI,CAACK,IAAI,CAAC,CAAC,EAAEF,IAAI,CAACG,MAAM,CAAC,MAAM,EAAEN,IAAI,CAAC;IAE1C,IAAIC,KAAK,IAAIA,KAAK,CAACM,MAAM,GAAG,CAAC,EAAE;MAC7BN,KAAK,CAACO,OAAO,CAAEC,CAAC;MACd;MACAN,IAAI,CAACG,MAAM,CAAC,SAAS,EAAE;QAAEI,GAAG,EAAED,CAAC,CAACC,GAAG;QAAEC,IAAI,EAAEF,CAAC,CAACE,IAAI;QAAEC,IAAI,EAAEH,CAAC,CAACG;MAAK,CAAoB,CACtF,CAAC;IACH;IAEA,IAAI,IAAI,CAAC5C,WAAW,CAAC2C,IAAI,EAAKR,IAAI,CAACG,MAAM,CAAC,MAAM,EAAK,IAAI,CAACtC,WAAW,CAAC2C,IAAI,CAAC;IAC3E,IAAI,IAAI,CAAC3C,WAAW,CAAC6C,OAAO,EAAEV,IAAI,CAACG,MAAM,CAAC,SAAS,EAAE,IAAI,CAACtC,WAAW,CAAC6C,OAAO,CAAC;IAC9E,IAAI,IAAI,CAAC7C,WAAW,CAAC8C,KAAK,EAAIX,IAAI,CAACG,MAAM,CAAC,OAAO,EAAI,IAAI,CAACtC,WAAW,CAAC8C,KAAK,CAAC;IAC5E,IAAI,IAAI,CAAC9C,WAAW,CAAC+C,KAAK,EAAIZ,IAAI,CAACG,MAAM,CAAC,OAAO,EAAI,IAAI,CAACtC,WAAW,CAAC+C,KAAK,CAAC;IAE5E,MAAM9B,GAAG,GAAG,MAAM+B,KAAK,CAACd,GAAG,EAAE;MAC3Be,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE,IAAI,CAACC,WAAW,CAAC,CAAC;MAC3BtC,IAAI,EAAEsB;IACR,CAAC,CAAC;IAEF,IAAI,CAAClB,GAAG,CAACmC,EAAE,EAAE;MACX,MAAMvC,IAAI,GAAG,MAAMI,GAAG,CAACoC,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;MAC/C,MAAM,IAAIlC,KAAK,CAACP,IAAI,EAAE0C,OAAO,IAAI,QAAQtC,GAAG,CAACuC,MAAM,EAAE,CAAC;IACxD;EACF;EAEA,MAAMC,eAAeA,CAACC,mBAA4B,EAAiC;IACjF,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC7D,SAAS,EAAE;MAClB4D,MAAM,CAACE,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC9D,SAAS,CAAC;IAC1C;IACA,IAAI2D,mBAAmB,KAAKI,SAAS,EAAE;MACrCH,MAAM,CAACE,GAAG,CAAC,gBAAgB,EAAExC,MAAM,CAACqC,mBAAmB,CAAC,CAAC;IAC3D;IACA,MAAMK,KAAK,GAAGJ,MAAM,CAACK,QAAQ,CAAC,CAAC;IAC/B,MAAM/C,GAAG,GAAG,MAAM,IAAI,CAACS,GAAG,CACxB,eAAe,IAAI,CAACvB,KAAK,iBAAiB4D,KAAK,GAAG,IAAIA,KAAK,EAAE,GAAG,EAAE,EACpE,CAAC;IACD,OAAO9C,GAAG;EACZ;EAEA,MAAMgD,SAASA,CAACC,MAAc,EAAEC,OAAgB,EAAiB;IAC/D,IAAI,CAACvC,aAAa,CAAC,CAAC;IACpB,MAAM,IAAI,CAACV,IAAI,CACb,eAAe,IAAI,CAACf,KAAK,YAAY,IAAI,CAACJ,SAAS,MAAM,EACzD;MAAEmE,MAAM;MAAEC,OAAO,EAAEA,OAAO,IAAI;IAAG,CACnC,CAAC;EACH;EAEA,MAAMC,YAAYA,CAACC,SAAiB,EAAEC,YAAoB,EAAiB;IACzE,IAAI,CAAC1C,aAAa,CAAC,CAAC;IACpB,MAAM,IAAI,CAACV,IAAI,CACb,eAAe,IAAI,CAACf,KAAK,YAAY,IAAI,CAACJ,SAAS,WAAW,EAC9D;MAAEwE,UAAU,EAAEF,SAAS;MAAEG,aAAa,EAAEF;IAAa,CACvD,CAAC;EACH;EAEA,MAAMG,iBAAiBA,CAACC,WAAmB,EAAEC,QAAwB,EAAiB;IACpF,IAAI,CAAC/C,aAAa,CAAC,CAAC;IACpB,MAAM,IAAI,CAACV,IAAI,CACb,eAAe,IAAI,CAACf,KAAK,YAAY,IAAI,CAACJ,SAAS,aAAa,EAChE;MAAE6E,YAAY,EAAEF,WAAW;MAAEC;IAAS,CACxC,CAAC;EACH;EAEA,MAAME,eAAeA,CAACH,WAAmB,EAAiB;IACxD,IAAI,CAAC9C,aAAa,CAAC,CAAC;IACpB,MAAM,IAAI,CAACkD,GAAG,CACZ,eAAe,IAAI,CAAC3E,KAAK,YAAY,IAAI,CAACJ,SAAS,aAAa,EAChE;MAAE6E,YAAY,EAAEF;IAAY,CAC9B,CAAC;EACH;EAEAK,cAAcA,CAAChF,SAAiB,EAAU;IACxC,OAAO,GAAG,IAAI,CAACG,OAAO,eAAe,IAAI,CAACC,KAAK,YAAYJ,SAAS,WAAW;EACjF;EAEAiF,0BAA0BA,CAACC,OAAe,EAAEC,QAAgB,EAAU;IACpE,IAAI,CAACtD,aAAa,CAAC,CAAC;IACpB,MAAM+B,MAAM,GAAG,IAAIC,eAAe,CAAC;MACjC1B,GAAG,EAAE+C,OAAO;MACZC,QAAQ,EAAEA,QAAQ,IAAI;IACxB,CAAC,CAAC;IACF,OAAO,GAAG,IAAI,CAACH,cAAc,CAAC,IAAI,CAAChF,SAAU,CAAC,IAAI4D,MAAM,CAACK,QAAQ,CAAC,CAAC,EAAE;EACvE;EAEAmB,wBAAwBA,CAAA,EAAW;IACjC,OAAO,GAAG,IAAI,CAACjF,OAAO,eAAe,IAAI,CAACC,KAAK,oBAAoB;EACrE;EAEAiF,cAAcA,CAAA,EAA2B;IACvC,OAAO,IAAI,CAACjC,WAAW,CAAC,CAAC;EAC3B;EAEQvB,aAAaA,CAAA,EAAS;IAC5B,IAAI,CAAC,IAAI,CAAC9B,YAAY,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE;MACzC,MAAM,IAAIqB,KAAK,CAAC,iDAAiD,CAAC;IACpE;EACF;EAEQ+B,WAAWA,CAAA,EAA2B;IAC5C,OAAO,IAAI,CAACrD,YAAY,GACpB;MAAEuF,aAAa,EAAE,UAAU,IAAI,CAACvF,YAAY;IAAG,CAAC,GAChD,CAAC,CAAC;EACR;EAEA,MAAc4B,GAAGA,CAACZ,IAAY,EAAoB;IAChD,MAAMG,GAAG,GAAG,MAAM,IAAI,CAACqE,gBAAgB,CAAC,GAAG,IAAI,CAACpF,OAAO,GAAGY,IAAI,EAAE,EAAE;MAChEoC,OAAO,EAAE;QAAEqC,MAAM,EAAE,kBAAkB;QAAE,GAAG,IAAI,CAACpC,WAAW,CAAC;MAAE;IAC/D,CAAC,CAAC;IACF,IAAI,CAAClC,GAAG,CAACmC,EAAE,EAAE;MACX,MAAMvC,IAAI,GAAG,MAAMI,GAAG,CAACoC,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;MAC/C,MAAM,IAAIlC,KAAK,CAACP,IAAI,EAAE0C,OAAO,IAAI,QAAQtC,GAAG,CAACuC,MAAM,EAAE,CAAC;IACxD;IACA,OAAOvC,GAAG,CAACoC,IAAI,CAAC,CAAC;EACnB;EAEA,MAAcnC,IAAIA,CAACJ,IAAY,EAAED,IAAa,EAAE2E,SAAS,GAAG,MAAM,EAAoB;IACpF,MAAMvE,GAAG,GAAG,MAAM,IAAI,CAACqE,gBAAgB,CACrC,GAAG,IAAI,CAACpF,OAAO,GAAGY,IAAI,EAAE,EACxB;MACEmC,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;QAClCqC,MAAM,EAAE,kBAAkB;QAC1B,GAAG,IAAI,CAACpC,WAAW,CAAC;MACtB,CAAC;MACDtC,IAAI,EAAE4E,IAAI,CAACC,SAAS,CAAC7E,IAAI;IAC3B,CAAC,EACD2E,SACF,CAAC;IACD,IAAI,CAACvE,GAAG,CAACmC,EAAE,EAAE;MACX,MAAMC,IAAI,GAAG,MAAMpC,GAAG,CAACoC,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;MAC/C,MAAM,IAAIlC,KAAK,CAACiC,IAAI,EAAEE,OAAO,IAAI,QAAQtC,GAAG,CAACuC,MAAM,EAAE,CAAC;IACxD;IACA,OAAOvC,GAAG,CAACoC,IAAI,CAAC,CAAC;EACnB;EAEA,MAAcyB,GAAGA,CAAChE,IAAY,EAAED,IAAa,EAAE2E,SAAS,GAAG,MAAM,EAAoB;IACnF,MAAMvE,GAAG,GAAG,MAAM,IAAI,CAACqE,gBAAgB,CACrC,GAAG,IAAI,CAACpF,OAAO,GAAGY,IAAI,EAAE,EACxB;MACEmC,MAAM,EAAE,QAAQ;MAChBC,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;QAClCqC,MAAM,EAAE,kBAAkB;QAC1B,GAAG,IAAI,CAACpC,WAAW,CAAC;MACtB,CAAC;MACDtC,IAAI,EAAE4E,IAAI,CAACC,SAAS,CAAC7E,IAAI;IAC3B,CAAC,EACD2E,SACF,CAAC;IACD,IAAI,CAACvE,GAAG,CAACmC,EAAE,EAAE;MACX,MAAMC,IAAI,GAAG,MAAMpC,GAAG,CAACoC,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;MAC/C,MAAM,IAAIlC,KAAK,CAACiC,IAAI,EAAEE,OAAO,IAAI,QAAQtC,GAAG,CAACuC,MAAM,EAAE,CAAC;IACxD;IACA,OAAOvC,GAAG,CAACoC,IAAI,CAAC,CAAC;EACnB;EAEA,MAAciC,gBAAgBA,CAACpD,GAAW,EAAEyD,OAAoB,EAAEH,SAAS,GAAG,KAAK,EAAqB;IACtG,MAAMI,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;IACxC,MAAMC,KAAK,GAAGtE,UAAU,CAAC,MAAMoE,UAAU,CAACG,KAAK,CAAC,CAAC,EAAEP,SAAS,CAAC;IAC7D,IAAI;MACF,OAAO,MAAMxC,KAAK,CAACd,GAAG,EAAE;QAAE,GAAGyD,OAAO;QAAEK,MAAM,EAAEJ,UAAU,CAACI;MAAO,CAAC,CAAC;IACpE,CAAC,CAAC,OAAO7E,CAAU,EAAE;MACnB,IAAIA,CAAC,YAAYC,KAAK,IAAID,CAAC,CAACwB,IAAI,KAAK,YAAY,EAAE;QACjD,MAAM,IAAIvB,KAAK,CAAC,sBAAsBc,GAAG,EAAE,CAAC;MAC9C;MACA,MAAMf,CAAC;IACT,CAAC,SAAS;MACR8E,YAAY,CAACH,KAAK,CAAC;IACrB;EACF;AACF;AAACI,OAAA,CAAArG,eAAA,GAAAA,eAAA","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":"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","ignoreList":[]}
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":[]}
@@ -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 ──────────────────────────────────────────────────────────────