fcr-ui-scene 3.8.1-alpha → 3.8.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 (226) hide show
  1. package/lib/base.js +2 -2
  2. package/lib/creator/provider-initializer.browser.js +8 -7
  3. package/lib/creator/provider-initializer.electron.js +8 -8
  4. package/lib/electron/asar-validation.d.ts +12 -0
  5. package/lib/electron/asar-validation.js +115 -0
  6. package/lib/electron/bootstrap-sdk.js +20 -12
  7. package/lib/electron/default-options.js +2 -1
  8. package/lib/electron/env.d.ts +1 -0
  9. package/lib/electron/env.js +6 -4
  10. package/lib/electron/exit-codes.js +11 -11
  11. package/lib/electron/hang-detection/manager.js +4 -4
  12. package/lib/electron/ipc-protocol.js +12 -12
  13. package/lib/electron/process-manager/event-manager.js +30 -30
  14. package/lib/electron/process-manager/index.js +88 -88
  15. package/lib/electron/process-manager/state-manager.js +57 -57
  16. package/lib/electron/process-manager/types.js +16 -16
  17. package/lib/electron/sdk-helper.js +3 -3
  18. package/lib/electron/window-proxy/browser-window-proxy.js +13 -13
  19. package/lib/electron/window-proxy/main-process-handler.js +14 -14
  20. package/lib/fragments/annotation/style.css +9 -9
  21. package/lib/fragments/annotation/toolbar/components/item/style.css +45 -45
  22. package/lib/fragments/annotation/toolbar/components/panel/style.css +24 -24
  23. package/lib/fragments/annotation/toolbar/components/tips/style.css +19 -19
  24. package/lib/fragments/annotation/toolbar/style.css +55 -55
  25. package/lib/fragments/whiteboard/cursor.css +77 -77
  26. package/lib/fragments/whiteboard/style.css +4 -4
  27. package/lib/global.css +62 -62
  28. package/lib/global.d.ts +27 -27
  29. package/lib/index.js +9 -1
  30. package/lib/modules/action-bar/components/chat/index.css +88 -88
  31. package/lib/modules/action-bar/components/more/index.css +114 -114
  32. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -58
  33. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -56
  34. package/lib/modules/action-bar/components/notification-bar/index.css +74 -74
  35. package/lib/modules/action-bar/components/participants/index.css +21 -21
  36. package/lib/modules/action-bar/components/record/index.css +39 -39
  37. package/lib/modules/action-bar/components/trigger-output-language/index.css +86 -86
  38. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -22
  39. package/lib/modules/action-bar/index.css +358 -358
  40. package/lib/modules/action-bar/main-scene/store.base.d.ts +3 -2
  41. package/lib/modules/action-bar/main-scene/store.base.js +29 -57
  42. package/lib/modules/action-bar/main-scene/view.js +3 -3
  43. package/lib/modules/audio-stream/index.js +3 -3
  44. package/lib/modules/caption/draggable-container/index.css +10 -10
  45. package/lib/modules/caption/view.css +158 -158
  46. package/lib/modules/chat/components/chat-bar/index.css +89 -89
  47. package/lib/modules/chat/components/chat-select/index.css +185 -185
  48. package/lib/modules/chat/index.css +124 -124
  49. package/lib/modules/components/apps/app-item/index.css +49 -49
  50. package/lib/modules/components/apps/index.css +9 -9
  51. package/lib/modules/components/caption-menu/index.css +58 -58
  52. package/lib/modules/components/caption-menu/steps/index.css +73 -73
  53. package/lib/modules/components/control-bar/components/loading/index.css +76 -76
  54. package/lib/modules/components/control-bar/components/progress/style.css +51 -51
  55. package/lib/modules/components/control-bar/components/switch-theme/index.css +101 -101
  56. package/lib/modules/components/control-bar/index.css +99 -99
  57. package/lib/modules/components/device-control/index.css +177 -177
  58. package/lib/modules/components/leave-meeting/components/index.css +151 -151
  59. package/lib/modules/components/leave-meeting/style.css +9 -9
  60. package/lib/modules/components/member-window/components/member-actions/store.js +22 -22
  61. package/lib/modules/components/member-window/index.css +502 -502
  62. package/lib/modules/components/security-menu/index.css +42 -42
  63. package/lib/modules/components/tab-frame/index.css +40 -40
  64. package/lib/modules/components/toolbar/components/item/style.css +94 -94
  65. package/lib/modules/components/toolbar/components/panel/style.css +86 -86
  66. package/lib/modules/components/toolbar/style.css +85 -85
  67. package/lib/modules/connection-gateway/components/computer/index.css +12 -12
  68. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +36 -36
  69. package/lib/modules/connection-gateway/components/phone/components/calling/index.css +72 -72
  70. package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +10 -10
  71. package/lib/modules/connection-gateway/components/phone/components/useing/index.css +46 -46
  72. package/lib/modules/connection-gateway/components/phone/index.css +49 -49
  73. package/lib/modules/connection-gateway/index.css +6 -6
  74. package/lib/modules/control-bar/components/meeting-details/index.css +133 -133
  75. package/lib/modules/control-bar/components/more-actions/index.css +103 -103
  76. package/lib/modules/control-bar/components/share-audio/index.css +90 -90
  77. package/lib/modules/control-bar/components/share-state-nav/index.css +79 -79
  78. package/lib/modules/control-bar/index.css +340 -340
  79. package/lib/modules/control-bar/index.js +4 -4
  80. package/lib/modules/device-pretest/index.css +123 -123
  81. package/lib/modules/dialog/components/confirm/index.css +24 -24
  82. package/lib/modules/dialog/components/dialog-container/index.css +112 -112
  83. package/lib/modules/dialog/dialogs/confirm/index.css +24 -24
  84. package/lib/modules/dialog/dialogs/connection-gateway/tabs.d.ts +1 -0
  85. package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +27 -14
  86. package/lib/modules/dialog/dialogs/device-setting/index.css +26 -26
  87. package/lib/modules/dialog/dialogs/interpreter/index.css +30 -30
  88. package/lib/modules/dialog/dialogs/mute-all/index.css +20 -20
  89. package/lib/modules/dialog/dialogs/system-preference/index.css +52 -52
  90. package/lib/modules/dialog/dialogs/widget/index.js +4 -4
  91. package/lib/modules/dialog/index.css +56 -56
  92. package/lib/modules/event-toast/index.css +25 -25
  93. package/lib/modules/interpreter/action/add-btn/index.css +4 -4
  94. package/lib/modules/interpreter/action/delete-btn/index.css +14 -14
  95. package/lib/modules/interpreter/action/switch-btn/index.css +3 -3
  96. package/lib/modules/interpreter/dialog-content/index.css +33 -33
  97. package/lib/modules/interpreter/footer/index.css +11 -11
  98. package/lib/modules/interpreter/index.css +4 -4
  99. package/lib/modules/interpreter/interpreter-list/index.css +8 -8
  100. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +46 -46
  101. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +46 -46
  102. package/lib/modules/interpreter/interpreter-list/interpreter-item/index.css +32 -32
  103. package/lib/modules/interpreter/loading-wrapper/index.css +53 -53
  104. package/lib/modules/invite/components/pstn-invite.js +1 -1
  105. package/lib/modules/invite/components/voip-invite.css +26 -26
  106. package/lib/modules/invite/index.css +331 -331
  107. package/lib/modules/layout/components/CommonVideoRenderer.js +4 -4
  108. package/lib/modules/layout/components/index.css +653 -653
  109. package/lib/modules/layout/index.css +59 -59
  110. package/lib/modules/layout/store.base.js +5 -5
  111. package/lib/modules/layout/type.js +5 -5
  112. package/lib/modules/notification/index.css +77 -77
  113. package/lib/modules/notification/interpreter-status/index.css +76 -76
  114. package/lib/modules/participant/components/confirm-input/index.css +4 -4
  115. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +83 -83
  116. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +87 -87
  117. package/lib/modules/participant/index.css +102 -102
  118. package/lib/modules/participant/store.base.js +175 -175
  119. package/lib/modules/pc-audio-connect/index.css +12 -12
  120. package/lib/modules/pc-audio-connect/main-scene/index.d.ts +2 -1
  121. package/lib/modules/pc-audio-connect/main-scene/index.js +5 -4
  122. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +3 -0
  123. package/lib/modules/pc-audio-connect/main-scene/store.js +44 -7
  124. package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -36
  125. package/lib/modules/phone-audio-connect/components/calling/index.css +72 -72
  126. package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -10
  127. package/lib/modules/phone-audio-connect/components/useing/index.css +46 -46
  128. package/lib/modules/phone-audio-connect/index.css +56 -56
  129. package/lib/modules/secondary-window/store.js +7 -7
  130. package/lib/modules/setting/audio-settings/index.css +195 -195
  131. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +14 -14
  132. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +6 -6
  133. package/lib/modules/setting/caption_and_transcribing/index.css +88 -88
  134. package/lib/modules/setting/general-settings/index.css +41 -41
  135. package/lib/modules/setting/index.css +112 -112
  136. package/lib/modules/setting/minutes-settings/index.css +65 -65
  137. package/lib/modules/setting/state/index.css +207 -207
  138. package/lib/modules/setting/storage-settings/index.css +91 -91
  139. package/lib/modules/setting/translate-settings/index.css +47 -47
  140. package/lib/modules/setting/video-settings/index.css +357 -357
  141. package/lib/modules/share-screen/components/control-bar/index.css +75 -75
  142. package/lib/modules/share-screen/components/selection/index.css +73 -73
  143. package/lib/modules/share-screen/components/share-state-bar/index.css +76 -76
  144. package/lib/modules/share-screen/index.js +10 -10
  145. package/lib/modules/share-screen/store.base.js +2 -2
  146. package/lib/modules/state-bar/assets/fcr_grid_big.svg +3 -3
  147. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +3 -3
  148. package/lib/modules/state-bar/index.css +706 -706
  149. package/lib/modules/state-bar/main-scene/store.base.js +2 -2
  150. package/lib/modules/state-bar/meeting-detail.css +137 -137
  151. package/lib/modules/state-bar/meeting-network-state.css +150 -150
  152. package/lib/modules/state-bar/waiting-scene/store.base.js +2 -2
  153. package/lib/modules/subtitles-history/components/settings/index.css +5 -5
  154. package/lib/modules/subtitles-history/index.css +129 -129
  155. package/lib/modules/video-window/components/members/index.css +51 -51
  156. package/lib/modules/video-window/components/speaking/index.css +86 -86
  157. package/lib/modules/video-window/components/topControl/index.css +35 -35
  158. package/lib/modules/video-window/index.css +21 -21
  159. package/lib/modules/video-window/popover-watcher.js +3 -3
  160. package/lib/modules/video-window/store.js +10 -10
  161. package/lib/modules/waiting-room-layout/index.css +96 -96
  162. package/lib/modules/whiteboard/components/control-bar/index.css +52 -52
  163. package/lib/modules/whiteboard/components/loading/index.css +76 -76
  164. package/lib/modules/whiteboard/components/multi-window/index.css +63 -63
  165. package/lib/modules/whiteboard/components/pagination/index.css +228 -228
  166. package/lib/modules/whiteboard/components/progress/style.css +51 -51
  167. package/lib/modules/whiteboard/components/switch-theme/index.css +99 -99
  168. package/lib/modules/whiteboard/components/toolbar/style.css +591 -591
  169. package/lib/modules/whiteboard/style.css +140 -140
  170. package/lib/modules/widget/index.css +9 -9
  171. package/lib/modules/widget/index.d.ts +1 -0
  172. package/lib/modules/widget/index.js +16 -1
  173. package/lib/modules/widget/store.base.d.ts +1 -0
  174. package/lib/modules/widget/store.base.js +12 -0
  175. package/lib/modules/widget/store.electron.js +5 -0
  176. package/lib/modules/widget/web-widget.d.ts +6 -1
  177. package/lib/modules/widget/web-widget.js +66 -22
  178. package/lib/object-manager.js +8 -8
  179. package/lib/plugins/module-dev-plugin.js +11 -11
  180. package/lib/providers/ability-provider.js +17 -17
  181. package/lib/providers/app-list-provider.d.ts +1 -1
  182. package/lib/providers/app-list-provider.js +9 -7
  183. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  184. package/lib/providers/board-share/bar-control/browser.d.ts +1 -1
  185. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  186. package/lib/providers/board-share/struct.js +6 -6
  187. package/lib/providers/device-stream-provider.d.ts +1 -1
  188. package/lib/providers/dialog/provider.base.js +2 -2
  189. package/lib/providers/dialog/type.js +3 -3
  190. package/lib/providers/multi-display-provider.js +4 -4
  191. package/lib/providers/privilege-provider.js +7 -7
  192. package/lib/providers/screen-share/provider.base.js +23 -23
  193. package/lib/providers/screen-share/stream-state-sync.js +18 -18
  194. package/lib/providers/screen-share/struct.js +24 -24
  195. package/lib/providers/widget-provider.d.ts +13 -2
  196. package/lib/providers/widget-provider.js +60 -9
  197. package/lib/providers/window/main-window.js +2 -2
  198. package/lib/providers/window/provider.js +5 -5
  199. package/lib/providers/window/renderer-window.js +2 -2
  200. package/lib/scenes/main-scene.js +1 -0
  201. package/lib/schema.js +26 -26
  202. package/lib/shared-data/app-list-data.d.ts +0 -3
  203. package/lib/shared-data/app-list-data.js +3 -30
  204. package/lib/shared-data/meeting-time.js +8 -8
  205. package/lib/shared-data/setting.js +3 -3
  206. package/lib/shared-data/video-window.d.ts +1 -1
  207. package/lib/shared-data/video-window.js +1 -1
  208. package/lib/shared-data/widget-data.d.ts +0 -1
  209. package/lib/type.d.ts +1 -0
  210. package/lib/type.js +23 -21
  211. package/lib/ui-scene-switch.js +2 -2
  212. package/lib/utilities/constant.js +6 -6
  213. package/lib/utilities/renderer.js +8 -8
  214. package/lib/utilities/shared-storage.js +2 -2
  215. package/lib/utilities/tools.js +14 -14
  216. package/package.json +82 -77
  217. package/public/assets/fcr_chat_reddot.svg +5 -5
  218. package/public/assets/fcr_grid_big.svg +3 -3
  219. package/public/assets/fcr_leave2.svg +58 -58
  220. package/public/assets/fcr_listontop_big.svg +3 -3
  221. package/public/assets/step-gradient.svg +10 -10
  222. package/public/fragment.html +10 -10
  223. package/public/index.html +107 -183
  224. package/public/index.vite.html +109 -0
  225. package/public/js/init.js +75 -0
  226. package/public/{meeting-manager.js → js/meeting-manager.js} +405 -405
