fcr-ui-scene 3.4.0 → 3.4.1

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 (324) hide show
  1. package/lib/ scenes/base.d.ts +10 -0
  2. package/lib/ scenes/base.js +75 -0
  3. package/lib/ scenes/main-scene.d.ts +43 -0
  4. package/lib/ scenes/main-scene.js +368 -0
  5. package/lib/ scenes/waiting-scene.d.ts +31 -0
  6. package/lib/ scenes/waiting-scene.js +119 -0
  7. package/lib/common/device-store.d.ts +1 -2
  8. package/lib/common/device-store.js +169 -153
  9. package/lib/common/device-stream-store.d.ts +5 -29
  10. package/lib/common/device-stream-store.js +47 -93
  11. package/lib/common/room-store.js +4 -4
  12. package/lib/common/security-store.d.ts +6 -16
  13. package/lib/common/security-store.js +16 -17
  14. package/lib/common/type.d.ts +8 -0
  15. package/lib/common/type.js +6 -0
  16. package/lib/creator.js +3 -3
  17. package/lib/electron/app.js +21 -5
  18. package/lib/electron/bootstrap-sdk.js +1 -2
  19. package/lib/electron/injections.d.ts +1 -1
  20. package/lib/error-fallback.css +62 -0
  21. package/lib/error-fallback.d.ts +2 -0
  22. package/lib/error-fallback.js +19 -0
  23. package/lib/modules/Interpreter/action/delete-btn/index.d.ts +1 -1
  24. package/lib/modules/Interpreter/action/edit-btn/index.d.ts +0 -1
  25. package/lib/modules/Interpreter/action/edit-btn/index.js +0 -2
  26. package/lib/modules/Interpreter/action/switch-btn/index.css +3 -0
  27. package/lib/modules/Interpreter/action/switch-btn/index.d.ts +2 -4
  28. package/lib/modules/Interpreter/action/switch-btn/index.js +3 -3
  29. package/lib/modules/Interpreter/footer/index.css +4 -3
  30. package/lib/modules/Interpreter/index.d.ts +2 -17
  31. package/lib/modules/Interpreter/index.js +2 -18
  32. package/lib/modules/Interpreter/interpreter-list/index.css +5 -1
  33. package/lib/modules/Interpreter/interpreter-list/index.d.ts +1 -0
  34. package/lib/modules/Interpreter/interpreter-list/index.js +3 -1
  35. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +0 -6
  36. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.d.ts +1 -1
  37. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +1 -3
  38. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.d.ts +1 -6
  39. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +55 -81
  40. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.d.ts +6 -0
  41. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +58 -0
  42. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.d.ts +1 -1
  43. package/lib/modules/Interpreter/store.d.ts +36 -29
  44. package/lib/modules/Interpreter/store.js +575 -606
  45. package/lib/modules/Interpreter/type.d.ts +41 -0
  46. package/lib/modules/Interpreter/type.js +20 -0
  47. package/lib/modules/Interpreter/utils.d.ts +12 -0
  48. package/lib/modules/Interpreter/utils.js +139 -0
  49. package/lib/modules/Interpreter/view.d.ts +0 -1
  50. package/lib/modules/Interpreter/view.js +3 -5
  51. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +1 -1
  52. package/lib/modules/action-bar/action-bar-collapes-items.js +11 -11
  53. package/lib/modules/action-bar/apps/useInterpreter.js +4 -2
  54. package/lib/modules/action-bar/components/apps/app-item/index.css +35 -0
  55. package/lib/modules/action-bar/components/apps/app-item/index.d.ts +12 -0
  56. package/lib/modules/action-bar/components/apps/app-item/index.js +61 -0
  57. package/lib/modules/action-bar/components/apps/appitems.d.ts +5 -0
  58. package/lib/modules/action-bar/components/apps/appitems.js +45 -0
  59. package/lib/modules/action-bar/components/apps/index.css +8 -0
  60. package/lib/modules/action-bar/components/apps/index.d.ts +4 -0
  61. package/lib/modules/action-bar/components/apps/index.js +57 -0
  62. package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +9 -0
  63. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +29 -0
  64. package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +10 -0
  65. package/lib/modules/action-bar/components/apps/useBeautyBackground.js +36 -0
  66. package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +14 -0
  67. package/lib/modules/action-bar/components/apps/useInterpreter.js +37 -0
  68. package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +16 -0
  69. package/lib/modules/action-bar/components/apps/useLiveStreaming.js +41 -0
  70. package/lib/modules/action-bar/components/board/index.d.ts +4 -0
  71. package/lib/modules/action-bar/components/board/index.js +34 -0
  72. package/lib/modules/action-bar/components/breakout-room/index.d.ts +4 -0
  73. package/lib/modules/action-bar/components/breakout-room/index.js +32 -0
  74. package/lib/modules/action-bar/components/chat/index.css +80 -0
  75. package/lib/modules/action-bar/components/chat/index.d.ts +5 -0
  76. package/lib/modules/action-bar/components/chat/index.js +154 -0
  77. package/lib/modules/action-bar/components/device/index.css +162 -0
  78. package/lib/modules/action-bar/components/device/index.d.ts +8 -0
  79. package/lib/modules/action-bar/components/device/index.js +611 -0
  80. package/lib/modules/action-bar/components/interpreter/index.d.ts +6 -0
  81. package/lib/modules/action-bar/components/interpreter/index.js +41 -0
  82. package/lib/modules/action-bar/components/item.d.ts +27 -0
  83. package/lib/modules/action-bar/components/item.js +164 -0
  84. package/lib/modules/action-bar/components/leave/assign-host.d.ts +10 -0
  85. package/lib/modules/action-bar/components/leave/assign-host.js +64 -0
  86. package/lib/modules/action-bar/components/leave/index.css +126 -0
  87. package/lib/modules/action-bar/components/leave/index.d.ts +3 -0
  88. package/lib/modules/action-bar/components/leave/index.js +159 -0
  89. package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +18 -0
  90. package/lib/modules/action-bar/components/leave/leave-meeting.js +153 -0
  91. package/lib/modules/action-bar/components/live-streaming/index.d.ts +4 -0
  92. package/lib/modules/action-bar/components/live-streaming/index.js +39 -0
  93. package/lib/modules/action-bar/components/more/index.css +114 -0
  94. package/lib/modules/action-bar/components/more/index.d.ts +5 -0
  95. package/lib/modules/action-bar/components/more/index.js +83 -0
  96. package/lib/modules/action-bar/components/more/poppover-content.d.ts +8 -0
  97. package/lib/modules/action-bar/components/more/poppover-content.js +400 -0
  98. package/lib/modules/action-bar/components/participants/index.css +21 -0
  99. package/lib/modules/action-bar/components/participants/index.d.ts +5 -0
  100. package/lib/modules/action-bar/components/participants/index.js +83 -0
  101. package/lib/modules/action-bar/components/record/index.css +39 -0
  102. package/lib/modules/action-bar/components/record/index.d.ts +5 -0
  103. package/lib/modules/action-bar/components/record/index.js +166 -0
  104. package/lib/modules/action-bar/components/record/stop-record-dialog.d.ts +5 -0
  105. package/lib/modules/action-bar/components/record/stop-record-dialog.js +48 -0
  106. package/lib/modules/action-bar/components/respond/index.d.ts +4 -0
  107. package/lib/modules/action-bar/components/respond/index.js +32 -0
  108. package/lib/modules/action-bar/components/screen-share/index.d.ts +4 -0
  109. package/lib/modules/action-bar/components/screen-share/index.js +106 -0
  110. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +1 -0
  111. package/lib/modules/action-bar/components/screen-share/submenu.js +154 -0
  112. package/lib/modules/action-bar/components/security/index.d.ts +4 -0
  113. package/lib/modules/action-bar/components/security/index.js +58 -0
  114. package/lib/modules/action-bar/components/settings/index.d.ts +4 -0
  115. package/lib/modules/action-bar/components/settings/index.js +42 -0
  116. package/lib/modules/action-bar/index.css +23 -1
  117. package/lib/modules/action-bar/index.d.ts +2 -22
  118. package/lib/modules/action-bar/index.dev.js +37 -16
  119. package/lib/modules/action-bar/notification-bar/components/interpreter/index.css +58 -0
  120. package/lib/modules/action-bar/notification-bar/components/interpreter/index.d.ts +8 -0
  121. package/lib/modules/action-bar/notification-bar/components/interpreter/index.js +100 -0
  122. package/lib/modules/action-bar/notification-bar/components/virtual-image/index.css +56 -0
  123. package/lib/modules/action-bar/notification-bar/components/virtual-image/index.d.ts +5 -0
  124. package/lib/modules/action-bar/notification-bar/components/virtual-image/index.js +33 -0
  125. package/lib/modules/action-bar/notification-bar/dome.png +0 -0
  126. package/lib/modules/action-bar/notification-bar/fcr_translateswitch.png +0 -0
  127. package/lib/modules/action-bar/notification-bar/index.css +74 -0
  128. package/lib/modules/action-bar/notification-bar/index.d.ts +2 -0
  129. package/lib/modules/action-bar/notification-bar/index.js +99 -0
  130. package/lib/modules/action-bar/screen-share/index.js +5 -0
  131. package/lib/modules/action-bar/security/index.js +1 -0
  132. package/lib/modules/action-bar/smaller.js +2 -2
  133. package/lib/modules/action-bar/store.d.ts +6 -7
  134. package/lib/modules/action-bar/store.js +114 -128
  135. package/lib/modules/action-bar/trigger-input-language-room/fcr_translateswitch.png +0 -0
  136. package/lib/modules/action-bar/trigger-input-language-room/index.css +86 -0
  137. package/lib/modules/action-bar/trigger-input-language-room/index.d.ts +15 -0
  138. package/lib/modules/action-bar/trigger-input-language-room/index.js +220 -0
  139. package/lib/modules/action-bar/trigger-output-language-room/constant.d.ts +10 -0
  140. package/lib/modules/action-bar/trigger-output-language-room/constant.js +8 -0
  141. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.css +22 -0
  142. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.d.ts +14 -0
  143. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.js +75 -0
  144. package/lib/modules/action-bar/trigger-output-language-room/index.d.ts +4 -0
  145. package/lib/modules/action-bar/trigger-output-language-room/index.js +98 -0
  146. package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.d.ts +5 -0
  147. package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.js +66 -0
  148. package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.d.ts +5 -0
  149. package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.js +36 -0
  150. package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.d.ts +12 -0
  151. package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.js +138 -0
  152. package/lib/modules/action-bar/view.js +6 -6
  153. package/lib/modules/audio-stream/index.d.ts +2 -15
  154. package/lib/modules/audio-stream/index.js +1 -3
  155. package/lib/modules/chat/chat-bar/index.css +5 -0
  156. package/lib/modules/chat/chat-bar/index.js +16 -14
  157. package/lib/modules/chat/chat-select/index.css +6 -3
  158. package/lib/modules/chat/chat.js +7 -6
  159. package/lib/modules/chat/index.css +10 -0
  160. package/lib/modules/chat/index.d.ts +2 -12
  161. package/lib/modules/chat/index.dev.js +14 -3
  162. package/lib/modules/chat/index.js +7 -20
  163. package/lib/modules/chat/message-list.js +1 -0
  164. package/lib/modules/chat/store.js +1 -1
  165. package/lib/modules/components/device-control/components/audio-menu/index.js +4 -4
  166. package/lib/modules/components/device-control/index.css +3 -0
  167. package/lib/modules/components/dialog-container/component/body.d.ts +7 -0
  168. package/lib/modules/components/dialog-container/component/body.js +46 -0
  169. package/lib/modules/components/dialog-container/index.css +78 -0
  170. package/lib/modules/components/dialog-container/index.d.ts +11 -0
  171. package/lib/modules/components/dialog-container/index.js +110 -0
  172. package/lib/modules/components/member-window/index.css +419 -0
  173. package/lib/modules/components/member-window/index.d.ts +76 -0
  174. package/lib/modules/components/member-window/index.js +888 -0
  175. package/lib/modules/components/security-menu/index.css +9 -0
  176. package/lib/modules/components/security-menu/index.js +74 -23
  177. package/lib/modules/components/tab-frame/index.css +40 -0
  178. package/lib/modules/components/tab-frame/index.d.ts +12 -0
  179. package/lib/modules/components/tab-frame/index.js +57 -0
  180. package/lib/modules/connection-gateway/components/computer/index.css +1 -0
  181. package/lib/modules/connection-gateway/components/phone/index.css +1 -1
  182. package/lib/modules/connection-gateway/index.d.ts +2 -9
  183. package/lib/modules/connection-gateway/store.d.ts +3 -11
  184. package/lib/modules/connection-gateway/store.js +1 -17
  185. package/lib/modules/connection-gateway/view.js +21 -4
  186. package/lib/modules/control-bar/components/cloud-recording-buttons.js +1 -1
  187. package/lib/modules/control-bar/index.d.ts +2 -16
  188. package/lib/modules/control-bar/index.js +10 -19
  189. package/lib/modules/control-bar/store.d.ts +3 -16
  190. package/lib/modules/control-bar/store.js +23 -5
  191. package/lib/modules/control-bar/view.js +17 -10
  192. package/lib/modules/device-pretest/settings/virtual-background-setting.js +1 -1
  193. package/lib/modules/dialog/components/Interpreter/electron.js +3 -25
  194. package/lib/modules/dialog/components/Interpreter/index.js +14 -43
  195. package/lib/modules/dialog/components/chat/electron.d.ts +1 -1
  196. package/lib/modules/dialog/components/chat/electron.js +6 -13
  197. package/lib/modules/dialog/components/chat/index.d.ts +1 -4
  198. package/lib/modules/dialog/components/chat/index.js +35 -41
  199. package/lib/modules/dialog/components/confirm/index.js +6 -7
  200. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +1 -1
  201. package/lib/modules/dialog/components/connection-gateway/electron.js +9 -28
  202. package/lib/modules/dialog/components/connection-gateway/index.d.ts +0 -1
  203. package/lib/modules/dialog/components/connection-gateway/index.js +11 -56
  204. package/lib/modules/dialog/components/control-bar/index.js +6 -7
  205. package/lib/modules/dialog/components/device-setting/electron.js +4 -26
  206. package/lib/modules/dialog/components/device-setting/index.js +13 -41
  207. package/lib/modules/dialog/components/invite/index.js +16 -35
  208. package/lib/modules/dialog/components/live-streaming/index.js +18 -53
  209. package/lib/modules/dialog/components/participant/electron.js +4 -17
  210. package/lib/modules/dialog/components/participant/index.js +35 -26
  211. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +3 -6
  212. package/lib/modules/dialog/components/remove-admit-waiting-room/index.d.ts +1 -1
  213. package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +4 -14
  214. package/lib/modules/dialog/components/share-screen-selection/index.js +20 -5
  215. package/lib/modules/dialog/components/system-preference/electron.js +5 -8
  216. package/lib/modules/dialog/components/system-preference/index.js +4 -15
  217. package/lib/modules/dialog/components/toast/index.js +8 -12
  218. package/lib/modules/dialog/dialogs.js +2 -1
  219. package/lib/modules/dialog/hooks/useElectron.d.ts +6 -0
  220. package/lib/modules/dialog/hooks/useElectron.js +51 -9
  221. package/lib/modules/dialog/index.css +0 -2
  222. package/lib/modules/dialog/index.d.ts +2 -17
  223. package/lib/modules/dialog/store.d.ts +7 -39
  224. package/lib/modules/dialog/store.js +53 -152
  225. package/lib/modules/dialog/types/index.d.ts +59 -0
  226. package/lib/modules/event-confirm/view.js +4 -1
  227. package/lib/modules/invite/view.d.ts +4 -0
  228. package/lib/modules/invite/view.js +18 -22
  229. package/lib/modules/invite/voip-invite.js +3 -3
  230. package/lib/modules/layout/components/Aside.js +11 -1
  231. package/lib/modules/layout/components/Carousel.js +1 -1
  232. package/lib/modules/layout/components/Layout.js +7 -4
  233. package/lib/modules/layout/components/index.css +6 -1
  234. package/lib/modules/layout/index.js +8 -7
  235. package/lib/modules/layout/member-window/index.css +22 -9
  236. package/lib/modules/layout/member-window/index.js +16 -3
  237. package/lib/modules/layout/store.d.ts +1 -1
  238. package/lib/modules/layout/store.js +1 -7
  239. package/lib/modules/layout/video-window-datasource.js +11 -3
  240. package/lib/modules/notification/index.css +1 -0
  241. package/lib/modules/participant/attendee/index.css +1 -0
  242. package/lib/modules/participant/attendee/index.js +2 -1
  243. package/lib/modules/participant/components/drop-menu/index.css +1 -0
  244. package/lib/modules/participant/components/drop-menu/index.js +9 -9
  245. package/lib/modules/participant/index.css +5 -0
  246. package/lib/modules/participant/index.d.ts +2 -17
  247. package/lib/modules/participant/index.dev.js +38 -27
  248. package/lib/modules/participant/store.d.ts +4 -17
  249. package/lib/modules/participant/store.js +13 -13
  250. package/lib/modules/setting/audio-settings/audio-settings.js +13 -10
  251. package/lib/modules/setting/audio-settings/index.css +26 -1
  252. package/lib/modules/setting/general-settings/index.css +1 -1
  253. package/lib/modules/setting/index.css +2 -1
  254. package/lib/modules/setting/index.d.ts +2 -15
  255. package/lib/modules/setting/index.dev.js +19 -10
  256. package/lib/modules/setting/store.d.ts +5 -18
  257. package/lib/modules/setting/store.js +48 -20
  258. package/lib/modules/setting/translate-settings/index.css +3 -1
  259. package/lib/modules/setting/video-settings/index.css +5 -2
  260. package/lib/modules/share-screen/index.dev.js +20 -19
  261. package/lib/modules/share-screen/selection/index.css +2 -0
  262. package/lib/modules/share-screen/selection/index.js +83 -97
  263. package/lib/modules/share-screen/store.js +16 -36
  264. package/lib/modules/sound-effect/index.d.ts +2 -13
  265. package/lib/modules/sound-effect/index.js +1 -2
  266. package/lib/modules/state-bar/index.css +13 -2
  267. package/lib/modules/state-bar/index.d.ts +1 -5
  268. package/lib/modules/state-bar/index.dev.js +1 -1
  269. package/lib/modules/state-bar/index.js +0 -27
  270. package/lib/modules/state-bar/layout-config.js +1 -1
  271. package/lib/modules/state-bar/meeting-network-state.css +1 -1
  272. package/lib/modules/state-bar/recording.js +7 -4
  273. package/lib/modules/state-bar/view.js +1 -1
  274. package/lib/modules/video-window/index.d.ts +2 -2
  275. package/lib/modules/video-window/store.d.ts +2 -1
  276. package/lib/modules/video-window/store.js +2 -2
  277. package/lib/modules/waiting-room-layout/index.css +1 -3
  278. package/lib/modules/waiting-room-layout/index.d.ts +3 -1
  279. package/lib/modules/waiting-room-layout/index.js +10 -3
  280. package/lib/modules/whiteboard/index.d.ts +2 -13
  281. package/lib/modules/whiteboard/index.js +4 -5
  282. package/lib/providers/device-privilege-provider.d.ts +30 -0
  283. package/lib/providers/device-privilege-provider.js +386 -0
  284. package/lib/providers/device-provider.d.ts +246 -0
  285. package/lib/providers/device-provider.js +1741 -0
  286. package/lib/providers/device-stream-provider.d.ts +36 -0
  287. package/lib/providers/device-stream-provider.js +460 -0
  288. package/lib/providers/event-provider.d.ts +108 -0
  289. package/lib/providers/event-provider.js +288 -0
  290. package/lib/providers/interpreter-provider.d.ts +25 -0
  291. package/lib/providers/interpreter-provider.js +151 -0
  292. package/lib/providers/local-storage-provider.d.ts +8 -0
  293. package/lib/providers/local-storage-provider.js +31 -0
  294. package/lib/providers/monitor-provider.d.ts +15 -0
  295. package/lib/providers/monitor-provider.js +29 -0
  296. package/lib/providers/privilege-provider.d.ts +216 -0
  297. package/lib/providers/privilege-provider.js +966 -0
  298. package/lib/providers/renderer-provider.d.ts +43 -0
  299. package/lib/providers/renderer-provider.js +245 -0
  300. package/lib/providers/room-provider.d.ts +79 -0
  301. package/lib/providers/room-provider.js +439 -0
  302. package/lib/providers/session-provider.d.ts +26 -0
  303. package/lib/providers/session-provider.js +49 -0
  304. package/lib/runtime.d.ts +1 -1
  305. package/lib/scenes/base.d.ts +10 -0
  306. package/lib/scenes/base.js +75 -0
  307. package/lib/scenes/main-scene.d.ts +48 -0
  308. package/lib/scenes/main-scene.js +390 -0
  309. package/lib/scenes/waiting-scene.d.ts +31 -0
  310. package/lib/scenes/waiting-scene.js +129 -0
  311. package/lib/shared-data-source/config.d.ts +16 -0
  312. package/lib/shared-data-source/config.js +21 -0
  313. package/lib/type.d.ts +26 -1
  314. package/lib/ui-manager.d.ts +3 -0
  315. package/lib/ui-manager.js +154 -233
  316. package/lib/ui-node.d.ts +25 -0
  317. package/lib/ui-node.js +156 -0
  318. package/lib/utilities/constant.d.ts +15 -15
  319. package/lib/utilities/constant.js +15 -15
  320. package/lib/utilities/tools.d.ts +2 -0
  321. package/lib/utilities/tools.js +42 -10
  322. package/package.json +12 -11
  323. package/public/assets/fcr_leave2.svg +58 -0
  324. package/public/index.html +150 -13
