fcr-ui-scene 3.5.1 → 3.6.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 (395) hide show
  1. package/lib/creator.d.ts +14 -0
  2. package/lib/creator.js +239 -14
  3. package/lib/electron/app.js +0 -21
  4. package/lib/electron/bootstrap-sdk.js +145 -7
  5. package/lib/electron/injections.d.ts +19 -7
  6. package/lib/electron/injections.js +206 -77
  7. package/lib/electron/ipc/ipc.d.ts +26 -0
  8. package/lib/electron/ipc/ipc.js +137 -0
  9. package/lib/electron/ipc/type.d.ts +11 -0
  10. package/lib/electron/ipc/type.js +19 -0
  11. package/lib/electron/logger.js +1 -1
  12. package/lib/electron/main.js +1 -1
  13. package/lib/electron/plugins/meeting-state.d.ts +1 -0
  14. package/lib/electron/plugins/meeting-state.js +3 -3
  15. package/lib/electron/plugins/screenshot.js +2 -2
  16. package/lib/electron/preload.js +67 -5
  17. package/lib/electron/window.js +0 -2
  18. package/lib/global.css +39 -0
  19. package/lib/modules/action-bar/components/apps/index.js +1 -0
  20. package/lib/modules/action-bar/components/apps/useWidgetList.js +1 -1
  21. package/lib/modules/action-bar/components/board/index.js +0 -2
  22. package/lib/modules/action-bar/components/breakout-room/index.js +0 -2
  23. package/lib/modules/action-bar/components/item/index.d.ts +2 -0
  24. package/lib/modules/action-bar/components/item/index.js +4 -2
  25. package/lib/modules/action-bar/components/leave/index.js +2 -12
  26. package/lib/modules/action-bar/components/more/index.js +1 -0
  27. package/lib/modules/action-bar/components/more/poppover-content.js +6 -9
  28. package/lib/modules/action-bar/components/participants/index.js +1 -9
  29. package/lib/modules/action-bar/components/record/index.js +43 -106
  30. package/lib/modules/action-bar/components/record/popover.d.ts +4 -0
  31. package/lib/modules/action-bar/components/record/popover.js +57 -0
  32. package/lib/modules/action-bar/components/record/stop-record-dialog.js +1 -0
  33. package/lib/modules/action-bar/components/screen-share/index.js +11 -3
  34. package/lib/modules/action-bar/components/screen-share/submenu.js +2 -2
  35. package/lib/modules/action-bar/components/security/index.js +2 -1
  36. package/lib/modules/action-bar/components/smaller/index.js +1 -1
  37. package/lib/modules/action-bar/components/trigger-output-language/index.js +17 -22
  38. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +2 -1
  39. package/lib/modules/action-bar/index.css +3 -2
  40. package/lib/modules/action-bar/index.js +2 -1
  41. package/lib/modules/action-bar/store.d.ts +5 -2
  42. package/lib/modules/action-bar/store.js +34 -22
  43. package/lib/modules/action-bar/types.d.ts +1 -0
  44. package/lib/modules/action-bar/view.js +1 -1
  45. package/lib/modules/audio-stream/index.js +4 -4
  46. package/lib/modules/chat/chat-room-store.js +4 -5
  47. package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
  48. package/lib/modules/chat/components/chat-bar/index.js +5 -3
  49. package/lib/modules/chat/components/chat-select/select-item/index.js +1 -1
  50. package/lib/modules/chat/components/message-list/index.js +1 -2
  51. package/lib/modules/chat/components/message-list/message-item/index.d.ts +0 -1
  52. package/lib/modules/chat/components/message-list/message-item/index.js +9 -10
  53. package/lib/modules/chat/index.css +24 -0
  54. package/lib/modules/chat/view.js +13 -3
  55. package/lib/modules/components/device-control/components/carmera/index.js +4 -5
  56. package/lib/modules/components/device-control/components/microphone/index.js +4 -5
  57. package/lib/modules/components/device-control/index.css +6 -3
  58. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -4
  59. package/lib/modules/components/leave-meeting/components/index.css +35 -0
  60. package/lib/modules/components/leave-meeting/index.js +1 -0
  61. package/lib/modules/components/leave-meeting/store.js +25 -67
  62. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +3 -2
  63. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +1 -2
  64. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +10 -9
  65. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  66. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +1 -1
  67. package/lib/modules/components/member-window/components/member-actions/index.js +2 -4
  68. package/lib/modules/components/member-window/components/member-actions/libs/index.js +0 -1
  69. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +1 -1
  70. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +4 -16
  71. package/lib/modules/components/member-window/index.css +19 -7
  72. package/lib/modules/components/member-window/index.js +0 -1
  73. package/lib/modules/components/member-window/types.d.ts +1 -1
  74. package/lib/modules/components/security-menu/index.css +2 -2
  75. package/lib/modules/components/security-menu/index.js +80 -28
  76. package/lib/modules/components/tab-frame/index.css +1 -1
  77. package/lib/modules/connection-gateway/components/phone/index.js +1 -1
  78. package/lib/modules/control-bar/components/meeting-details/index.css +1 -1
  79. package/lib/modules/control-bar/components/meeting-details/index.js +15 -9
  80. package/lib/modules/control-bar/components/more-actions/index.js +3 -21
  81. package/lib/modules/control-bar/components/share-state-nav/index.js +4 -20
  82. package/lib/modules/control-bar/index.d.ts +2 -0
  83. package/lib/modules/control-bar/index.js +3 -1
  84. package/lib/modules/control-bar/store.d.ts +12 -3
  85. package/lib/modules/control-bar/store.js +106 -98
  86. package/lib/modules/control-bar/view.js +1 -6
  87. package/lib/modules/device-pretest/audio-preview/speaker-detection.js +1 -1
  88. package/lib/modules/dialog/components/chat/electron.d.ts +1 -3
  89. package/lib/modules/dialog/components/chat/index.js +24 -17
  90. package/lib/modules/dialog/components/confirm-leave-meeting/index.d.ts +6 -0
  91. package/lib/modules/dialog/components/confirm-leave-meeting/index.js +86 -0
  92. package/lib/modules/dialog/components/control-bar/index.d.ts +1 -2
  93. package/lib/modules/dialog/components/control-bar/index.js +5 -17
  94. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  95. package/lib/modules/dialog/components/dialog-container/component/body.js +4 -2
  96. package/lib/modules/dialog/components/dialog-container/index.css +18 -1
  97. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  98. package/lib/modules/dialog/components/dialog-container/index.js +3 -1
  99. package/lib/modules/dialog/components/participant/index.d.ts +0 -1
  100. package/lib/modules/dialog/components/participant/index.js +15 -24
  101. package/lib/modules/dialog/components/pre-setting/electron.d.ts +2 -0
  102. package/lib/modules/dialog/components/pre-setting/electron.js +51 -0
  103. package/lib/modules/dialog/components/pre-setting/index.css +26 -0
  104. package/lib/modules/dialog/components/pre-setting/index.d.ts +6 -0
  105. package/lib/modules/dialog/components/pre-setting/index.js +38 -0
  106. package/lib/modules/dialog/components/pre-setting-container/component/body.d.ts +8 -0
  107. package/lib/modules/dialog/components/pre-setting-container/component/body.js +80 -0
  108. package/lib/modules/dialog/components/pre-setting-container/index.css +82 -0
  109. package/lib/modules/dialog/components/pre-setting-container/index.d.ts +18 -0
  110. package/lib/modules/dialog/components/pre-setting-container/index.js +117 -0
  111. package/lib/modules/dialog/components/rename/index.d.ts +4 -0
  112. package/lib/modules/dialog/components/rename/index.js +72 -0
  113. package/lib/modules/dialog/components/share-screen-selection/index.js +1 -2
  114. package/lib/modules/dialog/components/video-window/index.js +18 -16
  115. package/lib/modules/dialog/components/widget/electron.d.ts +2 -1
  116. package/lib/modules/dialog/components/widget/electron.js +3 -2
  117. package/lib/modules/dialog/components/widget/index.d.ts +2 -1
  118. package/lib/modules/dialog/components/widget/index.js +4 -6
  119. package/lib/modules/dialog/dialogs.d.ts +1 -0
  120. package/lib/modules/dialog/dialogs.js +3 -2
  121. package/lib/modules/dialog/hooks/useElectron.d.ts +2 -0
  122. package/lib/modules/dialog/hooks/useElectron.js +22 -101
  123. package/lib/modules/dialog/index.d.ts +2 -0
  124. package/lib/modules/dialog/index.js +2 -2
  125. package/lib/modules/dialog/store.d.ts +8 -3
  126. package/lib/modules/dialog/store.js +38 -26
  127. package/lib/modules/dialog/type.d.ts +1 -0
  128. package/lib/modules/dialog/view.js +2 -1
  129. package/lib/modules/event-confirm/index.d.ts +2 -0
  130. package/lib/modules/event-confirm/index.js +2 -1
  131. package/lib/modules/event-confirm/store.d.ts +9 -1
  132. package/lib/modules/event-confirm/store.js +100 -8
  133. package/lib/modules/event-confirm/view.js +55 -46
  134. package/lib/modules/{sound-effect → event-sound}/index.d.ts +3 -2
  135. package/lib/modules/{sound-effect → event-sound}/index.js +9 -5
  136. package/lib/modules/event-toast/store.js +6 -1
  137. package/lib/modules/interpreter/dialog-content/index.js +4 -1
  138. package/lib/modules/interpreter/index.d.ts +2 -0
  139. package/lib/modules/interpreter/index.js +2 -1
  140. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -0
  141. package/lib/modules/interpreter/store.d.ts +2 -2
  142. package/lib/modules/interpreter/store.js +30 -24
  143. package/lib/modules/interpreter/type.d.ts +2 -0
  144. package/lib/modules/invite/components/pstn-invite.js +2 -25
  145. package/lib/modules/invite/components/voip-invite.css +26 -0
  146. package/lib/modules/invite/components/voip-invite.d.ts +1 -0
  147. package/lib/modules/invite/components/voip-invite.js +8 -11
  148. package/lib/modules/invite/index.css +16 -3
  149. package/lib/modules/invite/index.d.ts +2 -1
  150. package/lib/modules/invite/index.js +2 -1
  151. package/lib/modules/invite/store.d.ts +5 -1
  152. package/lib/modules/invite/store.js +8 -1
  153. package/lib/modules/layout/components/Aside.js +0 -1
  154. package/lib/modules/layout/components/Carousel.d.ts +1 -1
  155. package/lib/modules/layout/components/Carousel.js +16 -118
  156. package/lib/modules/layout/components/CommonVideoRenderer.d.ts +13 -0
  157. package/lib/modules/layout/components/CommonVideoRenderer.js +214 -0
  158. package/lib/modules/layout/components/Gallery.d.ts +1 -0
  159. package/lib/modules/layout/components/Gallery.js +62 -205
  160. package/lib/modules/layout/components/index.css +17 -34
  161. package/lib/modules/layout/index.d.ts +2 -0
  162. package/lib/modules/layout/index.js +2 -1
  163. package/lib/modules/layout/store.d.ts +5 -2
  164. package/lib/modules/layout/store.js +53 -39
  165. package/lib/modules/layout/type.d.ts +4 -0
  166. package/lib/modules/layout/type.js +6 -1
  167. package/lib/modules/live-streaming/store.d.ts +1 -0
  168. package/lib/modules/live-streaming/store.js +19 -8
  169. package/lib/modules/participant/components/confirm-input/index.d.ts +4 -4
  170. package/lib/modules/participant/components/confirm-input/index.js +74 -6
  171. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +27 -3
  172. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +4 -0
  173. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +3 -4
  174. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +4 -3
  175. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +1 -0
  176. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +9 -1
  177. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +1 -1
  178. package/lib/modules/participant/components/participants/components/participants/index.css +1 -0
  179. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +18 -0
  180. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +12 -5
  181. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +1 -8
  182. package/lib/modules/participant/index.css +6 -0
  183. package/lib/modules/participant/index.d.ts +1 -0
  184. package/lib/modules/participant/index.js +9 -0
  185. package/lib/modules/participant/store.d.ts +6 -0
  186. package/lib/modules/participant/store.js +130 -96
  187. package/lib/modules/pc-audio-connect/store.js +3 -2
  188. package/lib/modules/phone-audio-connect/index.d.ts +2 -0
  189. package/lib/modules/phone-audio-connect/index.js +2 -1
  190. package/lib/modules/phone-audio-connect/store.d.ts +4 -1
  191. package/lib/modules/phone-audio-connect/store.js +4 -2
  192. package/lib/modules/setting/audio-settings/audio-settings.js +70 -48
  193. package/lib/modules/setting/audio-settings/index.css +23 -6
  194. package/lib/modules/setting/general-settings/general-settings.d.ts +1 -2
  195. package/lib/modules/setting/general-settings/general-settings.js +111 -37
  196. package/lib/modules/setting/general-settings/index.css +15 -0
  197. package/lib/modules/setting/index.d.ts +4 -1
  198. package/lib/modules/setting/index.js +7 -4
  199. package/lib/modules/setting/state/index.js +1 -1
  200. package/lib/modules/setting/store.d.ts +24 -11
  201. package/lib/modules/setting/store.js +203 -142
  202. package/lib/modules/setting/video-settings/index.css +13 -2
  203. package/lib/modules/setting/video-settings/video-settings-basic.js +18 -27
  204. package/lib/modules/setting/video-settings/video-settings.d.ts +0 -2
  205. package/lib/modules/setting/video-settings/video-settings.js +3 -2
  206. package/lib/modules/setting/view.d.ts +11 -2
  207. package/lib/modules/setting/view.js +93 -71
  208. package/lib/modules/share-screen/components/selection/index.js +6 -2
  209. package/lib/modules/share-screen/index.d.ts +4 -1
  210. package/lib/modules/share-screen/index.js +3 -1
  211. package/lib/modules/share-screen/store.d.ts +15 -5
  212. package/lib/modules/share-screen/store.js +105 -59
  213. package/lib/modules/share-screen/view.js +1 -1
  214. package/lib/modules/state-bar/index.css +4 -2
  215. package/lib/modules/state-bar/index.d.ts +2 -0
  216. package/lib/modules/state-bar/index.js +2 -1
  217. package/lib/modules/state-bar/layout-config.js +1 -0
  218. package/lib/modules/state-bar/live-streaming-state.js +1 -0
  219. package/lib/modules/state-bar/meeting-detail.css +10 -1
  220. package/lib/modules/state-bar/meeting-details.js +35 -25
  221. package/lib/modules/state-bar/meeting-network-state.css +8 -0
  222. package/lib/modules/state-bar/meeting-time.js +9 -20
  223. package/lib/modules/state-bar/store.d.ts +5 -1
  224. package/lib/modules/state-bar/store.js +10 -3
  225. package/lib/modules/state-bar/view.js +17 -6
  226. package/lib/modules/video-window/components/members/index.js +0 -3
  227. package/lib/modules/waiting-room-layout/index.css +13 -0
  228. package/lib/modules/waiting-room-layout/index.d.ts +2 -1
  229. package/lib/modules/waiting-room-layout/index.js +2 -1
  230. package/lib/modules/waiting-room-layout/store.d.ts +12 -1
  231. package/lib/modules/waiting-room-layout/store.js +42 -6
  232. package/lib/modules/waiting-room-layout/view.js +22 -5
  233. package/lib/modules/whiteboard/components/control-bar/index.css +1 -1
  234. package/lib/modules/whiteboard/components/control-bar/index.js +0 -2
  235. package/lib/modules/whiteboard/components/scene-pagination.js +0 -2
  236. package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +1 -1
  237. package/lib/modules/whiteboard/components/switch-theme/libs.js +3 -1
  238. package/lib/modules/whiteboard/components/toolbar/ style.css +1 -0
  239. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/color.js +1 -2
  240. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +1 -0
  241. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +1 -0
  242. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +3 -14
  243. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.d.ts +1 -0
  244. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +83 -0
  245. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -2
  246. package/lib/modules/whiteboard/components/toolbar/components/history.js +3 -3
  247. package/lib/modules/whiteboard/components/toolbar/components/item/index.d.ts +1 -0
  248. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +42 -0
  249. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -2
  250. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +2 -2
  251. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +3 -3
  252. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +6 -6
  253. package/lib/modules/whiteboard/components/toolbar/index.js +9 -113
  254. package/lib/modules/whiteboard/components/toolbar/store.d.ts +18 -0
  255. package/lib/modules/whiteboard/components/toolbar/store.js +276 -83
  256. package/lib/modules/whiteboard/context.d.ts +1 -2
  257. package/lib/modules/whiteboard/index.d.ts +1 -14
  258. package/lib/modules/whiteboard/index.js +131 -426
  259. package/lib/modules/whiteboard/view.js +12 -10
  260. package/lib/modules/widget/sdk.js +2 -2
  261. package/lib/object-manager.d.ts +8 -0
  262. package/lib/object-manager.js +75 -0
  263. package/lib/plugins/browser-runtime-plugin.js +19 -14
  264. package/lib/providers/ability-provider.d.ts +8 -0
  265. package/lib/providers/ability-provider.js +14 -0
  266. package/lib/providers/device-privilege-provider.d.ts +1 -0
  267. package/lib/providers/device-privilege-provider.js +53 -75
  268. package/lib/providers/device-provider.d.ts +18 -8
  269. package/lib/providers/device-provider.js +378 -206
  270. package/lib/providers/device-stream-provider.js +0 -4
  271. package/lib/providers/dialog-provider.d.ts +1 -0
  272. package/lib/providers/dialog-provider.js +4 -18
  273. package/lib/providers/event-provider.js +45 -2
  274. package/lib/providers/interpreter-provider.d.ts +4 -0
  275. package/lib/providers/interpreter-provider.js +166 -137
  276. package/lib/providers/message-provider.js +44 -2
  277. package/lib/providers/privilege-provider.d.ts +33 -0
  278. package/lib/providers/privilege-provider.js +120 -45
  279. package/lib/providers/room-provider.d.ts +12 -10
  280. package/lib/providers/room-provider.js +162 -262
  281. package/lib/providers/screen-share-provider.d.ts +4 -0
  282. package/lib/providers/screen-share-provider.js +3 -6
  283. package/lib/providers/widget-provider.js +6 -4
  284. package/lib/runtime.d.ts +20 -8
  285. package/lib/scenes/main-scene.d.ts +2 -0
  286. package/lib/scenes/main-scene.js +95 -37
  287. package/lib/scenes/waiting-scene.js +16 -13
  288. package/lib/schema.d.ts +55 -32
  289. package/lib/schema.js +23 -9
  290. package/lib/shared-data-source/config.d.ts +6 -2
  291. package/lib/shared-data-source/config.js +81 -10
  292. package/lib/shared-data-source/meeting-time.js +2 -2
  293. package/lib/shared-data-source/member-data.d.ts +16 -20
  294. package/lib/shared-data-source/member-data.js +121 -110
  295. package/lib/shared-data-source/screen-share-data-source.d.ts +37 -0
  296. package/lib/shared-data-source/screen-share-data-source.js +134 -0
  297. package/lib/shared-data-source/security-data.d.ts +1 -0
  298. package/lib/shared-data-source/security-data.js +3 -5
  299. package/lib/shared-data-source/setting.d.ts +1 -0
  300. package/lib/shared-data-source/setting.js +33 -17
  301. package/lib/shared-data-source/video-window.d.ts +3 -4
  302. package/lib/shared-data-source/video-window.js +58 -48
  303. package/lib/translations/enUS.d.ts +48 -1
  304. package/lib/translations/enUS.js +101 -17
  305. package/lib/translations/zhCN.d.ts +48 -1
  306. package/lib/translations/zhCN.js +88 -4
  307. package/lib/type.d.ts +40 -20
  308. package/lib/type.js +14 -1
  309. package/lib/ui-manager.d.ts +11 -9
  310. package/lib/ui-manager.js +118 -29
  311. package/lib/ui-scene.d.ts +7 -4
  312. package/lib/ui-scene.js +111 -130
  313. package/lib/utilities/constant.d.ts +3 -1
  314. package/lib/utilities/constant.js +2 -0
  315. package/lib/utilities/copyText.js +15 -11
  316. package/lib/utilities/default-config.d.ts +2 -0
  317. package/lib/utilities/default-config.js +11 -5
  318. package/lib/utilities/i18n-common-data.d.ts +2 -0
  319. package/lib/utilities/i18n-common-data.js +15 -0
  320. package/lib/utilities/logger.d.ts +0 -1
  321. package/lib/utilities/logger.js +3 -4
  322. package/lib/utilities/renderer.d.ts +0 -9
  323. package/lib/utilities/renderer.js +1 -70
  324. package/lib/utilities/screen.js +3 -1
  325. package/lib/utilities/setting-config-storage.d.ts +6 -1
  326. package/lib/utilities/setting-config-storage.js +21 -4
  327. package/lib/utilities/tools.d.ts +30 -6
  328. package/lib/utilities/tools.js +74 -44
  329. package/lib/utilities/ui-resources.d.ts +6 -0
  330. package/lib/utilities/ui-resources.js +47 -9
  331. package/lib/waiting-room-control-manager.d.ts +4 -4
  332. package/lib/waiting-room-control-manager.js +29 -9
  333. package/package.json +6 -6
  334. package/public/assets/browser/images/default1.jpg +0 -0
  335. package/public/assets/browser/images/default2.jpg +0 -0
  336. package/public/assets/browser/images/default3.jpg +0 -0
  337. package/public/assets/browser/images/default4.jpg +0 -0
  338. package/public/assets/browser/images/default5.jpg +0 -0
  339. package/public/assets/browser/images/default6.jpg +0 -0
  340. package/public/assets/browser/images/default7.jpg +0 -0
  341. package/public/assets/browser/sound_effects/pretest.mp3 +0 -0
  342. package/public/assets/browser/sound_effects/recording_started.mp3 +0 -0
  343. package/public/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
  344. package/public/assets/browser/sound_effects/speaker_test.mp3 +0 -0
  345. package/public/assets/browser/videos/default8.mp4 +0 -0
  346. package/public/assets/browser/videos/default9.mp4 +0 -0
  347. package/public/assets/electron/images/default1.jpg +0 -0
  348. package/public/assets/electron/images/default2.jpg +0 -0
  349. package/public/assets/electron/sound_effects/pretest.mp3 +0 -0
  350. package/public/assets/electron/videos/default8.mp4 +0 -0
  351. package/public/index.html +103 -82
  352. package/lib/hooks/meeting-time.d.ts +0 -15
  353. package/lib/hooks/meeting-time.js +0 -92
  354. package/lib/login-confirm-dialog.d.ts +0 -13
  355. package/lib/login-confirm-dialog.js +0 -85
  356. package/lib/modules/action-bar/components/apps/appitems.d.ts +0 -3
  357. package/lib/modules/action-bar/components/apps/appitems.js +0 -45
  358. package/lib/modules/components/member-window/components/member-board.d.ts +0 -2
  359. package/lib/modules/components/member-window/components/member-board.js +0 -63
  360. package/lib/modules/dialog/components/system-preference/bg1.png +0 -0
  361. package/lib/modules/dialog/components/system-preference/bg2.png +0 -0
  362. package/lib/modules/dialog/types/index.d.ts +0 -70
  363. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.d.ts +0 -6
  364. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.js +0 -28
  365. package/lib/modules/participant/components/attendee/components/user-avatar/index.d.ts +0 -7
  366. package/lib/modules/participant/components/attendee/components/user-avatar/index.js +0 -39
  367. package/lib/modules/participant/components/attendee/index.css +0 -69
  368. package/lib/modules/participant/components/attendee/index.d.ts +0 -4
  369. package/lib/modules/participant/components/attendee/index.js +0 -337
  370. package/lib/modules/participant/components/drop-menu/index.css +0 -60
  371. package/lib/modules/participant/components/drop-menu/index.d.ts +0 -2
  372. package/lib/modules/participant/components/drop-menu/index.js +0 -189
  373. package/lib/modules/participant/components/footer/buttons.d.ts +0 -6
  374. package/lib/modules/participant/components/footer/buttons.js +0 -52
  375. package/lib/modules/participant/components/footer/index.d.ts +0 -4
  376. package/lib/modules/participant/components/footer/index.js +0 -37
  377. package/lib/modules/participant/components/merge/index.d.ts +0 -11
  378. package/lib/modules/participant/components/merge/index.js +0 -49
  379. package/lib/modules/participant/components/rename/index.d.ts +0 -4
  380. package/lib/modules/participant/components/rename/index.js +0 -45
  381. package/lib/modules/participant/components/user-action/index.d.ts +0 -17
  382. package/lib/modules/participant/components/user-action/index.js +0 -169
  383. package/lib/modules/video-window/deviceState/index.d.ts +0 -16
  384. package/lib/modules/video-window/deviceState/index.js +0 -75
  385. package/lib/modules/video-window/members/index.css +0 -51
  386. package/lib/modules/video-window/members/index.d.ts +0 -2
  387. package/lib/modules/video-window/members/index.js +0 -157
  388. package/lib/modules/video-window/speaking/index.css +0 -69
  389. package/lib/modules/video-window/speaking/index.d.ts +0 -3
  390. package/lib/modules/video-window/speaking/index.js +0 -57
  391. package/lib/modules/video-window/topControl/index.css +0 -35
  392. package/lib/modules/video-window/topControl/index.d.ts +0 -3
  393. package/lib/modules/video-window/topControl/index.js +0 -92
  394. /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.d.ts +0 -0
  395. /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.js +0 -0