package/public/index.html CHANGED
@@ -1,183 +1,107 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title></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
- top: 0px;
14
- left: 0px;
15
- display: flex;
16
- justify-content: center;
17
- align-items: center;
18
- z-index: 9999;
19
- }
20
-
21
- .fcr-launch-failure-comp-modal {
22
- width: 280px;
23
- background-color: rgba(255, 255, 255, 0.85);
24
- border-radius: 24px;
25
- display: flex;
26
- box-shadow: 0px 0px 15px 0px rgba(151, 151, 151, 0.25);
27
- border: 1px solid #e3e7efff;
28
- display: flex;
29
- flex-direction: column;
30
- padding: 0px 24px 24px 24px;
31
- box-sizing: content-box;
32
- }
33
-
34
- .fcr-launch-failure-comp-banner {
35
- margin: 0 auto;
36
- width: 280px;
37
- align-self: flex-start;
38
- position: absolute;
39
- top: -12px;
40
- }
41
-
42
- .fcr-launch-failure-comp-info {
43
- text-align: center;
44
- margin-top: 24px;
45
- margin-bottom: 20px;
46
- color: rgba(55, 60, 66, 1);
47
- }
48
-
49
- .fcr-launch-failure-comp-h {
50
- font-weight: 600;
51
- margin-bottom: 12px;
52
- }
53
-
54
- .fcr-launch-failure-comp-desc {
55
- font-weight: 400;
56
- }
57
-
58
- .fcr-confirm-btn {
59
- width: 100%;
60
- height: 36px;
61
- background-color: rgba(66, 98, 255, 1);
62
- color: #ffffff;
63
- text-align: center;
64
- line-height: 36px;
65
- border-radius: 6px;
66
- margin: 0 auto;
67
- cursor: pointer;
68
- }
69
-
70
- .fcr-launch-failure-comp-banner-box {
71
- position: relative;
72
- width: 100%;
73
- height: 180px;
74
- margin: 0 auto;
75
- }
76
- </style>
77
- </head>
78
-
79
- <body style="background: rgb(251, 252, 255)">
80
- <div
81
- style="display: flex; align-items: center; justify-content: center; height: 100vh"
82
- id="launch-loading">
83
- <img src="assets/loading.gif" alt="loading" width="128" height="128" />
84
- </div>
85
- <div id="root"></div>
86
- <div id="fcr-launch-failure-comp" style="display: none">
87
- <div class="fcr-launch-failure-comp-modal">
88
- <div class="fcr-launch-failure-comp-banner-box">
89
- <img class="fcr-launch-failure-comp-banner" src="assets/leave-meeting.png" />
90
- </div>
91
- <div class="fcr-launch-failure-comp-info">
92
- <!-- <div class="fcr-launch-failure-comp-h">
93
- <span id="fcr-launch-failure-comp-title"></span>
94
- </div> -->
95
- <div id="fcr-launch-failure-error-info" class="fcr-launch-failure-comp-desc">
96
- Error: code=100050051, message=domain:RTE-CLIENT,info: failed to detect AP
97
- </div>
98
- </div>
99
- <div id="fcr-launch-failure-confirm-btn" class="fcr-confirm-btn">
100
- <span id="fcr-launch-failure-btn-text">I know</span>
101
- </div>
102
- </div>
103
- </div>
104
- </body>
105
- <script>
106
- window.enLangResource = {
107
- fmt_statusbar_label_unknown: 'unknown error',
108
- fmt_pc_room_not_exist_error: 'The room does not exist or the password is wrong',
109
- fmt_lock_error: 'The host has locked the meeting and no one else can join',
110
- fmt_end_error: 'The meeting has ended',
111
- fmt_host_leave_error: 'The moderator is not in the meeting',
112
- };
113
-
114
- window.zhLangResource = {
115
- fmt_statusbar_label_unknown: '未知错误',
116
- fmt_pc_room_not_exist_error: '房间不存在或密码错误',
117
- fmt_lock_error: '主持人锁定了会议,其他人不可入会',
118
- fmt_end_error: '会议已结束',
119
- fmt_host_leave_error: '主持人不在会议中',
120
- };
121
-
122
- function replacePlaceholders(str, obj) {
123
- // 使用正则表达式匹配所有的占位符
124
- return str.replace(/{([^}]+)}/g, (match, key) => {
125
- // 检查对象中是否存在该键
126
- if (obj.hasOwnProperty(key.trim())) {
127
- // 如果存在,返回对应的值
128
- return obj[key.trim()];
129
- }
130
- // 如果不存在,返回原始的占位符
131
- return match;
132
- });
133
- }
134
-
135
- function renderMeetingName(meetingName) {
136
- if (meetingName.length <= 20) return meetingName;
137
- return meetingName.slice(0, 20) + '...';
138
- }
139
-
140
- window._transI18n = (key, replaceKeys) => {
141
- const currentLang = window.$$agora_language === 'zh' ? 'zh' : 'en';
142
- const langResource = window[`${currentLang}LangResource`];
143
- let res = langResource[key];
144
- if (res) {
145
- res = replacePlaceholders(res, replaceKeys);
146
- }
147
- return res;
148
- };
149
-
150
- const setLoading = (visible) => {
151
- const dom = document.querySelector('#launch-loading');
152
- if (dom) {
153
- if (visible) {
154
- dom.style.display = 'flex';
155
- } else {
156
- dom.style.display = 'none';
157
- }
158
- }
159
- };
160
-
161
- const setFullScreenFailureComp = (visible, errorMsg) => {
162
- setLoading(false);
163
- const dom = document.querySelector('#fcr-launch-failure-comp');
164
- const titleDom = document.querySelector('#fcr-launch-failure-comp-title');
165
- const btnTextDom = document.querySelector('#fcr-launch-failure-btn-text');
166
- if (dom) {
167
- if (visible) {
168
- dom.style.display = 'flex';
169
- // titleDom.innerText = window.$$agora_language === 'zh' ? '锁定会议' : 'Meeting Locked';
170
- btnTextDom.innerText = window.$$agora_language === 'zh' ? '我已知悉' : 'I know';
171
- if (errorMsg) {
172
- const msgDom = document.querySelector('#fcr-launch-failure-error-info');
173
- msgDom.innerText = errorMsg;
174
- }
175
- } else {
176
- dom.style.display = 'none';
177
- }
178
- }
179
- };
180
- </script>
181
-
182
- <script src="meeting-manager.js"></script>
183
- </html>
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title></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
+ top: 0px;
14
+ left: 0px;
15
+ display: flex;
16
+ justify-content: center;
17
+ align-items: center;
18
+ z-index: 9999;
19
+ }
20
+
21
+ .fcr-launch-failure-comp-modal {
22
+ width: 280px;
23
+ background-color: rgba(255, 255, 255, 0.85);
24
+ border-radius: 24px;
25
+ display: flex;
26
+ box-shadow: 0px 0px 15px 0px rgba(151, 151, 151, 0.25);
27
+ border: 1px solid #e3e7efff;
28
+ display: flex;
29
+ flex-direction: column;
30
+ padding: 0px 24px 24px 24px;
31
+ box-sizing: content-box;
32
+ }
33
+
34
+ .fcr-launch-failure-comp-banner {
35
+ margin: 0 auto;
36
+ width: 280px;
37
+ align-self: flex-start;
38
+ position: absolute;
39
+ top: -12px;
40
+ }
41
+
42
+ .fcr-launch-failure-comp-info {
43
+ text-align: center;
44
+ margin-top: 24px;
45
+ margin-bottom: 20px;
46
+ color: rgba(55, 60, 66, 1);
47
+ }
48
+
49
+ .fcr-launch-failure-comp-h {
50
+ font-weight: 600;
51
+ margin-bottom: 12px;
52
+ }
53
+
54
+ .fcr-launch-failure-comp-desc {
55
+ font-weight: 400;
56
+ }
57
+
58
+ .fcr-confirm-btn {
59
+ width: 100%;
60
+ height: 36px;
61
+ background-color: rgba(66, 98, 255, 1);
62
+ color: #ffffff;
63
+ text-align: center;
64
+ line-height: 36px;
65
+ border-radius: 6px;
66
+ margin: 0 auto;
67
+ cursor: pointer;
68
+ }
69
+
70
+ .fcr-launch-failure-comp-banner-box {
71
+ position: relative;
72
+ width: 100%;
73
+ height: 180px;
74
+ margin: 0 auto;
75
+ }
76
+ </style>
77
+ </head>
78
+
79
+ <body style="background: rgb(251, 252, 255)">
80
+ <div
81
+ style="display: flex; align-items: center; justify-content: center; height: 100vh"
82
+ id="launch-loading">
83
+ <img src="assets/loading.gif" alt="loading" width="128" height="128" />
84
+ </div>
85
+ <div id="root"></div>
86
+ <div id="fcr-launch-failure-comp" style="display: none">
87
+ <div class="fcr-launch-failure-comp-modal">
88
+ <div class="fcr-launch-failure-comp-banner-box">
89
+ <img class="fcr-launch-failure-comp-banner" src="assets/leave-meeting.png" />
90
+ </div>
91
+ <div class="fcr-launch-failure-comp-info">
92
+ <!-- <div class="fcr-launch-failure-comp-h">
93
+ <span id="fcr-launch-failure-comp-title"></span>
94
+ </div> -->
95
+ <div id="fcr-launch-failure-error-info" class="fcr-launch-failure-comp-desc">
96
+ Error: code=100050051, message=domain:RTE-CLIENT,info: failed to detect AP
97
+ </div>
98
+ </div>
99
+ <div id="fcr-launch-failure-confirm-btn" class="fcr-confirm-btn">
100
+ <span id="fcr-launch-failure-btn-text">I know</span>
101
+ </div>
102
+ </div>
103
+ </div>
104
+ </body>
105
+ <script src="js/init.js"></script>
106
+ <script src="js/meeting-manager.js"></script>
107
+ </html>
@@ -0,0 +1,109 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title></title>
8
+ <style>
9
+ #fcr-launch-failure-comp {
10
+ width: 100vw;
11
+ height: 100vh;
12
+ background-color: rgba(144, 144, 144, 0.6);
13
+ position: fixed;
14
+ top: 0px;
15
+ left: 0px;
16
+ display: flex;
17
+ justify-content: center;
18
+ align-items: center;
19
+ z-index: 9999;
20
+ }
21
+
22
+ .fcr-launch-failure-comp-modal {
23
+ width: 280px;
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
+ padding: 0px 24px 24px 24px;
32
+ box-sizing: content-box;
33
+ }
34
+
35
+ .fcr-launch-failure-comp-banner {
36
+ margin: 0 auto;
37
+ width: 280px;
38
+ align-self: flex-start;
39
+ position: absolute;
40
+ top: -12px;
41
+ }
42
+
43
+ .fcr-launch-failure-comp-info {
44
+ text-align: center;
45
+ margin-top: 24px;
46
+ margin-bottom: 20px;
47
+ color: rgba(55, 60, 66, 1);
48
+ }
49
+
50
+ .fcr-launch-failure-comp-h {
51
+ font-weight: 600;
52
+ margin-bottom: 12px;
53
+ }
54
+
55
+ .fcr-launch-failure-comp-desc {
56
+ font-weight: 400;
57
+ }
58
+
59
+ .fcr-confirm-btn {
60
+ width: 100%;
61
+ height: 36px;
62
+ background-color: rgba(66, 98, 255, 1);
63
+ color: #ffffff;
64
+ text-align: center;
65
+ line-height: 36px;
66
+ border-radius: 6px;
67
+ margin: 0 auto;
68
+ cursor: pointer;
69
+ }
70
+
71
+ .fcr-launch-failure-comp-banner-box {
72
+ position: relative;
73
+ width: 100%;
74
+ height: 180px;
75
+ margin: 0 auto;
76
+ }
77
+ </style>
78
+ </head>
79
+
80
+ <body style="background: rgb(251, 252, 255)">
81
+ <div style="display: flex; align-items: center; justify-content: center; height: 100vh" id="launch-loading">
82
+ <img src="assets/loading.gif" alt="loading" width="128" height="128" />
83
+ </div>
84
+ <div id="root"></div>
85
+ <div id="fcr-launch-failure-comp" style="display: none">
86
+ <div class="fcr-launch-failure-comp-modal">
87
+ <div class="fcr-launch-failure-comp-banner-box">
88
+ <img class="fcr-launch-failure-comp-banner" src="assets/leave-meeting.png" />
89
+ </div>
90
+ <div class="fcr-launch-failure-comp-info">
91
+ <!-- <div class="fcr-launch-failure-comp-h">
92
+ <span id="fcr-launch-failure-comp-title"></span>
93
+ </div> -->
94
+ <div id="fcr-launch-failure-error-info" class="fcr-launch-failure-comp-desc">
95
+ Error: code=100050051, message=domain:RTE-CLIENT,info: failed to detect AP
96
+ </div>
97
+ </div>
98
+ <div id="fcr-launch-failure-confirm-btn" class="fcr-confirm-btn">
99
+ <span id="fcr-launch-failure-btn-text">I know</span>
100
+ </div>
101
+ </div>
102
+ </div>
103
+ </body>
104
+ <script type="module">
105
+ import '/src/index.tsx';
106
+ import '/public/js/init.js';
107
+ import '/public/js/meeting-manager.js';
108
+ </script>
109
+ </html>
@@ -0,0 +1,75 @@
1
+
2
+ window.enLangResource = {
3
+ fmt_statusbar_label_unknown: 'unknown error',
4
+ fmt_pc_room_not_exist_error: 'The room does not exist or the password is wrong',
5
+ fmt_lock_error: 'The host has locked the meeting and no one else can join',
6
+ fmt_end_error: 'The meeting has ended',
7
+ fmt_host_leave_error: 'The moderator is not in the meeting',
8
+ };
9
+
10
+ window.zhLangResource = {
11
+ fmt_statusbar_label_unknown: '未知错误',
12
+ fmt_pc_room_not_exist_error: '房间不存在或密码错误',
13
+ fmt_lock_error: '主持人锁定了会议,其他人不可入会',
14
+ fmt_end_error: '会议已结束',
15
+ fmt_host_leave_error: '主持人不在会议中',
16
+ };
17
+
18
+ function replacePlaceholders(str, obj) {
19
+ // 使用正则表达式匹配所有的占位符
20
+ return str.replace(/{([^}]+)}/g, (match, key) => {
21
+ // 检查对象中是否存在该键
22
+ if (obj.hasOwnProperty(key.trim())) {
23
+ // 如果存在,返回对应的值
24
+ return obj[key.trim()];
25
+ }
26
+ // 如果不存在,返回原始的占位符
27
+ return match;
28
+ });
29
+ }
30
+
31
+ function renderMeetingName(meetingName) {
32
+ if (meetingName.length <= 20) return meetingName;
33
+ return meetingName.slice(0, 20) + '...';
34
+ }
35
+
36
+ window._transI18n = (key, replaceKeys) => {
37
+ const currentLang = window.$$agora_language === 'zh' ? 'zh' : 'en';
38
+ const langResource = window[`${currentLang}LangResource`];
39
+ let res = langResource[key];
40
+ if (res) {
41
+ res = replacePlaceholders(res, replaceKeys);
42
+ }
43
+ return res;
44
+ };
45
+
46
+ const setLoading = (visible) => {
47
+ const dom = document.querySelector('#launch-loading');
48
+ if (dom) {
49
+ if (visible) {
50
+ dom.style.display = 'flex';
51
+ } else {
52
+ dom.style.display = 'none';
53
+ }
54
+ }
55
+ };
56
+
57
+ const setFullScreenFailureComp = (visible, errorMsg) => {
58
+ setLoading(false);
59
+ const dom = document.querySelector('#fcr-launch-failure-comp');
60
+ const titleDom = document.querySelector('#fcr-launch-failure-comp-title');
61
+ const btnTextDom = document.querySelector('#fcr-launch-failure-btn-text');
62
+ if (dom) {
63
+ if (visible) {
64
+ dom.style.display = 'flex';
65
+ // titleDom.innerText = window.$$agora_language === 'zh' ? '锁定会议' : 'Meeting Locked';
66
+ btnTextDom.innerText = window.$$agora_language === 'zh' ? '我已知悉' : 'I know';
67
+ if (errorMsg) {
68
+ const msgDom = document.querySelector('#fcr-launch-failure-error-info');
69
+ msgDom.innerText = errorMsg;
70
+ }
71
+ } else {
72
+ dom.style.display = 'none';
73
+ }
74
+ }
75
+ };