package/public/index.html CHANGED
@@ -4,6 +4,66 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Meeting</title>
7
+ <style>
8
+ #fcr-launch-failure-comp {
9
+ width: 100vw;
10
+ height: 100vh;
11
+ background-color: rgba(144, 144, 144, 0.6);
12
+ position: fixed;
13
+ z-index: 9999;
14
+ top: 0px;
15
+ left: 0px;
16
+ display: flex;
17
+ justify-content: center;
18
+ align-items: center;
19
+ }
20
+
21
+ .fcr-launch-failure-comp-modal {
22
+ width: 320px;
23
+ height: 374px;
24
+ background-color: rgba(255, 255, 255, 0.85);
25
+ border-radius: 24px;
26
+ display: flex;
27
+ box-shadow: 0px 0px 15px 0px rgba(151, 151, 151, 0.25);
28
+ border: 1px solid #e3e7efff;
29
+ display: flex;
30
+ flex-direction: column;
31
+ }
32
+
33
+ .fcr-launch-failure-comp-banner {
34
+ margin: 0 auto;
35
+ width: 280px;
36
+ align-self: flex-start;
37
+ }
38
+
39
+ .fcr-launch-failure-comp-info {
40
+ text-align: center;
41
+ margin-top: 24px;
42
+ margin-bottom: 20px;
43
+ color: rgba(55, 60, 66, 1);
44
+ }
45
+
46
+ .fcr-launch-failure-comp-h {
47
+ font-weight: 600;
48
+ margin-bottom: 12px;
49
+ }
50
+
51
+ .fcr-launch-failure-comp-desc {
52
+ font-weight: 400;
53
+ }
54
+
55
+ .fcr-confirm-btn {
56
+ width: 280px;
57
+ height: 36px;
58
+ background-color: rgba(66, 98, 255, 1);
59
+ color: #ffffff;
60
+ text-align: center;
61
+ line-height: 36px;
62
+ border-radius: 50px;
63
+ margin: 0 auto;
64
+ cursor: pointer;
65
+ }
66
+ </style>
7
67
  </head>