@@ -1,63 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.MemberBoard = void 0;
9
- var _mobxReact = require("mobx-react");
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _env = require("agora-foundation/lib/utilities/env");
12
- var _memberActions = require("./member-actions");
13
- var _jsxRuntime = require("react/jsx-runtime");
14
- var MemberBoard = exports.MemberBoard = (0, _mobxReact.observer)(function (_ref) {
15
- var slot = _ref.slot,
16
- isMask = _ref.isMask,
17
- onMaskDoubleClick = _ref.onMaskDoubleClick,
18
- windowData = _ref.windowData,
19
- allowedOperations = _ref.allowedOperations,
20
- showActionBottomLabel = _ref.showActionBottomLabel,
21
- isShowActionAudio = _ref.isShowActionAudio,
22
- actionAudioTag = _ref.actionAudioTag,
23
- hasPinnedStream = _ref.hasPinnedStream,
24
- localUserRole = _ref.localUserRole,
25
- sendParticipantEvent = _ref.sendParticipantEvent,
26
- muteAudio = _ref.muteAudio,
27
- openPrivateChat = _ref.openPrivateChat,
28
- setVideoOrientation = _ref.setVideoOrientation,
29
- interpreterUserList = _ref.interpreterUserList,
30
- isInterpreterEnabled = _ref.isInterpreterEnabled,
31
- openRenameDialog = _ref.openRenameDialog,
32
- id = _ref.id,
33
- volume = _ref.volume;
34
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
35
- className: (0, _classnames["default"])("fcr-member-board"),
36
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
37
- onDoubleClick: onMaskDoubleClick,
38
- className: (0, _classnames["default"])('fcr-member-board-mask', {
39
- 'fcr-member-board-mask-show': isMask
40
- })
41
- }), isMask && /*#__PURE__*/(0, _jsxRuntime.jsx)(_memberActions.MemberWindowActions, {
42
- isShowActionAudio: isShowActionAudio,
43
- actionAudioTag: actionAudioTag,
44
- showActionBottomLabel: showActionBottomLabel,
45
- allowedOperations: allowedOperations,
46
- setVideoOrientation: setVideoOrientation,
47
- hasPinnedStream: hasPinnedStream,
48
- localUserRole: localUserRole,
49
- sendParticipantEvent: sendParticipantEvent,
50
- muteAudio: muteAudio,
51
- openPrivateChat: openPrivateChat,
52
- windowSize: "large",
53
- windowData: windowData,
54
- iconSize: 24,
55
- showRotation: (0, _env.isElectron)(),
56
- interpreterUserList: interpreterUserList,
57
- isInterpreterEnabled: isInterpreterEnabled,
58
- handleRename: openRenameDialog,
59
- id: id,
60
- volume: volume
61
- }), slot]
62
- });
63
- });
@@ -1,70 +0,0 @@
1
- type FcrUIDialogHooksProps = {
2
- /**
3
- * @param dialogKey - dialog 窗口的 key,为 FcrUIDialogKey 的枚举之一
4
- */
5
- dialogKey: FcrUIDialogKey;
6
- /**
7
- * @param config - electron 的 BrowserWindowConstructorOptions 配置,当自定义配置的 hasCustomShadow 开启时,其中的 width 和 height 会自动加上阴影的宽度
8
- * @param height - The height value should be based on the maximum content height of the tab
9
- */
10
- config: Electron.BrowserWindowConstructorOptions;
11
- /**
12
- * @param onClose - 当 dialog 关闭时的回调函数,函数签名为 dialog 的 store
13
- * */
14
- onClose?: (store: DialogStore) => void;
15
- /**
16
- * @param onOpened - 当 dialog 打开时的回调函数,函数签名为 dialog 的 store、browserwindow 对象和设置 bounds 的方法,此 bounds 不同于 browserwindow 的 setBounds 会为宽高自动加上阴影的设置
17
- */
18
- onOpened?: (props: {
19
- browserWindow: Electron.BrowserWindow;
20
- store: DialogStore;
21
- setBounds: (bounds: Partial<Electron.Rectangle>, animate?: boolean) => void;
22
- nearDisplayBounds: Electron.Rectangle;
23
- }) => void;
24
- /**
25
- * * @param onUnmounted - 当 dialog 卸载时的回调函数,函数签名为 dialog 的 store
26
- */
27
- onUnmounted?: (store: DialogStore) => void;
28
- /**
29
- * @param children - dialog 的内容
30
- */
31
- children: React.ReactNode;
32
- /**
33
- * @param scroll - 是否显示滚动栏,默认为 false
34
- */
35
- scroll?: boolean;
36
- /**
37
- * @param focus - 在 dialog 窗口打开之后,调用 browserWindow 的 focus 方法, 默认为 true
38
- */
39
- focus?: boolean;
40
- /**
41
- * @param ignoreMouseEvents - 在 dialog 窗口打开之后,设置是否忽略鼠标事件
42
- */
43
- ignoreMouseEvents?: boolean | Electron.IgnoreMouseEventsOptions;
44
- /**
45
- * @param alwaysOnTop - 在 dialog 窗口打开之后,主动调用一次 browserWindow 的 setAlwaysOnTop(true, 'normal') 方法,默认为true
46
- * @type boolean | 'normal' | 'floating' | 'torn-off-menu' | 'modal-panel' | 'main-menu' | 'status' | 'pop-up-menu' | 'screen-saver'
47
- */
48
- alwaysOnTop?:
49
- | boolean
50
- | 'normal'
51
- | 'floating'
52
- | 'torn-off-menu'
53
- | 'modal-panel'
54
- | 'main-menu'
55
- | 'status'
56
- | 'pop-up-menu'
57
- | 'screen-saver';
58
- /**
59
- * @param fullScreen - 自定义全屏设置,和 electron 的全屏设置不同,它会以主窗口的位置为基准,给新打开的窗口设置和屏幕一样的大小
60
- */
61
- fullScreen?: boolean;
62
- /**
63
- * @param polyfills - 这个可以以一句话的形式描述 polyfills,比如:fix-toast-window-flash,并通过这个字段来判断进行特殊处理
64
- */
65
- polyfills?: string[];
66
- /**
67
- * @param hasCustomShadow - 通过缩小 electron 容器内的容器宽度加 css 样式阴影实现,所以会让原生 electron 的拖动响应的边产生偏移,所以如果窗口是可拖动的,需要设置为 false。默认值 true。目前窗口有三种,一种是作为 toast 和 confirm 容器的窗口,这种窗口因为是全屏显示不需要阴影,一种是 participant 和 chat 窗口,这俩窗口需要拉伸操作,所以用系统阴影,不用自定义阴影。还有一种是独立的窗口,这种窗口不需要拉伸,所以用自定义阴影,配置为 true 时,窗口会给宽高加上阴影的偏移量,所以 toast 和 confirm 窗口需要设置为 false
68
- * */
69
- hasCustomShadow?: boolean;
70
- };
@@ -1,6 +0,0 @@
1
- export declare const MicrophoneIndicator: ({ audioDeviceType, hasAudio, isLocal, userId, }: {
2
- hasAudio: boolean;
3
- audioDeviceType: "none" | "computer-mic" | "phone-mic";
4
- isLocal: boolean;
5
- userId: string;
6
- }) => import("react/jsx-runtime").JSX.Element;
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.MicrophoneIndicator = void 0;
8
- var _mobxReact = require("mobx-react");
9
- var _react = require("react");
10
- var _store = require("../../../../store");
11
- var _microphoneState = require("agora-ui-foundation/lib/components/room-screen-share-state-bar/microphone-state");
12
- var _jsxRuntime = require("react/jsx-runtime");
13
- var MicrophoneIndicator = exports.MicrophoneIndicator = (0, _mobxReact.observer)(function (_ref) {
14
- var audioDeviceType = _ref.audioDeviceType,
15
- hasAudio = _ref.hasAudio,
16
- isLocal = _ref.isLocal,
17
- userId = _ref.userId;
18
- var _useContext = (0, _react.useContext)(_store.StoreContext),
19
- audioVolumeMap = _useContext.audioVolumeMap,
20
- localMicVolume = _useContext.localMicVolume;
21
- var volume = isLocal ? localMicVolume : audioVolumeMap.get(userId);
22
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_microphoneState.MicrophoneState, {
23
- isMicrophoneMuted: !hasAudio,
24
- size: 28,
25
- isPhoneMic: audioDeviceType === 'phone-mic',
26
- voicePercent: volume || 0
27
- });
28
- });
@@ -1,7 +0,0 @@
1
- export declare const userAvatar: (userType: string) => {
2
- icon: import("react/jsx-runtime").JSX.Element;
3
- backgroundColor: string;
4
- } | {
5
- icon: null;
6
- backgroundColor: string;
7
- };
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.userAvatar = void 0;
8
- var _icon = require("agora-ui-foundation/lib/components/icon");
9
- var _type = require("agora-ui-foundation/lib/components/icon/type");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- var userAvatar = exports.userAvatar = function userAvatar(userType) {
12
- if (userType === 'meeting-system') {
13
- return {
14
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
15
- type: _type.FcrIconType.FCR_SIPDEVICE,
16
- colors: {
17
- iconPrimary: 'var(--fcr_ui_scene_white10)',
18
- iconSecondary: 'var(--fcr_ui_scene_ramp_green6)'
19
- }
20
- }),
21
- backgroundColor: 'var(--fcr_ui_scene_ramp_purple7)'
22
- };
23
- }
24
- if (userType === 'phone') {
25
- return {
26
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
27
- type: _type.FcrIconType.FCR_PHONECALL3,
28
- colors: {
29
- iconPrimary: 'var(--fcr_ui_scene_white10)'
30
- }
31
- }),
32
- backgroundColor: 'var(--fcr_ui_scene_ramp_green6)'
33
- };
34
- }
35
- return {
36
- icon: null,
37
- backgroundColor: ''
38
- };
39
- };
@@ -1,69 +0,0 @@
1
- .attendee__user-info-avatar_speakerSpotlight {
2
- position: relative;
3
- }
4
- .attendee__user-info-avatar_speakerSpotlight::before {
5
- content: '';
6
- display: block;
7
- position: absolute;
8
- top: -4px;
9
- left: -4px;
10
- width: calc(100% + 8px);
11
- height: calc(100% + 8px);
12
- border: 2px solid var(--fcr_ui_scene_ramp_green6);
13
- border-radius: var(--fcr_cornerradius_l);
14
- }
15
- .attendee__more-actions {
16
- max-width: 300px;
17
- padding: 0;
18
- }
19
-
20
- .operate-waiting-room-dialog-content {
21
- display: flex;
22
- flex-direction: column;
23
- align-items: center;
24
- justify-content: center;
25
- background: white;
26
- padding: 20px;
27
- border-radius: 20px;
28
- }
29
-
30
- .operate-waiting-room-dialog-title {
31
- font-weight: 600;
32
- font-size: 16px;
33
- margin-bottom: 10px;
34
- }
35
-
36
- .operate-waiting-room-dialog-tooltip {
37
- margin-bottom: 10px;
38
- }
39
-
40
- .operate-waiting-room-dialog-confirm {
41
- display: flex;
42
- }
43
-
44
- .operate-waiting-room-dialog-btns {
45
- display: flex;
46
- justify-content: space-between;
47
- width: 100%;
48
- margin-top: 10px;
49
- }
50
-
51
- .operate-waiting-room-dialog-btns .fcr-button-normal {
52
- width: 48%;
53
- }
54
-
55
- .operate-waiting-room-dialog-btns .fcr-button-white {
56
- background-color: var(--fcr_ui_scene_btn2);
57
- color: var(--fcr_ui_scene_icontext2);
58
- width: 48%;
59
- }
60
-
61
- .operate-waiting-room-dialog-btns .fcr-button-white:hover {
62
- background-color: var(--fcr_ui_scene_btn2) !important;
63
- color: var(--fcr_ui_scene_icontext2) !important;
64
- width: 48%;
65
- }
66
-
67
- .operate-waiting-room-dialog-btns .fcr-button-danger {
68
- width: 48%;
69
- }
@@ -1,4 +0,0 @@
1
- import { PropsWithChildren } from 'react';
2
- import './index.css';
3
- import { ParticipantAttendeeProps } from '../../type';
4
- export declare const ParticipantAttendee: (props: PropsWithChildren<ParticipantAttendeeProps>) => import("react/jsx-runtime").JSX.Element;
@@ -1,337 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.array.for-each.js");
6
- require("core-js/modules/es.array.push.js");
7
- require("core-js/modules/es.object.define-properties.js");
8
- require("core-js/modules/es.object.define-property.js");
9
- require("core-js/modules/es.object.get-own-property-descriptor.js");
10
- require("core-js/modules/es.object.get-own-property-descriptors.js");
11
- require("core-js/modules/es.object.keys.js");
12
- require("core-js/modules/esnext.async-iterator.filter.js");
13
- require("core-js/modules/esnext.async-iterator.for-each.js");
14
- require("core-js/modules/esnext.iterator.filter.js");
15
- require("core-js/modules/esnext.iterator.for-each.js");
16
- require("core-js/modules/web.dom-collections.for-each.js");
17
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
18
- Object.defineProperty(exports, "__esModule", {
19
- value: true
20
- });
21
- exports.ParticipantAttendee = void 0;
22
- require("core-js/modules/es.array.find.js");
23
- require("core-js/modules/es.object.to-string.js");
24
- require("core-js/modules/esnext.async-iterator.find.js");
25
- require("core-js/modules/esnext.iterator.constructor.js");
26
- require("core-js/modules/esnext.iterator.find.js");
27
- require("core-js/modules/web.timers.js");
28
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
30
- var _avatar = require("agora-ui-foundation/lib/components/avatar");
31
- var _icon = require("agora-ui-foundation/lib/components/icon");
32
- var _type = require("agora-ui-foundation/lib/components/icon/type");
33
- var _cameraState = require("agora-ui-foundation/lib/components/room-screen-share-state-bar/camera-state");
34
- var _classnames = _interopRequireDefault(require("classnames"));
35
- var _mobxReact = require("mobx-react");
36
- var _react = require("react");
37
- var _type2 = require("../../../../type");
38
- var _i18n = require("agora-ui-foundation/lib/i18n");
39
- require("./index.css");
40
- var _helper = require("agora-ui-foundation/lib/components/avatar/helper");
41
- var _useLanguageConfig = require("../../../interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig");
42
- var _useClickAnywhere = require("agora-ui-foundation/lib/hooks/use-click-anywhere");
43
- var _useElectron = require("../../../dialog/hooks/useElectron");
44
- var _type3 = require("fcr-core/lib/room-control/type");
45
- var _microphoneIndicator = require("./components/microphone-indicator");
46
- var _userAvatar = require("./components/user-avatar");
47
- var _jsxRuntime = require("react/jsx-runtime");
48
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
49
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
50
- var ParticipantAttendee = exports.ParticipantAttendee = (0, _mobxReact.observer)(function (props) {
51
- var _useState = (0, _react.useState)(false),
52
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
53
- isShowDropMenu = _useState2[0],
54
- setIsShowDropMenu = _useState2[1];
55
- var _props$user = props.user,
56
- userId = _props$user.userId,
57
- userName = _props$user.userName,
58
- isMe = _props$user.isMe,
59
- hasAudio = _props$user.hasAudio,
60
- hasVideo = _props$user.hasVideo,
61
- isHost = _props$user.isHost,
62
- isScreenSharing = _props$user.isScreenSharing,
63
- userType = _props$user.userType,
64
- userRole = _props$user.userRole,
65
- isSpotlight = _props$user.isSpotlight,
66
- isBoardActive = _props$user.isBoardActive,
67
- audioDeviceType = _props$user.audioDeviceType,
68
- videoDeviceType = _props$user.videoDeviceType;
69
- var enableSpotlight = props.enableSpotlight,
70
- activeTab = props.activeTab,
71
- interpreterUsers = props.interpreterUsers,
72
- interpreterState = props.interpreterState,
73
- interpreterInputLanguage = props.interpreterInputLanguage,
74
- type = props.type,
75
- children = props.children;
76
- var dialogInstanceContext = (0, _react.useContext)(_useElectron.DialogInstanceContext);
77
- var _useState3 = (0, _react.useState)(false),
78
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
79
- disableHover = _useState4[0],
80
- setDisableHover = _useState4[1];
81
- var nameColor = (0, _helper.getNameColor)(userName);
82
- var volumeTimer = undefined;
83
- var _useState5 = (0, _react.useState)(0),
84
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
85
- phoneCallFrame = _useState6[0],
86
- setPhoneCallFrame = _useState6[1];
87
- var clickAnywhere = (0, _react.useCallback)(function () {
88
- setIsShowDropMenu(false);
89
- }, [setIsShowDropMenu]);
90
- var clickRef = (0, _useClickAnywhere.useClickAnywhere)(clickAnywhere, type === 'modal' ? dialogInstanceContext === null || dialogInstanceContext === void 0 ? void 0 : dialogInstanceContext.newRendererWindow : window);
91
- var percentPhone = function percentPhone(phoneCallFrame) {
92
- switch (phoneCallFrame) {
93
- case '0':
94
- return 30;
95
- case '1':
96
- return 19;
97
- case '2':
98
- return 9;
99
- default:
100
- return 4;
101
- }
102
- };
103
- (0, _react.useEffect)(function () {
104
- setDisableHover(userType === 'meeting-system');
105
- }, [userType]);
106
- (0, _react.useEffect)(function () {
107
- if (volumeTimer) {
108
- clearInterval(volumeTimer);
109
- }
110
- if (audioDeviceType === 'phone-mic') {
111
- volumeTimer = setInterval(function () {
112
- setPhoneCallFrame(function (frame) {
113
- return (frame + 1) % 4;
114
- });
115
- }, 250);
116
- return function () {
117
- return clearInterval(volumeTimer);
118
- };
119
- }
120
- }, [audioDeviceType]);
121
-
122
- // const userActions = () => {
123
- // const handleAudioButtonClick = () => {
124
- // const action = hasAudio
125
- // ? ParticipantActionType.MUTE_AUDIO
126
- // : ParticipantActionType.UNMUTE_AUDIO;
127
- // onParticipantsButtonClick(action, userId);
128
- // };
129
-
130
- // const handlePrivateChatButtonClick = () => {
131
- // onParticipantsButtonClick(ParticipantActionType.PRIVATE_CHAT, userId);
132
- // };
133
-
134
- // const handleMoreActionsClick = (action: ParticipantActionType, userId: string) => {
135
- // onParticipantsButtonClick(action, userId);
136
- // setIsShowDropMenu(false);
137
- // };
138
- // const muteAudioPermission = hasMutePermission(
139
- // isMe ? FcrPrivilegeUserRole.SELF : (userRole as FcrUserRole),
140
- // );
141
- // const startAudioPermission = hasUnmutePermission(
142
- // isMe ? FcrPrivilegeUserRole.SELF : (userRole as FcrUserRole),
143
- // );
144
- // const requestStartAudioPermission = hasRequestStartAudioPermission(userRole as FcrUserRole);
145
- // const { isShowActionAudio, actionAudioTag } = actionMute(
146
- // !!isMe,
147
- // hasAudio,
148
- // muteAudioPermission,
149
- // startAudioPermission,
150
- // requestStartAudioPermission,
151
- // );
152
- // const waitingRoomParticipateActionsNeedHiden = [
153
- // 'start_video',
154
- // 'request_start_video',
155
- // 'stop_video',
156
- // 'pin',
157
- // 'set_as_host',
158
- // 'set_as_co_host',
159
- // 'revoke_co_host',
160
- // 'merge_video',
161
- // 'put_into_waiting_room',
162
- // ];
163
- // const mainRoomParticipateActionsNeedHiden: string[] = [];
164
-
165
- // useEffect(() => {
166
- // return () => {
167
- // if (timeoutId.current) {
168
- // clearTimeout(timeoutId.current);
169
- // }
170
- // };
171
- // }, []);
172
- // const timeoutId = useRef<NodeJS.Timeout | null>();
173
- // return (
174
- // <div
175
- // className={`attendee__user-action attendee__user-action-host ${isShowDropMenu ? 'attendee__user-action-hovered' : ''}`}>
176
- // {isShowActionAudio && activeTab === FcrRoomType.Mainroom && (
177
- // <FcrActionButton size="small" onClick={handleAudioButtonClick}>
178
- // <span className={hasAudio ? 'attendee__danger-operate' : 'attendee__normal-operate'}>
179
- // {t(actionAudioTag as GenerateI18nKey<I18nResouceTypes>)}
180
- // </span>
181
- // </FcrActionButton>
182
- // )}
183
- // {activeTab === FcrRoomType.Waitingroom && (
184
- // <FcrActionButton size="small" onClick={() => moveToMainRoomByUserIds([userId])}>
185
- // <span className={'attendee__normal-operate'}>
186
- // {t('fmt_waitingroom_sidebar_button_admit')}
187
- // </span>
188
- // </FcrActionButton>
189
- // )}
190
- // <FcrPopover
191
- // visible={isShowDropMenu}
192
- // overlayInnerStyle={{
193
- // border: 0,
194
- // boxShadow: '0px 0px 15px var(--fcr_web_light_dropup_m)',
195
- // borderRadius: 'var(--fcr_cornerradius_l)',
196
- // minWidth: '210px',
197
- // maxWidth: '300px',
198
- // width: 'fit-content',
199
- // }}
200
- // overlayClassName="attendee__more-actions"
201
- // mouseEnterDelay={0}
202
- // content={
203
- // <div
204
- // ref={clickRef}
205
- // onMouseEnter={() => {
206
- // if (timeoutId.current) {
207
- // clearTimeout(timeoutId.current);
208
- // }
209
- // }}
210
- // onMouseLeave={() => {
211
- // timeoutId.current = setTimeout(() => {
212
- // setIsShowDropMenu(false);
213
- // }, 200);
214
- // }}>
215
- // <FcrParticipantsMoreActions
216
- // {...props}
217
- // onParticipantsButtonClick={handleMoreActionsClick}
218
- // userRole={userRole as FcrUserRoleValue}
219
- // isPin={isPin}
220
- // hasPinnedStream={hasPinnedStream}
221
- // allowedOperations={allowedOperations}
222
- // userType={userType}
223
- // userId={userId}
224
- // hasVideo={hasVideo}
225
- // hasAudio={hasAudio}
226
- // userName={userName}
227
- // audioDeviceType={audioDeviceType}
228
- // hideActions={
229
- // activeTab === FcrRoomType.Mainroom
230
- // ? mainRoomParticipateActionsNeedHiden
231
- // : waitingRoomParticipateActionsNeedHiden
232
- // }
233
- // />
234
- // </div>
235
- // }
236
- // placement="bottomRight">
237
- // <FcrActionButton
238
- // onClick={() => {
239
- // if (!isShowDropMenu) {
240
- // setIsShowDropMenu(true);
241
- // }
242
- // }}
243
- // size="small"
244
- // iconType={FcrIconType.FCR_DROPDOWN}>
245
- // {t('fmt_participants_member_button_more')}
246
- // </FcrActionButton>
247
- // </FcrPopover>
248
- // </div>
249
- // );
250
- // };
251
-
252
- var t = (0, _i18n.useI18n)();
253
- var interpreter = (0, _react.useMemo)(function () {
254
- return interpreterUsers === null || interpreterUsers === void 0 ? void 0 : interpreterUsers.find(function (ele) {
255
- return ele.userId === userId;
256
- });
257
- }, [interpreterUsers, userId]);
258
- var getLanguageConfig = (0, _useLanguageConfig.useLanguageConfig)();
259
- var interpreterTag = /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
260
- children: interpreter && interpreterState && interpreterInputLanguage && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
261
- className: "attendee__host-badge attendee__interpreter-tag-bg",
262
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
263
- className: "attendee__interpreter-tag-user",
264
- children: t('fmt_ai_transcriptions_setting_label_translator')
265
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
266
- className: "attendee__interpreter-tag-language",
267
- children: getLanguageConfig(interpreterInputLanguage).abbr
268
- })]
269
- })
270
- });
271
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
272
- className: (0, _classnames["default"])('attendee', {
273
- 'attendee-active': isShowDropMenu && !disableHover
274
- }),
275
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
276
- className: "attendee__user-info",
277
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
278
- className: (0, _classnames["default"])('attendee__user-info-avatar', {
279
- 'attendee__user-info-avatar_speakerSpotlight': isSpotlight && enableSpotlight
280
- }),
281
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.FcrAvatar, _objectSpread({
282
- size: 32,
283
- nickName: userName,
284
- textSize: 14
285
- }, (0, _userAvatar.userAvatar)(userType)))
286
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
287
- className: "attendee__user-info-identity",
288
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
289
- className: "attendee__name",
290
- style: {
291
- color: nameColor
292
- },
293
- children: [userName, isMe && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
294
- className: "attendee__me-badge",
295
- children: "(Me)"
296
- })]
297
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
298
- className: "attendee__tag-group",
299
- children: [isHost && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
300
- className: "attendee__host-badge",
301
- children: t('fmt_role_host')
302
- }), isHost && interpreterTag]
303
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
304
- className: "attendee__tag-group",
305
- children: [userRole === _type2.FcrUserRole.COHOST && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
306
- className: "attendee__host-badge attendee__cohost-tag-bg",
307
- children: t('fmt_role_cohost')
308
- }), !isHost && interpreterTag]
309
- })]
310
- })]
311
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
312
- className: "attendee__user-media",
313
- children: [isScreenSharing && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
314
- type: _type.FcrIconType.FCR_SCREENSHARING_1,
315
- size: 28,
316
- colors: {
317
- iconPrimary: 'var(--fcr_ui_scene_ramp_green6)'
318
- }
319
- }), isBoardActive && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
320
- type: _type.FcrIconType.FCR_WHITEBOARD,
321
- size: 28,
322
- colors: {
323
- iconPrimary: 'var(--fcr_ui_scene_ramp_green6)'
324
- }
325
- }), audioDeviceType !== 'none' && activeTab === _type3.FcrRoomType.Mainroom && /*#__PURE__*/(0, _jsxRuntime.jsx)(_microphoneIndicator.MicrophoneIndicator, {
326
- audioDeviceType: audioDeviceType,
327
- hasAudio: hasAudio,
328
- isLocal: !!isMe,
329
- userId: userId
330
- }), videoDeviceType !== 'none' && activeTab === _type3.FcrRoomType.Mainroom && /*#__PURE__*/(0, _jsxRuntime.jsx)(_cameraState.CameraState, {
331
- isCameraMuted: !hasVideo,
332
- size: 28,
333
- renderIconType: 'surface'
334
- })]
335
- }), children]
336
- }, userId);
337
- });