@ethora/chat-component-rn 26.10.10 → 26.10.11

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 (483) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +125 -0
  3. package/lib/commonjs/booking/index.js +44 -0
  4. package/lib/commonjs/booking/index.js.map +1 -0
  5. package/lib/commonjs/booking/pendingScheduledCall.js +275 -0
  6. package/lib/commonjs/booking/pendingScheduledCall.js.map +1 -0
  7. package/lib/commonjs/booking/scheduleForm.js +91 -0
  8. package/lib/commonjs/booking/scheduleForm.js.map +1 -0
  9. package/lib/commonjs/booking/scheduledCall.js +141 -0
  10. package/lib/commonjs/booking/scheduledCall.js.map +1 -0
  11. package/lib/commonjs/booking/scheduledCallActions.js +128 -0
  12. package/lib/commonjs/booking/scheduledCallActions.js.map +1 -0
  13. package/lib/commonjs/booking/scheduledCallLink.js +143 -0
  14. package/lib/commonjs/booking/scheduledCallLink.js.map +1 -0
  15. package/lib/commonjs/booking/scheduledCallStore.js +64 -0
  16. package/lib/commonjs/booking/scheduledCallStore.js.map +1 -0
  17. package/lib/commonjs/booking/startRoomCall.js +84 -0
  18. package/lib/commonjs/booking/startRoomCall.js.map +1 -0
  19. package/lib/commonjs/calls/callBusy.js +18 -0
  20. package/lib/commonjs/calls/callBusy.js.map +1 -0
  21. package/lib/commonjs/calls/callDisplay.js +73 -0
  22. package/lib/commonjs/calls/callDisplay.js.map +1 -0
  23. package/lib/commonjs/calls/callMode.js +175 -0
  24. package/lib/commonjs/calls/callMode.js.map +1 -0
  25. package/lib/commonjs/calls/declineReport.js +20 -0
  26. package/lib/commonjs/calls/declineReport.js.map +1 -0
  27. package/lib/commonjs/calls/p2p/P2PCallController.js +724 -0
  28. package/lib/commonjs/calls/p2p/P2PCallController.js.map +1 -0
  29. package/lib/commonjs/calls/p2p/icePolicy.js +107 -0
  30. package/lib/commonjs/calls/p2p/icePolicy.js.map +1 -0
  31. package/lib/commonjs/calls/p2p/negotiator.js +202 -0
  32. package/lib/commonjs/calls/p2p/negotiator.js.map +1 -0
  33. package/lib/commonjs/calls/p2p/p2pRuntime.js +147 -0
  34. package/lib/commonjs/calls/p2p/p2pRuntime.js.map +1 -0
  35. package/lib/commonjs/calls/p2p/signalInbox.js +98 -0
  36. package/lib/commonjs/calls/p2p/signalInbox.js.map +1 -0
  37. package/lib/commonjs/calls/p2p/signalStanza.js +141 -0
  38. package/lib/commonjs/calls/p2p/signalStanza.js.map +1 -0
  39. package/lib/commonjs/calls/p2p/webrtcRuntime.js +53 -0
  40. package/lib/commonjs/calls/p2p/webrtcRuntime.js.map +1 -0
  41. package/lib/commonjs/calls/senderTrust.js +43 -0
  42. package/lib/commonjs/calls/senderTrust.js.map +1 -0
  43. package/lib/commonjs/calls/startCall.js +51 -0
  44. package/lib/commonjs/calls/startCall.js.map +1 -0
  45. package/lib/commonjs/components/Booking/BookingIcons.js +55 -0
  46. package/lib/commonjs/components/Booking/BookingIcons.js.map +1 -0
  47. package/lib/commonjs/components/Booking/ScheduleCallButton.js +64 -0
  48. package/lib/commonjs/components/Booking/ScheduleCallButton.js.map +1 -0
  49. package/lib/commonjs/components/Booking/ScheduleCallSheet.js +351 -0
  50. package/lib/commonjs/components/Booking/ScheduleCallSheet.js.map +1 -0
  51. package/lib/commonjs/components/Booking/ScheduledCallCard.js +203 -0
  52. package/lib/commonjs/components/Booking/ScheduledCallCard.js.map +1 -0
  53. package/lib/commonjs/components/Booking/ScheduledCallHost.js +23 -0
  54. package/lib/commonjs/components/Booking/ScheduledCallHost.js.map +1 -0
  55. package/lib/commonjs/components/Booking/ScheduledCallMessage.js +55 -0
  56. package/lib/commonjs/components/Booking/ScheduledCallMessage.js.map +1 -0
  57. package/lib/commonjs/components/Booking/ScheduledCallPreJoin.js +235 -0
  58. package/lib/commonjs/components/Booking/ScheduledCallPreJoin.js.map +1 -0
  59. package/lib/commonjs/components/Booking/bookingShared.js +305 -0
  60. package/lib/commonjs/components/Booking/bookingShared.js.map +1 -0
  61. package/lib/commonjs/components/MainComponents/ChatHeader.js +2 -1
  62. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  63. package/lib/commonjs/components/MainComponents/LanguageSelectorButton.js +5 -2
  64. package/lib/commonjs/components/MainComponents/LanguageSelectorButton.js.map +1 -1
  65. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js +6 -3
  66. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  67. package/lib/commonjs/components/MainComponents/MessageContainer.js +13 -0
  68. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  69. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +10 -0
  70. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  71. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +19 -15
  72. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -1
  73. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +15 -8
  74. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  75. package/lib/commonjs/components/Modals/UserSettingsModal/LanguageCard.js +1 -1
  76. package/lib/commonjs/components/Modals/UserSettingsModal/LanguageCard.js.map +1 -1
  77. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js +3 -2
  78. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js.map +1 -1
  79. package/lib/commonjs/components/VideoCalls/CallButtons.js +19 -11
  80. package/lib/commonjs/components/VideoCalls/CallButtons.js.map +1 -1
  81. package/lib/commonjs/components/VideoCalls/CallControlBar.js +119 -0
  82. package/lib/commonjs/components/VideoCalls/CallControlBar.js.map +1 -0
  83. package/lib/commonjs/components/VideoCalls/CallVideo.js +49 -0
  84. package/lib/commonjs/components/VideoCalls/CallVideo.js.map +1 -0
  85. package/lib/commonjs/components/VideoCalls/GroupCallView.js +281 -0
  86. package/lib/commonjs/components/VideoCalls/GroupCallView.js.map +1 -0
  87. package/lib/commonjs/components/VideoCalls/P2PCallRunner.js +151 -0
  88. package/lib/commonjs/components/VideoCalls/P2PCallRunner.js.map +1 -0
  89. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +38 -14
  90. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  91. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +57 -128
  92. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  93. package/lib/commonjs/components/VideoCalls/callActions.js +3 -0
  94. package/lib/commonjs/components/VideoCalls/callActions.js.map +1 -1
  95. package/lib/commonjs/components/VideoCalls/callElapsed.js +38 -0
  96. package/lib/commonjs/components/VideoCalls/callElapsed.js.map +1 -0
  97. package/lib/commonjs/components/VideoCalls/callLive.js +15 -0
  98. package/lib/commonjs/components/VideoCalls/callLive.js.map +1 -0
  99. package/lib/commonjs/components/VideoCalls/callSessionController.js +81 -24
  100. package/lib/commonjs/components/VideoCalls/callSessionController.js.map +1 -1
  101. package/lib/commonjs/components/VideoCalls/callSessionTypes.js +41 -0
  102. package/lib/commonjs/components/VideoCalls/callSessionTypes.js.map +1 -0
  103. package/lib/commonjs/components/VideoCalls/groupLayout.js +43 -0
  104. package/lib/commonjs/components/VideoCalls/groupLayout.js.map +1 -0
  105. package/lib/commonjs/components/VideoCalls/p2pCallSession.js +272 -0
  106. package/lib/commonjs/components/VideoCalls/p2pCallSession.js.map +1 -0
  107. package/lib/commonjs/components/VideoCalls/useCallKeep.js +7 -2
  108. package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -1
  109. package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js +2 -1
  110. package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js.map +1 -1
  111. package/lib/commonjs/context/xmppProvider.js +2 -1
  112. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  113. package/lib/commonjs/helpers/callPush.js +3 -1
  114. package/lib/commonjs/helpers/callPush.js.map +1 -1
  115. package/lib/commonjs/helpers/incomingCallFromPush.js +63 -7
  116. package/lib/commonjs/helpers/incomingCallFromPush.js.map +1 -1
  117. package/lib/commonjs/helpers/pushPayload.js +5 -0
  118. package/lib/commonjs/helpers/pushPayload.js.map +1 -1
  119. package/lib/commonjs/helpers/reportRoom.js +76 -0
  120. package/lib/commonjs/helpers/reportRoom.js.map +1 -0
  121. package/lib/commonjs/i18n/strings.js +444 -0
  122. package/lib/commonjs/i18n/strings.js.map +1 -1
  123. package/lib/commonjs/main.js +93 -0
  124. package/lib/commonjs/main.js.map +1 -1
  125. package/lib/commonjs/networking/api-requests/callState.api.js +75 -0
  126. package/lib/commonjs/networking/api-requests/callState.api.js.map +1 -0
  127. package/lib/commonjs/networking/api-requests/push.api.js +29 -6
  128. package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
  129. package/lib/commonjs/networking/api-requests/rooms.api.js +8 -2
  130. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  131. package/lib/commonjs/networking/api-requests/scheduledCalls.api.js +141 -0
  132. package/lib/commonjs/networking/api-requests/scheduledCalls.api.js.map +1 -0
  133. package/lib/commonjs/networking/callTokenStanza.js +210 -50
  134. package/lib/commonjs/networking/callTokenStanza.js.map +1 -1
  135. package/lib/commonjs/roomStore/callSlice.js +59 -4
  136. package/lib/commonjs/roomStore/callSlice.js.map +1 -1
  137. package/lib/commonjs/services/appBadge.js +80 -0
  138. package/lib/commonjs/services/appBadge.js.map +1 -0
  139. package/lib/commonjs/services/languageSettings.js +47 -15
  140. package/lib/commonjs/services/languageSettings.js.map +1 -1
  141. package/lib/commonjs/services/pushRegistration.js +21 -5
  142. package/lib/commonjs/services/pushRegistration.js.map +1 -1
  143. package/lib/commonjs/version.js +1 -1
  144. package/lib/module/booking/index.js +5 -0
  145. package/lib/module/booking/index.js.map +1 -0
  146. package/lib/module/booking/pendingScheduledCall.js +261 -0
  147. package/lib/module/booking/pendingScheduledCall.js.map +1 -0
  148. package/lib/module/booking/scheduleForm.js +79 -0
  149. package/lib/module/booking/scheduleForm.js.map +1 -0
  150. package/lib/module/booking/scheduledCall.js +129 -0
  151. package/lib/module/booking/scheduledCall.js.map +1 -0
  152. package/lib/module/booking/scheduledCallActions.js +118 -0
  153. package/lib/module/booking/scheduledCallActions.js.map +1 -0
  154. package/lib/module/booking/scheduledCallLink.js +136 -0
  155. package/lib/module/booking/scheduledCallLink.js.map +1 -0
  156. package/lib/module/booking/scheduledCallStore.js +60 -0
  157. package/lib/module/booking/scheduledCallStore.js.map +1 -0
  158. package/lib/module/booking/startRoomCall.js +80 -0
  159. package/lib/module/booking/startRoomCall.js.map +1 -0
  160. package/lib/module/calls/callBusy.js +13 -0
  161. package/lib/module/calls/callBusy.js.map +1 -0
  162. package/lib/module/calls/callDisplay.js +65 -0
  163. package/lib/module/calls/callDisplay.js.map +1 -0
  164. package/lib/module/calls/callMode.js +168 -0
  165. package/lib/module/calls/callMode.js.map +1 -0
  166. package/lib/module/calls/declineReport.js +16 -0
  167. package/lib/module/calls/declineReport.js.map +1 -0
  168. package/lib/module/calls/p2p/P2PCallController.js +718 -0
  169. package/lib/module/calls/p2p/P2PCallController.js.map +1 -0
  170. package/lib/module/calls/p2p/icePolicy.js +102 -0
  171. package/lib/module/calls/p2p/icePolicy.js.map +1 -0
  172. package/lib/module/calls/p2p/negotiator.js +197 -0
  173. package/lib/module/calls/p2p/negotiator.js.map +1 -0
  174. package/lib/module/calls/p2p/p2pRuntime.js +137 -0
  175. package/lib/module/calls/p2p/p2pRuntime.js.map +1 -0
  176. package/lib/module/calls/p2p/signalInbox.js +93 -0
  177. package/lib/module/calls/p2p/signalInbox.js.map +1 -0
  178. package/lib/module/calls/p2p/signalStanza.js +135 -0
  179. package/lib/module/calls/p2p/signalStanza.js.map +1 -0
  180. package/lib/module/calls/p2p/webrtcRuntime.js +46 -0
  181. package/lib/module/calls/p2p/webrtcRuntime.js.map +1 -0
  182. package/lib/module/calls/senderTrust.js +38 -0
  183. package/lib/module/calls/senderTrust.js.map +1 -0
  184. package/lib/module/calls/startCall.js +47 -0
  185. package/lib/module/calls/startCall.js.map +1 -0
  186. package/lib/module/components/Booking/BookingIcons.js +48 -0
  187. package/lib/module/components/Booking/BookingIcons.js.map +1 -0
  188. package/lib/module/components/Booking/ScheduleCallButton.js +59 -0
  189. package/lib/module/components/Booking/ScheduleCallButton.js.map +1 -0
  190. package/lib/module/components/Booking/ScheduleCallSheet.js +345 -0
  191. package/lib/module/components/Booking/ScheduleCallSheet.js.map +1 -0
  192. package/lib/module/components/Booking/ScheduledCallCard.js +197 -0
  193. package/lib/module/components/Booking/ScheduledCallCard.js.map +1 -0
  194. package/lib/module/components/Booking/ScheduledCallHost.js +18 -0
  195. package/lib/module/components/Booking/ScheduledCallHost.js.map +1 -0
  196. package/lib/module/components/Booking/ScheduledCallMessage.js +48 -0
  197. package/lib/module/components/Booking/ScheduledCallMessage.js.map +1 -0
  198. package/lib/module/components/Booking/ScheduledCallPreJoin.js +229 -0
  199. package/lib/module/components/Booking/ScheduledCallPreJoin.js.map +1 -0
  200. package/lib/module/components/Booking/bookingShared.js +291 -0
  201. package/lib/module/components/Booking/bookingShared.js.map +1 -0
  202. package/lib/module/components/MainComponents/ChatHeader.js +2 -1
  203. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  204. package/lib/module/components/MainComponents/LanguageSelectorButton.js +5 -2
  205. package/lib/module/components/MainComponents/LanguageSelectorButton.js.map +1 -1
  206. package/lib/module/components/MainComponents/LanguageSelectorModal.js +7 -4
  207. package/lib/module/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  208. package/lib/module/components/MainComponents/MessageContainer.js +13 -0
  209. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  210. package/lib/module/components/MainComponents/ReduxWrapper.js +10 -0
  211. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  212. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +21 -15
  213. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -1
  214. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +17 -10
  215. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  216. package/lib/module/components/Modals/UserSettingsModal/LanguageCard.js +1 -1
  217. package/lib/module/components/Modals/UserSettingsModal/LanguageCard.js.map +1 -1
  218. package/lib/module/components/VideoCalls/ActiveCallBar.js +3 -2
  219. package/lib/module/components/VideoCalls/ActiveCallBar.js.map +1 -1
  220. package/lib/module/components/VideoCalls/CallButtons.js +19 -11
  221. package/lib/module/components/VideoCalls/CallButtons.js.map +1 -1
  222. package/lib/module/components/VideoCalls/CallControlBar.js +113 -0
  223. package/lib/module/components/VideoCalls/CallControlBar.js.map +1 -0
  224. package/lib/module/components/VideoCalls/CallVideo.js +43 -0
  225. package/lib/module/components/VideoCalls/CallVideo.js.map +1 -0
  226. package/lib/module/components/VideoCalls/GroupCallView.js +275 -0
  227. package/lib/module/components/VideoCalls/GroupCallView.js.map +1 -0
  228. package/lib/module/components/VideoCalls/P2PCallRunner.js +147 -0
  229. package/lib/module/components/VideoCalls/P2PCallRunner.js.map +1 -0
  230. package/lib/module/components/VideoCalls/VideoCallOverlay.js +38 -14
  231. package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  232. package/lib/module/components/VideoCalls/VideoCallSession.js +46 -127
  233. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  234. package/lib/module/components/VideoCalls/callActions.js +3 -0
  235. package/lib/module/components/VideoCalls/callActions.js.map +1 -1
  236. package/lib/module/components/VideoCalls/callElapsed.js +33 -0
  237. package/lib/module/components/VideoCalls/callElapsed.js.map +1 -0
  238. package/lib/module/components/VideoCalls/callLive.js +10 -0
  239. package/lib/module/components/VideoCalls/callLive.js.map +1 -0
  240. package/lib/module/components/VideoCalls/callSessionController.js +80 -24
  241. package/lib/module/components/VideoCalls/callSessionController.js.map +1 -1
  242. package/lib/module/components/VideoCalls/callSessionTypes.js +37 -0
  243. package/lib/module/components/VideoCalls/callSessionTypes.js.map +1 -0
  244. package/lib/module/components/VideoCalls/groupLayout.js +36 -0
  245. package/lib/module/components/VideoCalls/groupLayout.js.map +1 -0
  246. package/lib/module/components/VideoCalls/p2pCallSession.js +256 -0
  247. package/lib/module/components/VideoCalls/p2pCallSession.js.map +1 -0
  248. package/lib/module/components/VideoCalls/useCallKeep.js +8 -2
  249. package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -1
  250. package/lib/module/components/VideoCalls/useOngoingCallNotification.js +2 -1
  251. package/lib/module/components/VideoCalls/useOngoingCallNotification.js.map +1 -1
  252. package/lib/module/context/xmppProvider.js +2 -1
  253. package/lib/module/context/xmppProvider.js.map +1 -1
  254. package/lib/module/helpers/callPush.js +3 -1
  255. package/lib/module/helpers/callPush.js.map +1 -1
  256. package/lib/module/helpers/incomingCallFromPush.js +63 -7
  257. package/lib/module/helpers/incomingCallFromPush.js.map +1 -1
  258. package/lib/module/helpers/pushPayload.js +5 -0
  259. package/lib/module/helpers/pushPayload.js.map +1 -1
  260. package/lib/module/helpers/reportRoom.js +70 -0
  261. package/lib/module/helpers/reportRoom.js.map +1 -0
  262. package/lib/module/i18n/strings.js +444 -0
  263. package/lib/module/i18n/strings.js.map +1 -1
  264. package/lib/module/main.js +5 -0
  265. package/lib/module/main.js.map +1 -1
  266. package/lib/module/networking/api-requests/callState.api.js +66 -0
  267. package/lib/module/networking/api-requests/callState.api.js.map +1 -0
  268. package/lib/module/networking/api-requests/push.api.js +29 -6
  269. package/lib/module/networking/api-requests/push.api.js.map +1 -1
  270. package/lib/module/networking/api-requests/rooms.api.js +8 -2
  271. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  272. package/lib/module/networking/api-requests/scheduledCalls.api.js +130 -0
  273. package/lib/module/networking/api-requests/scheduledCalls.api.js.map +1 -0
  274. package/lib/module/networking/callTokenStanza.js +210 -50
  275. package/lib/module/networking/callTokenStanza.js.map +1 -1
  276. package/lib/module/roomStore/callSlice.js +57 -3
  277. package/lib/module/roomStore/callSlice.js.map +1 -1
  278. package/lib/module/services/appBadge.js +74 -0
  279. package/lib/module/services/appBadge.js.map +1 -0
  280. package/lib/module/services/languageSettings.js +44 -13
  281. package/lib/module/services/languageSettings.js.map +1 -1
  282. package/lib/module/services/pushRegistration.js +21 -5
  283. package/lib/module/services/pushRegistration.js.map +1 -1
  284. package/lib/module/version.js +1 -1
  285. package/lib/typescript/booking/index.d.ts +3 -0
  286. package/lib/typescript/booking/index.d.ts.map +1 -0
  287. package/lib/typescript/booking/pendingScheduledCall.d.ts +80 -0
  288. package/lib/typescript/booking/pendingScheduledCall.d.ts.map +1 -0
  289. package/lib/typescript/booking/scheduleForm.d.ts +28 -0
  290. package/lib/typescript/booking/scheduleForm.d.ts.map +1 -0
  291. package/lib/typescript/booking/scheduledCall.d.ts +52 -0
  292. package/lib/typescript/booking/scheduledCall.d.ts.map +1 -0
  293. package/lib/typescript/booking/scheduledCallActions.d.ts +22 -0
  294. package/lib/typescript/booking/scheduledCallActions.d.ts.map +1 -0
  295. package/lib/typescript/booking/scheduledCallLink.d.ts +37 -0
  296. package/lib/typescript/booking/scheduledCallLink.d.ts.map +1 -0
  297. package/lib/typescript/booking/scheduledCallStore.d.ts +47 -0
  298. package/lib/typescript/booking/scheduledCallStore.d.ts.map +1 -0
  299. package/lib/typescript/booking/startRoomCall.d.ts +12 -0
  300. package/lib/typescript/booking/startRoomCall.d.ts.map +1 -0
  301. package/lib/typescript/calls/callBusy.d.ts +9 -0
  302. package/lib/typescript/calls/callBusy.d.ts.map +1 -0
  303. package/lib/typescript/calls/callDisplay.d.ts +23 -0
  304. package/lib/typescript/calls/callDisplay.d.ts.map +1 -0
  305. package/lib/typescript/calls/callMode.d.ts +106 -0
  306. package/lib/typescript/calls/callMode.d.ts.map +1 -0
  307. package/lib/typescript/calls/declineReport.d.ts +11 -0
  308. package/lib/typescript/calls/declineReport.d.ts.map +1 -0
  309. package/lib/typescript/calls/p2p/P2PCallController.d.ts +150 -0
  310. package/lib/typescript/calls/p2p/P2PCallController.d.ts.map +1 -0
  311. package/lib/typescript/calls/p2p/icePolicy.d.ts +37 -0
  312. package/lib/typescript/calls/p2p/icePolicy.d.ts.map +1 -0
  313. package/lib/typescript/calls/p2p/negotiator.d.ts +57 -0
  314. package/lib/typescript/calls/p2p/negotiator.d.ts.map +1 -0
  315. package/lib/typescript/calls/p2p/p2pRuntime.d.ts +41 -0
  316. package/lib/typescript/calls/p2p/p2pRuntime.d.ts.map +1 -0
  317. package/lib/typescript/calls/p2p/signalInbox.d.ts +35 -0
  318. package/lib/typescript/calls/p2p/signalInbox.d.ts.map +1 -0
  319. package/lib/typescript/calls/p2p/signalStanza.d.ts +52 -0
  320. package/lib/typescript/calls/p2p/signalStanza.d.ts.map +1 -0
  321. package/lib/typescript/calls/p2p/webrtcRuntime.d.ts +32 -0
  322. package/lib/typescript/calls/p2p/webrtcRuntime.d.ts.map +1 -0
  323. package/lib/typescript/calls/senderTrust.d.ts +8 -0
  324. package/lib/typescript/calls/senderTrust.d.ts.map +1 -0
  325. package/lib/typescript/calls/startCall.d.ts +17 -0
  326. package/lib/typescript/calls/startCall.d.ts.map +1 -0
  327. package/lib/typescript/components/Booking/BookingIcons.d.ts +9 -0
  328. package/lib/typescript/components/Booking/BookingIcons.d.ts.map +1 -0
  329. package/lib/typescript/components/Booking/ScheduleCallButton.d.ts +11 -0
  330. package/lib/typescript/components/Booking/ScheduleCallButton.d.ts.map +1 -0
  331. package/lib/typescript/components/Booking/ScheduleCallSheet.d.ts +4 -0
  332. package/lib/typescript/components/Booking/ScheduleCallSheet.d.ts.map +1 -0
  333. package/lib/typescript/components/Booking/ScheduledCallCard.d.ts +14 -0
  334. package/lib/typescript/components/Booking/ScheduledCallCard.d.ts.map +1 -0
  335. package/lib/typescript/components/Booking/ScheduledCallHost.d.ts +10 -0
  336. package/lib/typescript/components/Booking/ScheduledCallHost.d.ts.map +1 -0
  337. package/lib/typescript/components/Booking/ScheduledCallMessage.d.ts +20 -0
  338. package/lib/typescript/components/Booking/ScheduledCallMessage.d.ts.map +1 -0
  339. package/lib/typescript/components/Booking/ScheduledCallPreJoin.d.ts +8 -0
  340. package/lib/typescript/components/Booking/ScheduledCallPreJoin.d.ts.map +1 -0
  341. package/lib/typescript/components/Booking/bookingShared.d.ts +199 -0
  342. package/lib/typescript/components/Booking/bookingShared.d.ts.map +1 -0
  343. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  344. package/lib/typescript/components/MainComponents/LanguageSelectorButton.d.ts +3 -1
  345. package/lib/typescript/components/MainComponents/LanguageSelectorButton.d.ts.map +1 -1
  346. package/lib/typescript/components/MainComponents/LanguageSelectorModal.d.ts.map +1 -1
  347. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  348. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  349. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -1
  350. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  351. package/lib/typescript/components/Modals/UserSettingsModal/LanguageCard.d.ts.map +1 -1
  352. package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts.map +1 -1
  353. package/lib/typescript/components/VideoCalls/CallButtons.d.ts +2 -1
  354. package/lib/typescript/components/VideoCalls/CallButtons.d.ts.map +1 -1
  355. package/lib/typescript/components/VideoCalls/CallControlBar.d.ts +17 -0
  356. package/lib/typescript/components/VideoCalls/CallControlBar.d.ts.map +1 -0
  357. package/lib/typescript/components/VideoCalls/CallVideo.d.ts +23 -0
  358. package/lib/typescript/components/VideoCalls/CallVideo.d.ts.map +1 -0
  359. package/lib/typescript/components/VideoCalls/GroupCallView.d.ts +22 -0
  360. package/lib/typescript/components/VideoCalls/GroupCallView.d.ts.map +1 -0
  361. package/lib/typescript/components/VideoCalls/P2PCallRunner.d.ts +2 -0
  362. package/lib/typescript/components/VideoCalls/P2PCallRunner.d.ts.map +1 -0
  363. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -1
  364. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts +10 -12
  365. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  366. package/lib/typescript/components/VideoCalls/callActions.d.ts.map +1 -1
  367. package/lib/typescript/components/VideoCalls/callElapsed.d.ts +8 -0
  368. package/lib/typescript/components/VideoCalls/callElapsed.d.ts.map +1 -0
  369. package/lib/typescript/components/VideoCalls/callLive.d.ts +9 -0
  370. package/lib/typescript/components/VideoCalls/callLive.d.ts.map +1 -0
  371. package/lib/typescript/components/VideoCalls/callSessionController.d.ts +10 -31
  372. package/lib/typescript/components/VideoCalls/callSessionController.d.ts.map +1 -1
  373. package/lib/typescript/components/VideoCalls/callSessionTypes.d.ts +60 -0
  374. package/lib/typescript/components/VideoCalls/callSessionTypes.d.ts.map +1 -0
  375. package/lib/typescript/components/VideoCalls/groupLayout.d.ts +23 -0
  376. package/lib/typescript/components/VideoCalls/groupLayout.d.ts.map +1 -0
  377. package/lib/typescript/components/VideoCalls/p2pCallSession.d.ts +31 -0
  378. package/lib/typescript/components/VideoCalls/p2pCallSession.d.ts.map +1 -0
  379. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -1
  380. package/lib/typescript/components/VideoCalls/useOngoingCallNotification.d.ts.map +1 -1
  381. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  382. package/lib/typescript/helpers/callPush.d.ts +11 -1
  383. package/lib/typescript/helpers/callPush.d.ts.map +1 -1
  384. package/lib/typescript/helpers/incomingCallFromPush.d.ts.map +1 -1
  385. package/lib/typescript/helpers/pushPayload.d.ts +1 -1
  386. package/lib/typescript/helpers/pushPayload.d.ts.map +1 -1
  387. package/lib/typescript/helpers/reportRoom.d.ts +19 -0
  388. package/lib/typescript/helpers/reportRoom.d.ts.map +1 -0
  389. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  390. package/lib/typescript/main.d.ts +6 -1
  391. package/lib/typescript/main.d.ts.map +1 -1
  392. package/lib/typescript/networking/api-requests/callState.api.d.ts +25 -0
  393. package/lib/typescript/networking/api-requests/callState.api.d.ts.map +1 -0
  394. package/lib/typescript/networking/api-requests/push.api.d.ts +9 -2
  395. package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
  396. package/lib/typescript/networking/api-requests/rooms.api.d.ts +2 -1
  397. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  398. package/lib/typescript/networking/api-requests/scheduledCalls.api.d.ts +86 -0
  399. package/lib/typescript/networking/api-requests/scheduledCalls.api.d.ts.map +1 -0
  400. package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -1
  401. package/lib/typescript/roomStore/callSlice.d.ts +23 -1
  402. package/lib/typescript/roomStore/callSlice.d.ts.map +1 -1
  403. package/lib/typescript/services/appBadge.d.ts +3 -0
  404. package/lib/typescript/services/appBadge.d.ts.map +1 -0
  405. package/lib/typescript/services/languageSettings.d.ts +7 -0
  406. package/lib/typescript/services/languageSettings.d.ts.map +1 -1
  407. package/lib/typescript/services/pushRegistration.d.ts.map +1 -1
  408. package/lib/typescript/types/types.d.ts +67 -4
  409. package/lib/typescript/types/types.d.ts.map +1 -1
  410. package/lib/typescript/version.d.ts +1 -1
  411. package/package.json +1 -1
  412. package/src/booking/index.ts +10 -0
  413. package/src/booking/pendingScheduledCall.ts +272 -0
  414. package/src/booking/scheduleForm.ts +84 -0
  415. package/src/booking/scheduledCall.ts +163 -0
  416. package/src/booking/scheduledCallActions.ts +141 -0
  417. package/src/booking/scheduledCallLink.ts +145 -0
  418. package/src/booking/scheduledCallStore.ts +69 -0
  419. package/src/booking/startRoomCall.ts +103 -0
  420. package/src/calls/callBusy.ts +10 -0
  421. package/src/calls/callDisplay.ts +74 -0
  422. package/src/calls/callMode.ts +286 -0
  423. package/src/calls/declineReport.ts +16 -0
  424. package/src/calls/p2p/P2PCallController.ts +813 -0
  425. package/src/calls/p2p/icePolicy.ts +99 -0
  426. package/src/calls/p2p/negotiator.ts +186 -0
  427. package/src/calls/p2p/p2pRuntime.ts +164 -0
  428. package/src/calls/p2p/signalInbox.ts +117 -0
  429. package/src/calls/p2p/signalStanza.ts +205 -0
  430. package/src/calls/p2p/webrtcRuntime.ts +60 -0
  431. package/src/calls/senderTrust.ts +40 -0
  432. package/src/calls/startCall.ts +56 -0
  433. package/src/components/Booking/BookingIcons.tsx +44 -0
  434. package/src/components/Booking/ScheduleCallButton.tsx +66 -0
  435. package/src/components/Booking/ScheduleCallSheet.tsx +380 -0
  436. package/src/components/Booking/ScheduledCallCard.tsx +216 -0
  437. package/src/components/Booking/ScheduledCallHost.tsx +18 -0
  438. package/src/components/Booking/ScheduledCallMessage.tsx +62 -0
  439. package/src/components/Booking/ScheduledCallPreJoin.tsx +230 -0
  440. package/src/components/Booking/bookingShared.tsx +295 -0
  441. package/src/components/MainComponents/ChatHeader.tsx +2 -0
  442. package/src/components/MainComponents/LanguageSelectorButton.tsx +9 -2
  443. package/src/components/MainComponents/LanguageSelectorModal.tsx +10 -6
  444. package/src/components/MainComponents/MessageContainer.tsx +15 -0
  445. package/src/components/MainComponents/ReduxWrapper.tsx +10 -0
  446. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +22 -22
  447. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +28 -9
  448. package/src/components/Modals/UserSettingsModal/LanguageCard.tsx +9 -7
  449. package/src/components/VideoCalls/ActiveCallBar.tsx +6 -5
  450. package/src/components/VideoCalls/CallButtons.tsx +23 -12
  451. package/src/components/VideoCalls/CallControlBar.tsx +131 -0
  452. package/src/components/VideoCalls/CallVideo.tsx +59 -0
  453. package/src/components/VideoCalls/GroupCallView.tsx +324 -0
  454. package/src/components/VideoCalls/P2PCallRunner.tsx +192 -0
  455. package/src/components/VideoCalls/VideoCallOverlay.tsx +62 -17
  456. package/src/components/VideoCalls/VideoCallSession.tsx +55 -133
  457. package/src/components/VideoCalls/callActions.ts +3 -0
  458. package/src/components/VideoCalls/callElapsed.ts +27 -0
  459. package/src/components/VideoCalls/callLive.ts +13 -0
  460. package/src/components/VideoCalls/callSessionController.ts +130 -55
  461. package/src/components/VideoCalls/callSessionTypes.ts +80 -0
  462. package/src/components/VideoCalls/groupLayout.ts +48 -0
  463. package/src/components/VideoCalls/p2pCallSession.ts +291 -0
  464. package/src/components/VideoCalls/useCallKeep.ts +9 -2
  465. package/src/components/VideoCalls/useOngoingCallNotification.ts +2 -2
  466. package/src/context/xmppProvider.tsx +3 -0
  467. package/src/helpers/callPush.ts +13 -1
  468. package/src/helpers/incomingCallFromPush.ts +65 -7
  469. package/src/helpers/pushPayload.ts +9 -1
  470. package/src/helpers/reportRoom.ts +93 -0
  471. package/src/i18n/strings.ts +444 -0
  472. package/src/main.ts +33 -0
  473. package/src/networking/api-requests/callState.api.ts +83 -0
  474. package/src/networking/api-requests/push.api.ts +28 -3
  475. package/src/networking/api-requests/rooms.api.ts +12 -3
  476. package/src/networking/api-requests/scheduledCalls.api.ts +232 -0
  477. package/src/networking/callTokenStanza.ts +247 -50
  478. package/src/roomStore/callSlice.ts +86 -2
  479. package/src/services/appBadge.ts +85 -0
  480. package/src/services/languageSettings.ts +43 -8
  481. package/src/services/pushRegistration.ts +34 -3
  482. package/src/types/types.ts +70 -4
  483. package/src/version.ts +1 -1
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.ScheduledCallMessage = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactRedux = require("react-redux");
9
+ var _DateLabel = _interopRequireDefault(require("../styled/DateLabel"));
10
+ var _scheduledCall = require("../../booking/scheduledCall");
11
+ var _ScheduledCallCard = _interopRequireDefault(require("./ScheduledCallCard"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ 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); }
15
+ /**
16
+ * One card per slug: only the room's newest message for a slug draws it (with
17
+ * that message's status); every older message of the same slug draws nothing.
18
+ * A message that is not a usable invite falls back to nothing too, its body
19
+ * text is the plain "Scheduled call: ..." line old clients show.
20
+ */
21
+ const ScheduledCallMessage = ({
22
+ message,
23
+ config,
24
+ showDateLabel,
25
+ CustomDaySeparator
26
+ }) => {
27
+ const roomJid = message.roomJid;
28
+ const slug = String(message.scheduledCallSlug || '');
29
+ const latest = (0, _reactRedux.useSelector)(state => (0, _scheduledCall.latestScheduledCallMessage)(state.rooms.rooms[roomJid]?.messages, slug));
30
+ // Not in the room list (a jump window, a thread): this message stands alone.
31
+ const owner = latest || message;
32
+ if (owner.id !== message.id) {
33
+ return null;
34
+ }
35
+ const card = (0, _scheduledCall.parseScheduledCallMessage)(owner);
36
+ if (!card) {
37
+ return null;
38
+ }
39
+ const date = new Date(message.date);
40
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
41
+ children: [showDateLabel && (CustomDaySeparator ? /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomDaySeparator, {
42
+ date: date,
43
+ formattedDate: date.toLocaleDateString()
44
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_DateLabel.default, {
45
+ date: date,
46
+ colors: config?.colors
47
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScheduledCallCard.default, {
48
+ card: card,
49
+ roomJid: roomJid
50
+ })]
51
+ });
52
+ };
53
+ exports.ScheduledCallMessage = ScheduledCallMessage;
54
+ var _default = exports.default = ScheduledCallMessage;
55
+ //# sourceMappingURL=ScheduledCallMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactRedux","_DateLabel","_interopRequireDefault","_scheduledCall","_ScheduledCallCard","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ScheduledCallMessage","message","config","showDateLabel","CustomDaySeparator","roomJid","slug","String","scheduledCallSlug","latest","useSelector","state","latestScheduledCallMessage","rooms","messages","owner","id","card","parseScheduledCallMessage","date","Date","jsxs","Fragment","children","jsx","formattedDate","toLocaleDateString","colors","exports","_default"],"sourceRoot":"../../../../src","sources":["components/Booking/ScheduledCallMessage.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.ScheduledCallPreJoin = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactRedux = require("react-redux");
10
+ var _useChatSettingState = require("../../hooks/useChatSettingState");
11
+ var _useT = require("../../i18n/useT");
12
+ var _scheduledCallStore = require("../../booking/scheduledCallStore");
13
+ var _scheduledCall = require("../../booking/scheduledCall");
14
+ var _scheduledCallActions = require("../../booking/scheduledCallActions");
15
+ var _scheduleForm = require("../../booking/scheduleForm");
16
+ var _bookingShared = require("./bookingShared");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ 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); }
19
+ const ERROR_KEYS = {
20
+ 'not-a-member': 'booking.error.notMember',
21
+ 'not-found': 'booking.error.notFound',
22
+ cancelled: 'booking.error.cancelled',
23
+ network: 'booking.error.failed'
24
+ };
25
+ const Ready = ({
26
+ detail
27
+ }) => {
28
+ const t = (0, _useT.useT)();
29
+ const locale = (0, _useT.useUiLocale)();
30
+ const {
31
+ theme
32
+ } = (0, _bookingShared.useBookingStyles)();
33
+ const {
34
+ user,
35
+ config
36
+ } = (0, _useChatSettingState.useChatSettingState)();
37
+ const scheduledCalls = config?.scheduledCalls;
38
+ const call = detail.scheduledCall;
39
+ const roomJid = detail.chat?.jid || call.chatName;
40
+ const roomRole = (0, _reactRedux.useSelector)(state => Object.values(state.rooms.rooms).find(room => (0, _scheduledCall.chatNameOfRoom)(room?.jid || '') === (0, _scheduledCall.chatNameOfRoom)(roomJid))?.role);
41
+ const card = {
42
+ slug: call.slug,
43
+ title: call.title,
44
+ startAt: call.startAt,
45
+ startMs: Date.parse(call.startAt),
46
+ durationMinutes: call.durationMinutes,
47
+ kind: call.kind === 'audio' ? 'audio' : 'video',
48
+ status: call.status === 'cancelled' ? 'cancelled' : 'scheduled',
49
+ joinUrl: detail.links.join,
50
+ icsUrl: detail.links.ics || '',
51
+ googleUrl: detail.links.google || '',
52
+ outlookUrl: detail.links.outlook || '',
53
+ createdBy: call.createdBy || ''
54
+ };
55
+ const {
56
+ state,
57
+ now
58
+ } = (0, _bookingShared.useScheduledCallState)(card);
59
+ const [joining, setJoining] = (0, _react.useState)(false);
60
+ const joinAllowed = scheduledCalls?.enabled !== false;
61
+ const canManage = (state === 'upcoming' || state === 'joinable') && (0, _scheduledCallActions.canManageScheduledCall)({
62
+ createdBy: call.createdBy,
63
+ userId: user?._id,
64
+ roomRole
65
+ });
66
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
67
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
68
+ style: styles.row,
69
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
70
+ testID: "prejoin-title",
71
+ style: [styles.callTitle, {
72
+ color: theme.text
73
+ }],
74
+ numberOfLines: 3,
75
+ children: call.title || t('call.title')
76
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_bookingShared.StatePill, {
77
+ label: t((0, _bookingShared.stateLabelKey)(state, card.startMs, now)),
78
+ tone: state === 'joinable' ? 'active' : 'neutral'
79
+ })]
80
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
81
+ testID: "prejoin-when",
82
+ style: {
83
+ color: theme.textSecondary,
84
+ fontSize: 14
85
+ },
86
+ children: (0, _bookingShared.describeWhen)(card, t, locale)
87
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
88
+ style: {
89
+ color: theme.textSecondary,
90
+ fontSize: 12
91
+ },
92
+ children: card.kind === 'audio' ? t('call.audioCall') : t('call.videoCall')
93
+ }), !!call.description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
94
+ style: {
95
+ color: theme.text,
96
+ fontSize: 14
97
+ },
98
+ children: call.description
99
+ }), joinAllowed && /*#__PURE__*/(0, _jsxRuntime.jsx)(_bookingShared.PrimaryButton, {
100
+ testID: "prejoin-join",
101
+ label: t('booking.action.join'),
102
+ disabled: state !== 'joinable',
103
+ busy: joining,
104
+ onPress: () => {
105
+ setJoining(true);
106
+ (0, _scheduledCallActions.joinScheduledCall)(roomJid, card.kind).then(started => {
107
+ if (started) {
108
+ _scheduledCallStore.scheduledCallUi.closePreJoin();
109
+ }
110
+ }).finally(() => setJoining(false));
111
+ }
112
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
113
+ style: {
114
+ color: theme.textMuted,
115
+ fontSize: 12,
116
+ textAlign: 'center'
117
+ },
118
+ children: state === 'upcoming' ? t('booking.prejoin.joinFrom', {
119
+ time: (0, _scheduleForm.formatClock)(card.startMs - _scheduledCall.JOIN_WINDOW_BEFORE_MS, locale)
120
+ }) : t('booking.prejoin.hint')
121
+ }), (state === 'upcoming' || state === 'joinable') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_bookingShared.CalendarButtons, {
122
+ t: t,
123
+ googleUrl: card.googleUrl,
124
+ outlookUrl: card.outlookUrl,
125
+ icsUrl: card.icsUrl,
126
+ testIDPrefix: "prejoin"
127
+ }), canManage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
128
+ style: styles.row,
129
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
130
+ style: styles.half,
131
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_bookingShared.PrimaryButton, {
132
+ testID: "prejoin-edit",
133
+ tone: "plain",
134
+ label: t('booking.action.edit'),
135
+ onPress: () => {
136
+ _scheduledCallStore.scheduledCallUi.closePreJoin();
137
+ _scheduledCallStore.scheduledCallUi.openEdit(roomJid, detail);
138
+ }
139
+ })
140
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
141
+ style: styles.half,
142
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_bookingShared.PrimaryButton, {
143
+ testID: "prejoin-cancel",
144
+ tone: "plain",
145
+ label: t('booking.action.cancelCall'),
146
+ onPress: () => {
147
+ void (0, _scheduledCallActions.confirmAndCancelScheduledCall)(call.slug).then(done => {
148
+ if (done) {
149
+ _scheduledCallStore.scheduledCallUi.closePreJoin();
150
+ }
151
+ });
152
+ }
153
+ })
154
+ })]
155
+ })]
156
+ });
157
+ };
158
+
159
+ /**
160
+ * The pre-join screen of a call opened from a link or a reminder: what the
161
+ * call is, and a Join button. Nothing is started until Join is tapped.
162
+ */
163
+ const ScheduledCallPreJoin = () => {
164
+ const {
165
+ preJoin
166
+ } = (0, _scheduledCallStore.useScheduledCallUi)();
167
+ const t = (0, _useT.useT)();
168
+ const {
169
+ theme
170
+ } = (0, _bookingShared.useBookingStyles)();
171
+ // Hold the last content while the modal fades out.
172
+ const [shown, setShown] = (0, _react.useState)(preJoin);
173
+ (0, _react.useEffect)(() => {
174
+ if (preJoin) {
175
+ setShown(preJoin);
176
+ }
177
+ }, [preJoin]);
178
+ if (!shown) {
179
+ return null;
180
+ }
181
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_bookingShared.BookingSheet, {
182
+ visible: !!preJoin,
183
+ onClose: _scheduledCallStore.scheduledCallUi.closePreJoin,
184
+ title: t('booking.prejoin.title'),
185
+ testID: "prejoin-sheet",
186
+ children: [shown.phase === 'loading' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
187
+ testID: "prejoin-loading",
188
+ style: {
189
+ color: theme.textSecondary
190
+ },
191
+ children: t('call.connecting')
192
+ }), shown.phase === 'error' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
193
+ children: [shown.title ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
194
+ style: {
195
+ color: theme.text,
196
+ fontWeight: '600',
197
+ fontSize: 16
198
+ },
199
+ children: shown.title
200
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
201
+ testID: "prejoin-error",
202
+ style: {
203
+ color: theme.danger,
204
+ fontSize: 15
205
+ },
206
+ children: t(ERROR_KEYS[shown.reason])
207
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_bookingShared.PrimaryButton, {
208
+ testID: "prejoin-close",
209
+ tone: "plain",
210
+ label: t('booking.action.close'),
211
+ onPress: _scheduledCallStore.scheduledCallUi.closePreJoin
212
+ })]
213
+ }), shown.phase === 'ready' && /*#__PURE__*/(0, _jsxRuntime.jsx)(Ready, {
214
+ detail: shown.detail
215
+ })]
216
+ });
217
+ };
218
+ exports.ScheduledCallPreJoin = ScheduledCallPreJoin;
219
+ const styles = _reactNative.StyleSheet.create({
220
+ row: {
221
+ flexDirection: 'row',
222
+ alignItems: 'center',
223
+ gap: 8
224
+ },
225
+ callTitle: {
226
+ flex: 1,
227
+ fontSize: 18,
228
+ fontWeight: '600'
229
+ },
230
+ half: {
231
+ flex: 1
232
+ }
233
+ });
234
+ var _default = exports.default = ScheduledCallPreJoin;
235
+ //# sourceMappingURL=ScheduledCallPreJoin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRedux","_useChatSettingState","_useT","_scheduledCallStore","_scheduledCall","_scheduledCallActions","_scheduleForm","_bookingShared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ERROR_KEYS","cancelled","network","Ready","detail","useT","locale","useUiLocale","theme","useBookingStyles","user","config","useChatSettingState","scheduledCalls","scheduledCall","roomJid","chat","jid","chatName","roomRole","useSelector","state","values","rooms","find","room","chatNameOfRoom","role","card","slug","title","startAt","startMs","Date","parse","durationMinutes","kind","status","joinUrl","links","join","icsUrl","ics","googleUrl","google","outlookUrl","outlook","createdBy","now","useScheduledCallState","joining","setJoining","useState","joinAllowed","enabled","canManage","canManageScheduledCall","userId","_id","jsxs","Fragment","children","View","style","styles","row","jsx","Text","testID","callTitle","color","text","numberOfLines","StatePill","label","stateLabelKey","tone","textSecondary","fontSize","describeWhen","description","PrimaryButton","disabled","busy","onPress","joinScheduledCall","then","started","scheduledCallUi","closePreJoin","finally","textMuted","textAlign","time","formatClock","JOIN_WINDOW_BEFORE_MS","CalendarButtons","testIDPrefix","half","openEdit","confirmAndCancelScheduledCall","done","ScheduledCallPreJoin","preJoin","useScheduledCallUi","shown","setShown","useEffect","BookingSheet","visible","onClose","phase","fontWeight","danger","reason","exports","StyleSheet","create","flexDirection","alignItems","gap","flex","_default"],"sourceRoot":"../../../../src","sources":["components/Booking/ScheduledCallPreJoin.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,305 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useScheduledCallState = exports.useBookingStyles = exports.stateLabelKey = exports.describeWhen = exports.createStyles = exports.StatePill = exports.PrimaryButton = exports.CalendarButtons = exports.BookingSheet = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _useTheme = require("../../hooks/useTheme");
10
+ var _scheduledCall = require("../../booking/scheduledCall");
11
+ var _scheduledCallActions = require("../../booking/scheduledCallActions");
12
+ var _scheduleForm = require("../../booking/scheduleForm");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ 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); }
15
+ /**
16
+ * The card's state, re-evaluated when it changes on its own (the join
17
+ * window opens, the call ends) instead of on a poll.
18
+ */
19
+ const useScheduledCallState = card => {
20
+ const [now, setNow] = (0, _react.useState)(() => Date.now());
21
+ const {
22
+ startMs,
23
+ durationMinutes,
24
+ status
25
+ } = card;
26
+ (0, _react.useEffect)(() => {
27
+ setNow(Date.now());
28
+ }, [startMs, durationMinutes, status]);
29
+ (0, _react.useEffect)(() => {
30
+ const at = (0, _scheduledCall.nextScheduledCallTransition)({
31
+ startMs,
32
+ durationMinutes,
33
+ status
34
+ }, now);
35
+ if (at === null) {
36
+ return undefined;
37
+ }
38
+ // A timer can fire a hair early; the +50 ms keeps the re-check past it.
39
+ const wait = Math.min(_scheduledCall.MAX_TIMER_MS, Math.max(1000, at - Date.now() + 50));
40
+ const timer = setTimeout(() => setNow(Date.now()), wait);
41
+ return () => clearTimeout(timer);
42
+ }, [startMs, durationMinutes, status, now]);
43
+ return {
44
+ state: (0, _scheduledCall.getScheduledCallCardState)(card, now),
45
+ now
46
+ };
47
+ };
48
+ exports.useScheduledCallState = useScheduledCallState;
49
+ const stateLabelKey = (state, startMs, now) => {
50
+ switch (state) {
51
+ case 'cancelled':
52
+ return 'booking.state.cancelled';
53
+ case 'ended':
54
+ return 'booking.state.ended';
55
+ case 'joinable':
56
+ return now >= startMs ? 'booking.state.inProgress' : 'booking.state.startingSoon';
57
+ default:
58
+ return 'booking.state.upcoming';
59
+ }
60
+ };
61
+ exports.stateLabelKey = stateLabelKey;
62
+ const describeWhen = (card, t, locale) => `${t('booking.card.starts', {
63
+ date: (0, _scheduleForm.formatDay)(card.startMs, locale),
64
+ time: (0, _scheduleForm.formatClock)(card.startMs, locale)
65
+ })} · ${t('booking.duration.minutes', {
66
+ n: card.durationMinutes
67
+ })}`;
68
+ exports.describeWhen = describeWhen;
69
+ const useBookingStyles = () => {
70
+ const theme = (0, _useTheme.useTheme)();
71
+ return (0, _react.useMemo)(() => ({
72
+ theme,
73
+ styles: createStyles(theme)
74
+ }), [theme]);
75
+ };
76
+ exports.useBookingStyles = useBookingStyles;
77
+ const StatePill = ({
78
+ label,
79
+ tone
80
+ }) => {
81
+ const {
82
+ theme,
83
+ styles
84
+ } = useBookingStyles();
85
+ const color = tone === 'active' ? theme.success : tone === 'danger' ? theme.danger : theme.textSecondary;
86
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
87
+ style: [styles.pill, {
88
+ borderColor: color
89
+ }],
90
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
91
+ style: [styles.pillText, {
92
+ color
93
+ }],
94
+ children: label
95
+ })
96
+ });
97
+ };
98
+
99
+ /** Add to Google / Outlook / .ics: the backend's links, opened as they are. */
100
+ exports.StatePill = StatePill;
101
+ const CalendarButtons = ({
102
+ t,
103
+ googleUrl,
104
+ outlookUrl,
105
+ icsUrl,
106
+ testIDPrefix = 'booking'
107
+ }) => {
108
+ const {
109
+ theme,
110
+ styles
111
+ } = useBookingStyles();
112
+ const items = [['google', 'booking.calendar.google', googleUrl], ['outlook', 'booking.calendar.outlook', outlookUrl], ['ics', 'booking.calendar.ics', icsUrl]];
113
+ const available = items.filter(([,, url]) => !!url);
114
+ if (available.length === 0) {
115
+ return null;
116
+ }
117
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
118
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
119
+ style: styles.sectionLabel,
120
+ children: t('booking.calendar.add')
121
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
122
+ style: styles.calendarRow,
123
+ children: available.map(([id, labelKey, url]) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
124
+ testID: `${testIDPrefix}-calendar-${id}`,
125
+ accessibilityRole: "link",
126
+ activeOpacity: 0.7,
127
+ onPress: () => {
128
+ void (0, _scheduledCallActions.openBackendLink)(url);
129
+ },
130
+ style: [styles.calendarButton, {
131
+ borderColor: theme.border
132
+ }],
133
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
134
+ style: [styles.calendarLabel, {
135
+ color: theme.primary
136
+ }],
137
+ children: t(labelKey)
138
+ })
139
+ }, id))
140
+ })]
141
+ });
142
+ };
143
+
144
+ /** Bottom sheet shell shared by the editor and the pre-join sheet. */
145
+ exports.CalendarButtons = CalendarButtons;
146
+ const BookingSheet = ({
147
+ visible,
148
+ onClose,
149
+ title,
150
+ testID,
151
+ children
152
+ }) => {
153
+ const {
154
+ styles
155
+ } = useBookingStyles();
156
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
157
+ transparent: true,
158
+ visible: visible,
159
+ animationType: "fade",
160
+ onRequestClose: onClose,
161
+ statusBarTranslucent: true,
162
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.KeyboardAvoidingView, {
163
+ style: styles.backdrop,
164
+ behavior: _reactNative.Platform.OS === 'ios' ? 'padding' : undefined,
165
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
166
+ testID: testID ? `${testID}-backdrop` : undefined,
167
+ style: _reactNative.StyleSheet.absoluteFill,
168
+ activeOpacity: 1,
169
+ onPress: onClose
170
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
171
+ style: styles.sheet,
172
+ testID: testID,
173
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
174
+ style: styles.grabber
175
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
176
+ style: styles.sheetTitle,
177
+ accessibilityRole: "header",
178
+ children: title
179
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
180
+ keyboardShouldPersistTaps: "handled",
181
+ showsVerticalScrollIndicator: false,
182
+ contentContainerStyle: styles.sheetBody,
183
+ children: children
184
+ })]
185
+ })]
186
+ })
187
+ });
188
+ };
189
+ exports.BookingSheet = BookingSheet;
190
+ const PrimaryButton = ({
191
+ label,
192
+ onPress,
193
+ disabled,
194
+ busy,
195
+ tone = 'primary',
196
+ testID
197
+ }) => {
198
+ const {
199
+ theme,
200
+ styles
201
+ } = useBookingStyles();
202
+ const background = tone === 'primary' ? theme.primary : tone === 'danger' ? theme.danger : theme.surfaceSecondary;
203
+ const color = tone === 'plain' ? theme.text : theme.textOnPrimary;
204
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
205
+ testID: testID,
206
+ accessibilityRole: "button",
207
+ accessibilityState: {
208
+ disabled: !!disabled
209
+ },
210
+ activeOpacity: 0.8,
211
+ disabled: disabled || busy,
212
+ onPress: onPress,
213
+ style: [styles.button, {
214
+ backgroundColor: background,
215
+ opacity: disabled ? 0.45 : 1
216
+ }],
217
+ children: busy ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
218
+ color: color
219
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
220
+ style: [styles.buttonText, {
221
+ color
222
+ }],
223
+ children: label
224
+ })
225
+ });
226
+ };
227
+ exports.PrimaryButton = PrimaryButton;
228
+ const createStyles = theme => _reactNative.StyleSheet.create({
229
+ pill: {
230
+ borderWidth: 1,
231
+ borderRadius: 10,
232
+ paddingHorizontal: 8,
233
+ paddingVertical: 2
234
+ },
235
+ pillText: {
236
+ fontSize: 11,
237
+ fontWeight: '600'
238
+ },
239
+ sectionLabel: {
240
+ fontSize: 12,
241
+ fontWeight: '600',
242
+ color: theme.textSecondary,
243
+ marginBottom: 6
244
+ },
245
+ calendarRow: {
246
+ flexDirection: 'row',
247
+ flexWrap: 'wrap',
248
+ gap: 8
249
+ },
250
+ calendarButton: {
251
+ borderWidth: 1,
252
+ borderRadius: 16,
253
+ paddingHorizontal: 12,
254
+ paddingVertical: 6
255
+ },
256
+ calendarLabel: {
257
+ fontSize: 13,
258
+ fontWeight: '500'
259
+ },
260
+ backdrop: {
261
+ flex: 1,
262
+ backgroundColor: theme.overlay,
263
+ justifyContent: 'flex-end'
264
+ },
265
+ sheet: {
266
+ backgroundColor: theme.surface,
267
+ borderTopLeftRadius: 20,
268
+ borderTopRightRadius: 20,
269
+ paddingHorizontal: 20,
270
+ paddingTop: 8,
271
+ paddingBottom: 24,
272
+ maxHeight: '90%'
273
+ },
274
+ grabber: {
275
+ alignSelf: 'center',
276
+ width: 40,
277
+ height: 4,
278
+ borderRadius: 2,
279
+ backgroundColor: theme.divider,
280
+ marginBottom: 12
281
+ },
282
+ sheetTitle: {
283
+ fontSize: 18,
284
+ fontWeight: '600',
285
+ color: theme.text,
286
+ marginBottom: 12
287
+ },
288
+ sheetBody: {
289
+ gap: 14,
290
+ paddingBottom: 8
291
+ },
292
+ button: {
293
+ minHeight: 44,
294
+ borderRadius: 12,
295
+ alignItems: 'center',
296
+ justifyContent: 'center',
297
+ paddingHorizontal: 16
298
+ },
299
+ buttonText: {
300
+ fontSize: 15,
301
+ fontWeight: '600'
302
+ }
303
+ });
304
+ exports.createStyles = createStyles;
305
+ //# sourceMappingURL=bookingShared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_scheduledCall","_scheduledCallActions","_scheduleForm","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useScheduledCallState","card","now","setNow","useState","Date","startMs","durationMinutes","status","useEffect","at","nextScheduledCallTransition","undefined","wait","Math","min","MAX_TIMER_MS","max","timer","setTimeout","clearTimeout","state","getScheduledCallCardState","exports","stateLabelKey","describeWhen","locale","date","formatDay","time","formatClock","useBookingStyles","theme","useTheme","useMemo","styles","createStyles","StatePill","label","tone","color","success","danger","textSecondary","jsx","View","style","pill","borderColor","children","Text","pillText","CalendarButtons","googleUrl","outlookUrl","icsUrl","testIDPrefix","items","available","filter","url","length","jsxs","sectionLabel","calendarRow","map","id","labelKey","TouchableOpacity","testID","accessibilityRole","activeOpacity","onPress","openBackendLink","calendarButton","border","calendarLabel","primary","BookingSheet","visible","onClose","title","Modal","transparent","animationType","onRequestClose","statusBarTranslucent","KeyboardAvoidingView","backdrop","behavior","Platform","OS","StyleSheet","absoluteFill","sheet","grabber","sheetTitle","ScrollView","keyboardShouldPersistTaps","showsVerticalScrollIndicator","contentContainerStyle","sheetBody","PrimaryButton","disabled","busy","background","surfaceSecondary","text","textOnPrimary","accessibilityState","button","backgroundColor","opacity","ActivityIndicator","buttonText","create","borderWidth","borderRadius","paddingHorizontal","paddingVertical","fontSize","fontWeight","marginBottom","flexDirection","flexWrap","gap","flex","overlay","justifyContent","surface","borderTopLeftRadius","borderTopRightRadius","paddingTop","paddingBottom","maxHeight","alignSelf","width","height","divider","minHeight","alignItems"],"sourceRoot":"../../../../src","sources":["components/Booking/bookingShared.tsx"],"mappings":"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","ignoreList":[]}