8
68
 
9
69
  <body style="background: rgb(251, 252, 255)">
@@ -13,8 +73,58 @@
13
73
  <img src="assets/loading.gif" alt="loading" width="128" height="128" />
14
74
  </div>
15
75
  <div id="root"></div>
76
+ <div id="fcr-launch-failure-comp" style="display: none">
77
+ <div class="fcr-launch-failure-comp-modal">
78
+ <img class="fcr-launch-failure-comp-banner" src="./assets/fcr_leave2.svg" />
79
+ <div class="fcr-launch-failure-comp-info">
80
+ <div class="fcr-launch-failure-comp-h">
81
+ <span id="fcr-launch-failure-comp-title">Launch Failure</span>
82
+ </div>
83
+ <div id="fcr-launch-failure-error-info" class="fcr-launch-failure-comp-desc"></div>
84
+ </div>
85
+ <div id="fcr-launch-failure-confirm-btn" class="fcr-confirm-btn">
86
+ <span id="fcr-launch-failure-btn-text">I know</span>
87
+ </div>
88
+ </div>
89
+ </div>
16
90
  </body>
17
91
  <script>
92
+ window.enLangResource = {
93
+ fmt_role_host: 'Host',
94
+ fmt_statusbar_label_unknown: 'unknown error',
95
+ fmt_information_tips_lockedbyhost:
96
+ 'The {reason1} has locked the meeting and no one else is allowed to join',
97
+ };
98
+
99
+ window.zhLangResource = {
100
+ fmt_role_host: '主持人',
101
+ fmt_statusbar_label_unknown: '未知错误',
102
+ fmt_information_tips_lockedbyhost: '{reason1}锁定了会议,其他人不可入会',
103
+ };
104
+
105
+ function replacePlaceholders(str, obj) {
106
+ // 使用正则表达式匹配所有的占位符
107
+ return str.replace(/{([^}]+)}/g, (match, key) => {
108
+ // 检查对象中是否存在该键
109
+ if (obj.hasOwnProperty(key.trim())) {
110
+ // 如果存在,返回对应的值
111
+ return obj[key.trim()];
112
+ }
113
+ // 如果不存在,返回原始的占位符
114
+ return match;
115
+ });
116
+ }
117
+
118
+ window._transI18n = (key, replaceKeys) => {
119
+ const currentLang = window.$$agora_language === 'zh' ? 'zh' : 'en';
120
+ const langResource = window[`${currentLang}LangResource`];
121
+ let res = langResource[key];
122
+ if (res) {
123
+ res = replacePlaceholders(res, replaceKeys);
124
+ }
125
+ return res;
126
+ };
127
+
18
128
  const setLoading = (visible) => {
19
129
  const dom = document.querySelector('#launch-loading');
20
130
  if (dom) {
@@ -25,9 +135,31 @@
25
135
  }
26
136
  }
27
137
  };
28
-
138
+ const setFullScreenFailureComp = (visible, errorMsg) => {
139
+ setLoading(false);
140
+ const dom = document.querySelector('#fcr-launch-failure-comp');
141
+ const titleDom = document.querySelector('#fcr-launch-failure-comp-title');
142
+ const btnTextDom = document.querySelector('#fcr-launch-failure-btn-text');
143
+ if (dom) {
144
+ if (visible) {
145
+ dom.style.display = 'flex';
146
+ titleDom.innerText = window.$$agora_language === 'zh' ? '启动错误' : 'Launch Failure';
147
+ btnTextDom.innerText = window.$$agora_language === 'zh' ? '我已知悉' : 'I know';
148
+ if (errorMsg) {
149
+ const msgDom = document.querySelector('#fcr-launch-failure-error-info');
150
+ msgDom.innerText = errorMsg;
151
+ }
152
+ } else {
153
+ dom.style.display = 'none';
154
+ }
155
+ }
156
+ };
29
157
  (async () => {
30
158
  setLoading(true);
159
+ document.querySelector('#fcr-launch-failure-confirm-btn').addEventListener('click', () => {
160
+ setFullScreenFailureComp(false);
161
+ window.runtime.quitApp();
162
+ });
31
163
  const launchOptions = await window.runtime.getLaunchOptions();
32
164
  let launchOptionsObj = launchOptions;
33
165
  try {
@@ -60,24 +192,29 @@
60
192
  () => {
61
193
  window.runtime.quitApp();
62
194
  },
63
- () => {
64
- document.querySelector('title').innerText =
65
- window.$$agora_language === 'zh'
66
- ? '参会者ID:' + userId
67
- : 'Meeting Participant ID:' + userId;
68
- },
69
- () => {
70
- window.runtime.quitApp();
71
- },
195
+ () => {},
196
+ () => {},
72
197
  document.getElementById('root'),
73
198
  );
74
199
  uiScene.addObserver({
75
200
  onLaunchSuccess: () => {
76
201
  setLoading(false);
202
+ document.querySelector('title').innerText =
203
+ window.$$agora_language === 'zh'
204
+ ? '参会者ID:' + userId
205
+ : 'Meeting Participant ID:' + userId;
77
206
  },
78
- onLaunchFailure: () => {
79
- setLoading(false);
80
- window.runtime.quitApp();
207
+ onLaunchFailure: (roomId, error) => {
208
+ const errorCode = Number(error.code);
209
+ if (errorCode === 732403100) {
210
+ const lockErrorMsg = window._transI18n('fmt_information_tips_lockedbyhost', {
211
+ reason1: window._transI18n('fmt_role_host'),
212
+ });
213
+ setFullScreenFailureComp(true, lockErrorMsg);
214
+ } else {
215
+ const errorMsg = window._transI18n('fmt_statusbar_label_unknown');
216
+ setFullScreenFailureComp(true, errorMsg);
217
+ }
81
218
  },
82
219
  onExited: (reason) => {
83
220
  window.runtime.quitApp();