fcr-ui-scene 3.9.0 → 3.9.1-alpha

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 (199) hide show
  1. package/lib/creator/provider-initializer.browser.js +2 -1
  2. package/lib/creator/provider-initializer.electron.js +11 -4
  3. package/lib/electron/injections.d.ts +1 -0
  4. package/lib/electron/injections.js +4 -1
  5. package/lib/electron/preload.js +1 -0
  6. package/lib/modules/action-bar/main-scene/store.base.d.ts +1 -0
  7. package/lib/modules/action-bar/main-scene/store.base.js +5 -0
  8. package/lib/modules/audio-stream/index.d.ts +2 -0
  9. package/lib/modules/audio-stream/index.js +33 -1
  10. package/lib/modules/chat/index.js +1 -1
  11. package/lib/modules/chat/store.d.ts +1 -1
  12. package/lib/modules/chat/store.js +4 -2
  13. package/lib/modules/components/device-control/store.base.d.ts +1 -0
  14. package/lib/modules/components/device-control/store.base.js +22 -3
  15. package/lib/modules/components/leave-meeting/index.js +3 -2
  16. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +1 -0
  17. package/lib/modules/components/leave-meeting/main-scene/store.js +6 -1
  18. package/lib/modules/components/leave-meeting/store.base.d.ts +1 -0
  19. package/lib/modules/components/leave-meeting/store.base.js +1 -1
  20. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +1 -0
  21. package/lib/modules/components/leave-meeting/waiting-scene/store.js +6 -1
  22. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +7 -10
  23. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  24. package/lib/modules/components/member-window/components/member-actions/index.js +0 -7
  25. package/lib/modules/components/member-window/components/member-actions/store.js +1 -1
  26. package/lib/modules/components/member-window/index.js +1 -1
  27. package/lib/modules/components/tab-frame/index.css +12 -1
  28. package/lib/modules/components/tab-frame/index.js +4 -1
  29. package/lib/modules/control-bar/components/share-state-nav/index.js +1 -3
  30. package/lib/modules/control-bar/mouse-event-bridge.d.ts +23 -0
  31. package/lib/modules/control-bar/mouse-event-bridge.js +87 -0
  32. package/lib/modules/control-bar/store.d.ts +1 -1
  33. package/lib/modules/control-bar/store.js +10 -27
  34. package/lib/modules/control-bar/type.d.ts +0 -1
  35. package/lib/modules/control-bar/view.js +9 -16
  36. package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +3 -2
  37. package/lib/modules/dialog/dialogs/invite/index.js +6 -24
  38. package/lib/modules/invite/components/copy-info.css +72 -0
  39. package/lib/modules/invite/components/copy-info.d.ts +3 -0
  40. package/lib/modules/invite/components/copy-info.js +144 -0
  41. package/lib/modules/invite/components/pstn-invite.js +3 -15
  42. package/lib/modules/invite/components/voip-invite.js +10 -1
  43. package/lib/modules/invite/enums.d.ts +3 -1
  44. package/lib/modules/invite/enums.js +2 -0
  45. package/lib/modules/invite/store.d.ts +4 -1
  46. package/lib/modules/invite/store.js +37 -13
  47. package/lib/modules/invite/view.js +41 -20
  48. package/lib/modules/layout/store.base.d.ts +2 -1
  49. package/lib/modules/layout/store.base.js +20 -23
  50. package/lib/modules/participant/components/confirm-input/index.css +67 -1
  51. package/lib/modules/participant/components/confirm-input/index.js +16 -13
  52. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +4 -0
  53. package/lib/modules/participant/store.base.d.ts +1 -0
  54. package/lib/modules/participant/store.base.js +34 -7
  55. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +2 -0
  56. package/lib/modules/pc-audio-connect/main-scene/store.js +12 -2
  57. package/lib/modules/pc-audio-connect/view.js +4 -2
  58. package/lib/modules/phone-audio-connect/store.d.ts +6 -4
  59. package/lib/modules/phone-audio-connect/store.js +12 -1
  60. package/lib/modules/phone-audio-connect/view.js +6 -4
  61. package/lib/modules/secondary-window/index.js +2 -2
  62. package/lib/modules/secondary-window/store.d.ts +3 -0
  63. package/lib/modules/secondary-window/store.js +16 -1
  64. package/lib/modules/secondary-window/view.js +96 -72
  65. package/lib/modules/toast-manager/type.d.ts +2 -1
  66. package/lib/modules/toast-manager/type.js +4 -1
  67. package/lib/plugins/module-dev-plugin.js +4 -4
  68. package/lib/providers/ability-provider.d.ts +15 -0
  69. package/lib/providers/ability-provider.js +13 -1
  70. package/lib/providers/mouse-detect/provider.d.ts +2 -0
  71. package/lib/providers/mouse-detect/provider.empty.d.ts +14 -0
  72. package/lib/providers/mouse-detect/provider.empty.js +47 -0
  73. package/lib/providers/mouse-detect/provider.js +13 -4
  74. package/lib/providers/mouse-detect/type.d.ts +2 -0
  75. package/lib/providers/phone-audio-provider.d.ts +31 -5
  76. package/lib/providers/phone-audio-provider.js +83 -22
  77. package/lib/runtime.d.ts +1 -0
  78. package/lib/scenes/main-scene.js +2 -1
  79. package/lib/shared-data/chat-data.d.ts +19 -0
  80. package/lib/shared-data/chat-data.js +54 -7
  81. package/lib/shared-data/member-data.d.ts +9 -1
  82. package/lib/shared-data/member-data.js +46 -17
  83. package/lib/shared-data/video-window.js +8 -4
  84. package/lib/translations/enUS.d.ts +245 -1
  85. package/lib/translations/enUS.js +247 -3
  86. package/lib/translations/zhCN.d.ts +245 -1
  87. package/lib/translations/zhCN.js +246 -2
  88. package/lib/utilities/os.d.ts +1 -0
  89. package/lib/utilities/os.js +15 -0
  90. package/lib/utilities/renderer.d.ts +1 -0
  91. package/lib/utilities/renderer.js +7 -1
  92. package/lib-es/creator/provider-initializer.browser.js +2 -1
  93. package/lib-es/creator/provider-initializer.electron.js +9 -2
  94. package/lib-es/electron/injections.js +3 -0
  95. package/lib-es/electron/preload.js +2 -1
  96. package/lib-es/modules/action-bar/main-scene/store.base.js +5 -0
  97. package/lib-es/modules/audio-stream/index.js +33 -1
  98. package/lib-es/modules/chat/index.js +1 -1
  99. package/lib-es/modules/chat/store.js +4 -2
  100. package/lib-es/modules/components/device-control/store.base.js +22 -3
  101. package/lib-es/modules/components/leave-meeting/index.js +3 -2
  102. package/lib-es/modules/components/leave-meeting/main-scene/store.js +6 -1
  103. package/lib-es/modules/components/leave-meeting/store.base.js +1 -1
  104. package/lib-es/modules/components/leave-meeting/waiting-scene/store.js +6 -1
  105. package/lib-es/modules/components/member-window/components/member-actions/components/icon-status.js +7 -10
  106. package/lib-es/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  107. package/lib-es/modules/components/member-window/components/member-actions/index.js +0 -7
  108. package/lib-es/modules/components/member-window/components/member-actions/store.js +1 -1
  109. package/lib-es/modules/components/member-window/index.js +1 -1
  110. package/lib-es/modules/components/tab-frame/index.css +12 -1
  111. package/lib-es/modules/components/tab-frame/index.js +4 -1
  112. package/lib-es/modules/control-bar/components/share-state-nav/index.js +1 -3
  113. package/lib-es/modules/control-bar/mouse-event-bridge.js +79 -0
  114. package/lib-es/modules/control-bar/store.js +11 -28
  115. package/lib-es/modules/control-bar/view.js +9 -16
  116. package/lib-es/modules/dialog/dialogs/connection-gateway/tabs.js +3 -2
  117. package/lib-es/modules/dialog/dialogs/invite/index.js +6 -24
  118. package/lib-es/modules/invite/components/copy-info.css +72 -0
  119. package/lib-es/modules/invite/components/copy-info.js +137 -0
  120. package/lib-es/modules/invite/components/pstn-invite.js +3 -15
  121. package/lib-es/modules/invite/components/voip-invite.js +10 -1
  122. package/lib-es/modules/invite/enums.js +2 -0
  123. package/lib-es/modules/invite/store.js +38 -14
  124. package/lib-es/modules/invite/view.js +43 -22
  125. package/lib-es/modules/layout/store.base.js +20 -23
  126. package/lib-es/modules/participant/components/confirm-input/index.css +67 -1
  127. package/lib-es/modules/participant/components/confirm-input/index.js +16 -13
  128. package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/index.css +4 -0
  129. package/lib-es/modules/participant/store.base.js +34 -7
  130. package/lib-es/modules/pc-audio-connect/main-scene/store.js +12 -2
  131. package/lib-es/modules/pc-audio-connect/view.js +4 -2
  132. package/lib-es/modules/phone-audio-connect/store.js +12 -1
  133. package/lib-es/modules/phone-audio-connect/view.js +6 -4
  134. package/lib-es/modules/secondary-window/index.js +2 -2
  135. package/lib-es/modules/secondary-window/store.js +16 -1
  136. package/lib-es/modules/secondary-window/view.js +97 -73
  137. package/lib-es/modules/toast-manager/type.js +4 -1
  138. package/lib-es/plugins/module-dev-plugin.js +4 -4
  139. package/lib-es/providers/ability-provider.js +13 -1
  140. package/lib-es/providers/mouse-detect/provider.empty.js +39 -0
  141. package/lib-es/providers/mouse-detect/provider.js +13 -4
  142. package/lib-es/providers/phone-audio-provider.js +109 -48
  143. package/lib-es/scenes/main-scene.js +3 -2
  144. package/lib-es/shared-data/chat-data.js +55 -8
  145. package/lib-es/shared-data/member-data.js +46 -17
  146. package/lib-es/shared-data/video-window.js +8 -4
  147. package/lib-es/translations/enUS.js +247 -3
  148. package/lib-es/translations/zhCN.js +246 -2
  149. package/lib-es/utilities/os.js +8 -0
  150. package/lib-es/utilities/renderer.js +7 -1
  151. package/lib-es/utilities/shared-storage.js +2 -2
  152. package/package.json +6 -6
  153. package/lib/modules/connection-gateway/components/computer/index.css +0 -12
  154. package/lib/modules/connection-gateway/components/computer/index.d.ts +0 -3
  155. package/lib/modules/connection-gateway/components/computer/index.js +0 -66
  156. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +0 -36
  157. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +0 -10
  158. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +0 -78
  159. package/lib/modules/connection-gateway/components/phone/components/calling/index.css +0 -72
  160. package/lib/modules/connection-gateway/components/phone/components/calling/index.d.ts +0 -7
  161. package/lib/modules/connection-gateway/components/phone/components/calling/index.js +0 -58
  162. package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +0 -10
  163. package/lib/modules/connection-gateway/components/phone/components/remeber/index.d.ts +0 -5
  164. package/lib/modules/connection-gateway/components/phone/components/remeber/index.js +0 -24
  165. package/lib/modules/connection-gateway/components/phone/components/useing/index.css +0 -46
  166. package/lib/modules/connection-gateway/components/phone/components/useing/index.d.ts +0 -3
  167. package/lib/modules/connection-gateway/components/phone/components/useing/index.js +0 -36
  168. package/lib/modules/connection-gateway/components/phone/index.css +0 -49
  169. package/lib/modules/connection-gateway/components/phone/index.d.ts +0 -3
  170. package/lib/modules/connection-gateway/components/phone/index.js +0 -185
  171. package/lib/modules/connection-gateway/enums.d.ts +0 -4
  172. package/lib/modules/connection-gateway/enums.js +0 -12
  173. package/lib/modules/connection-gateway/index.css +0 -6
  174. package/lib/modules/connection-gateway/index.d.ts +0 -10
  175. package/lib/modules/connection-gateway/index.js +0 -78
  176. package/lib/modules/connection-gateway/store.d.ts +0 -68
  177. package/lib/modules/connection-gateway/store.js +0 -713
  178. package/lib/modules/connection-gateway/types.d.ts +0 -8
  179. package/lib/modules/connection-gateway/types.js +0 -6
  180. package/lib/modules/connection-gateway/view.d.ts +0 -1
  181. package/lib/modules/connection-gateway/view.js +0 -39
  182. package/lib-es/modules/connection-gateway/components/computer/index.css +0 -12
  183. package/lib-es/modules/connection-gateway/components/computer/index.js +0 -59
  184. package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.css +0 -36
  185. package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.js +0 -71
  186. package/lib-es/modules/connection-gateway/components/phone/components/calling/index.css +0 -72
  187. package/lib-es/modules/connection-gateway/components/phone/components/calling/index.js +0 -51
  188. package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.css +0 -10
  189. package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.js +0 -17
  190. package/lib-es/modules/connection-gateway/components/phone/components/useing/index.css +0 -46
  191. package/lib-es/modules/connection-gateway/components/phone/components/useing/index.js +0 -29
  192. package/lib-es/modules/connection-gateway/components/phone/index.css +0 -49
  193. package/lib-es/modules/connection-gateway/components/phone/index.js +0 -177
  194. package/lib-es/modules/connection-gateway/enums.js +0 -5
  195. package/lib-es/modules/connection-gateway/index.css +0 -6
  196. package/lib-es/modules/connection-gateway/index.js +0 -60
  197. package/lib-es/modules/connection-gateway/store.js +0 -707
  198. package/lib-es/modules/connection-gateway/types.js +0 -1
  199. package/lib-es/modules/connection-gateway/view.js +0 -31
@@ -0,0 +1,137 @@
1
+ import "core-js/modules/es.regexp.exec.js";
2
+ import "core-js/modules/es.string.replace.js";
3
+ import { useI18n } from 'agora-ui-foundation/lib/i18n';
4
+ import './copy-info.css';
5
+ import { FcrButton } from 'agora-ui-foundation/lib/components/button';
6
+ import { useCallback, useContext } from 'react';
7
+ import { copyText } from 'agora-ui-foundation/lib/utilities/copy-text';
8
+ import { FcrUIToastKey } from '../../toast-manager/type';
9
+ import { StoreContext } from '../store';
10
+ import { FcrIcon } from 'agora-ui-foundation/lib/components/icon';
11
+ import { FcrIconType } from 'agora-ui-foundation/lib/components/icon/type';
12
+ import { renderMeetingId } from 'agora-foundation/lib/utilities/tools';
13
+ import { generateMeetingDuration } from '../../../utilities/meeting-detail';
14
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
+ var CopyInfo = function CopyInfo() {
16
+ var transI18n = useI18n();
17
+ var _useContext = useContext(StoreContext),
18
+ _useContext$roomInfo = _useContext.roomInfo,
19
+ inviteLink = _useContext$roomInfo.inviteLink,
20
+ roomId = _useContext$roomInfo.roomId,
21
+ roomName = _useContext$roomInfo.roomName,
22
+ password = _useContext$roomInfo.password,
23
+ showToast = _useContext.showToast,
24
+ roomDetailCopyText = _useContext.roomDetailCopyText,
25
+ localUserName = _useContext.localUserName,
26
+ meetingId = _useContext.meetingId,
27
+ roomSchedule = _useContext.roomSchedule;
28
+ var duration = (roomSchedule === null || roomSchedule === void 0 ? void 0 : roomSchedule.duration) || 0;
29
+ var startTime = (roomSchedule === null || roomSchedule === void 0 ? void 0 : roomSchedule.startTime) || 0;
30
+ function handleCopyMeetingId(copyContent) {
31
+ if (!copyContent) return;
32
+ var content = meetingId ? copyContent : copyContent.replace(/\s+/g, '');
33
+ copyText(content).then(function () {
34
+ showToast({
35
+ key: FcrUIToastKey.FMT_STATUSBAR_STATUS_COPPIED
36
+ });
37
+ })["catch"](function () {
38
+ showToast({
39
+ key: FcrUIToastKey.FMT_INFORMATION_TIPS_NUMBERCOPYFAILED
40
+ });
41
+ });
42
+ }
43
+ var handleCopyMeetingDetail = useCallback(function () {
44
+ copyText(roomDetailCopyText).then(function () {
45
+ showToast({
46
+ key: FcrUIToastKey.FMT_STATUSBAR_STATUS_COPPIED
47
+ });
48
+ });
49
+ }, []);
50
+ var displayMeetingId = renderMeetingId(meetingId, roomId);
51
+ return /*#__PURE__*/_jsxs("div", {
52
+ className: "fcr-invite-copy-info",
53
+ children: [/*#__PURE__*/_jsxs("div", {
54
+ className: "fcr-invite-copy-info-content",
55
+ children: [/*#__PURE__*/_jsx("div", {
56
+ className: "fcr-invite-copy-info-title",
57
+ children: transI18n('fmt_link_invitation', {
58
+ reason1: localUserName
59
+ })
60
+ }), /*#__PURE__*/_jsxs("div", {
61
+ className: "fcr-invite-copy-info-content-item",
62
+ children: [/*#__PURE__*/_jsx("div", {
63
+ className: "fcr-invite-copy-info-content-item-label",
64
+ children: transI18n('fmt_meetinginfo_room_topic')
65
+ }), /*#__PURE__*/_jsx("div", {
66
+ className: "fcr-invite-copy-info-content-item-value",
67
+ children: roomName
68
+ })]
69
+ }), /*#__PURE__*/_jsxs("div", {
70
+ className: "fcr-invite-copy-info-content-item",
71
+ children: [/*#__PURE__*/_jsx("div", {
72
+ className: "fcr-invite-copy-info-content-item-label",
73
+ children: transI18n('fmt_meetingInfo_window_info_meetingID')
74
+ }), /*#__PURE__*/_jsxs("div", {
75
+ className: "fcr-invite-copy-info-content-item-value fcr-invite-copy-info-content-item-value-meeting-id",
76
+ children: [/*#__PURE__*/_jsx("span", {
77
+ children: displayMeetingId
78
+ }), /*#__PURE__*/_jsx(FcrIcon, {
79
+ onClick: function onClick() {
80
+ return handleCopyMeetingId(displayMeetingId);
81
+ },
82
+ type: FcrIconType.FCR_COPY_ICON,
83
+ size: 20,
84
+ colors: {
85
+ iconPrimary: 'var(--fcr_ui_scene_icontext1)'
86
+ }
87
+ })]
88
+ })]
89
+ }), password && /*#__PURE__*/_jsxs("div", {
90
+ className: "fcr-invite-copy-info-content-item",
91
+ children: [/*#__PURE__*/_jsx("div", {
92
+ className: "fcr-invite-copy-info-content-item-label",
93
+ children: transI18n('fmt_premeeting_joinroom_mobile_tips_password')
94
+ }), /*#__PURE__*/_jsxs("div", {
95
+ className: "fcr-invite-copy-info-content-item-value fcr-invite-copy-info-content-item-value-meeting-id",
96
+ children: [/*#__PURE__*/_jsx("span", {
97
+ children: password
98
+ }), /*#__PURE__*/_jsx(FcrIcon, {
99
+ onClick: function onClick() {
100
+ return handleCopyMeetingId(password);
101
+ },
102
+ type: FcrIconType.FCR_COPY_ICON,
103
+ size: 20,
104
+ colors: {
105
+ iconPrimary: 'var(--fcr_ui_scene_icontext1)'
106
+ }
107
+ })]
108
+ })]
109
+ }), /*#__PURE__*/_jsxs("div", {
110
+ className: "fcr-invite-copy-info-content-item",
111
+ children: [/*#__PURE__*/_jsx("div", {
112
+ className: "fcr-invite-copy-info-content-item-label",
113
+ children: transI18n('fmt_invitepage_label_invite_link')
114
+ }), /*#__PURE__*/_jsx("div", {
115
+ className: "fcr-invite-copy-info-content-item-value",
116
+ children: inviteLink
117
+ })]
118
+ }), /*#__PURE__*/_jsxs("div", {
119
+ className: "fcr-invite-copy-info-content-item",
120
+ children: [/*#__PURE__*/_jsx("div", {
121
+ className: "fcr-invite-copy-info-content-item-label",
122
+ children: transI18n('fmt_ai_summary_create_labels_meeting_time')
123
+ }), /*#__PURE__*/_jsx("div", {
124
+ className: "fcr-invite-copy-info-content-item-value",
125
+ children: generateMeetingDuration(startTime || 0, duration)
126
+ })]
127
+ })]
128
+ }), /*#__PURE__*/_jsx(FcrButton, {
129
+ type: "secondary-bordered",
130
+ size: "XS",
131
+ onClick: handleCopyMeetingDetail,
132
+ className: "invite__pstn-invite-copyinfo",
133
+ children: transI18n('fmt_popup_button_meetinginfor')
134
+ })]
135
+ });
136
+ };
137
+ export default CopyInfo;
@@ -152,9 +152,9 @@ export var PSTNInvite = observer(function () {
152
152
  setIsInvitePhoneNumberError(true);
153
153
  }
154
154
  };
155
- return /*#__PURE__*/_jsxs("div", {
155
+ return /*#__PURE__*/_jsx("div", {
156
156
  className: "invite__pstn-invite",
157
- children: [/*#__PURE__*/_jsxs("div", {
157
+ children: /*#__PURE__*/_jsxs("div", {
158
158
  className: "invite__pstn-invite__phone",
159
159
  children: [!isPstnCalling ? /*#__PURE__*/_jsxs("div", {
160
160
  className: "invite__pstn-invite_edit_phone",
@@ -228,18 +228,6 @@ export var PSTNInvite = observer(function () {
228
228
  size: "XS",
229
229
  children: !isPstnCalling ? transI18n('fmt_pstn_label_phonecall') : transI18n('fmt_pstn_button_hangupphone')
230
230
  })]
231
- }), /*#__PURE__*/_jsx("div", {
232
- className: "invite__pstn-invite-divider",
233
- children: /*#__PURE__*/_jsx("span", {
234
- className: "invite__pstn-invite-divider-content",
235
- children: transI18n('fmt_pstn_label_or')
236
- })
237
- }), /*#__PURE__*/_jsx(FcrButton, {
238
- type: "secondary-bordered",
239
- size: "XS",
240
- onClick: handleCopyMeetingDetail,
241
- className: "invite__pstn-invite-copyinfo",
242
- children: transI18n('fmt_popup_button_meetinginfor')
243
- })]
231
+ })
244
232
  });
245
233
  });
@@ -19,6 +19,8 @@ import { useI18n } from 'agora-ui-foundation/lib/i18n';
19
19
  import { ErrorTips } from './error-tips';
20
20
  import { CallType, InviteStatus, VoipType } from '../enums';
21
21
  import './voip-invite.css';
22
+ import { isPhoneNumber } from 'agora-foundation/lib/utilities/regex';
23
+ import { FcrUIToastKey } from '../../toast-manager/type';
22
24
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
23
25
  export var VoipInvite = observer(function () {
24
26
  var _calledVoipInfo$state;
@@ -45,12 +47,19 @@ export var VoipInvite = observer(function () {
45
47
  isVoipCalling = _useContext.isVoipCalling,
46
48
  startSessionByVoip = _useContext.startSessionByVoip,
47
49
  stopSession = _useContext.stopSession,
48
- calledVoipInfo = _useContext.calledVoipInfo;
50
+ calledVoipInfo = _useContext.calledVoipInfo,
51
+ showToast = _useContext.showToast;
49
52
  var _useState9 = useState(false),
50
53
  _useState0 = _slicedToArray(_useState9, 2),
51
54
  isLoading = _useState0[0],
52
55
  setIsLoading = _useState0[1];
53
56
  var handleCallVoip = function handleCallVoip() {
57
+ if (isPhoneNumber(callVoip)) {
58
+ showToast({
59
+ key: FcrUIToastKey.FMT_SIP_TIPS_ENTER_CORRECT_NUMBER
60
+ });
61
+ return;
62
+ }
54
63
  checkInput(callVoip, setIsError);
55
64
  if (callVoip.trim().length === 0) {
56
65
  return;
@@ -1,6 +1,8 @@
1
1
  export var InviteType = /*#__PURE__*/function (InviteType) {
2
2
  InviteType["PSTN"] = "PSTN";
3
3
  InviteType["VOIP"] = "VOIP";
4
+ InviteType["COPY"] = "COPY";
5
+ InviteType["WIDGET"] = "WIDGET";
4
6
  return InviteType;
5
7
  }({});
6
8
  export var CallType = /*#__PURE__*/function (CallType) {
@@ -38,10 +38,13 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
38
38
  var _InviteStore;
39
39
  var _initProto, _init_InviteStatus, _init_isPstnCalling, _init_isVoipCalling, _init_ipInfo, _init_phoneInfo, _init_calledPstnInfo, _init_calledVoipInfo, _stopSessionDecs, _startSessionByPhoneDecs, _startSessionByVoipDecs, _showToastDecs, _getRoomConnectorIpInfoDecs, _getRoomConnectorPhoneInfoDecs, _handleErrorDecs, _updateInviteStatusDecs, _resetpstnStatusDecs, _resetVoipStatusDecs, _handlePhoneConnectorSessionStateUpdatedDecs, _handleIPConnectorSessionStateUpdatedDecs, _ref;
40
40
  import _regeneratorRuntime from "@babel/runtime/regenerator";
41
+ import "core-js/modules/es.array.concat.js";
41
42
  import "core-js/modules/es.array.find.js";
43
+ import "core-js/modules/es.array.includes.js";
42
44
  import "core-js/modules/es.array.iterator.js";
43
45
  import "core-js/modules/es.array.map.js";
44
46
  import "core-js/modules/es.object.to-string.js";
47
+ import "core-js/modules/es.string.includes.js";
45
48
  import "core-js/modules/es.string.iterator.js";
46
49
  import "core-js/modules/es.weak-map.js";
47
50
  import "core-js/modules/esnext.iterator.constructor.js";
@@ -62,7 +65,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
62
65
  function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
63
66
  function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
64
67
  import { action, computed, observable } from 'mobx';
65
- import { FcrIPConnectorSessionType, FcrRoomConnectorPhoneRegion, FcrRoomConnectorSessionReason, FcrRoomConnectorSessionState } from 'fcr-core/lib/room-control/room-connector-control/type';
68
+ import { FcrIPConnectorSessionType, FcrIPConnectorSessionTypeToStringMap, FcrPhoneConnectorSessionType, FcrPhoneConnectorSessionTypeToStringMap, FcrRoomConnectorPhoneRegion, FcrRoomConnectorSessionReason, FcrRoomConnectorSessionState } from 'fcr-core/lib/room-control/room-connector-control/type';
66
69
  import { createContext } from 'react';
67
70
  import { CONTACTS_WIDGET_ID } from '../../type';
68
71
  import { InviteStatus } from './enums';
@@ -70,6 +73,7 @@ import { FcrUIObjectKeys } from '../../object-manager';
70
73
  import { createLogger } from '../../utilities/logger';
71
74
  import { getInvitationInfoByRoomInfo } from '../../utilities/meeting-detail';
72
75
  import { FcrUIDialogKey } from '../../utilities/constant';
76
+ import { FcrUIToastKey } from '../toast-manager/type';
73
77
  var _A = /*#__PURE__*/new WeakMap();
74
78
  var _B = /*#__PURE__*/new WeakMap();
75
79
  var _C = /*#__PURE__*/new WeakMap();
@@ -141,6 +145,8 @@ var InviteStore = /*#__PURE__*/function () {
141
145
  // Get all required objects from objectManager
142
146
 
143
147
  this._mainRoomControl = objectManager.getObject(FcrUIObjectKeys.P_MAIN_ROOM_CONTROL_PROVIDER).mainRoomControl;
148
+ this._abilityProvider = objectManager.getObject(FcrUIObjectKeys.P_ABILITY_PROVIDER);
149
+ this._phoneAudioConnectorProvider = objectManager.getObject(FcrUIObjectKeys.P_PHONE_AUDIO_CONNECTOR_PROVIDER);
144
150
  this._messageProvider = objectManager.getObject(FcrUIObjectKeys.P_MESSAGE_PROVIDER);
145
151
  this._roomConnectorControl = this._mainRoomControl.getRoomConnectorControl();
146
152
  this._sharedMemberDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_MEMBER_DATA_SOURCE);
@@ -297,6 +303,26 @@ var InviteStore = /*#__PURE__*/function () {
297
303
  get: function get() {
298
304
  return this.roomInfo.roomId;
299
305
  }
306
+ }, {
307
+ key: "showInvitePstnTab",
308
+ get: function get() {
309
+ var types = this._phoneAudioConnectorProvider.getCallOutTypeArray();
310
+ var hasPstnPermission = types.includes(FcrPhoneConnectorSessionTypeToStringMap[FcrPhoneConnectorSessionType.PSTN]);
311
+ var hasVoltePermission = types.includes(FcrPhoneConnectorSessionTypeToStringMap[FcrPhoneConnectorSessionType.VOLTE]);
312
+ var isPstnCallOutSupported = this._abilityProvider.isCallOutAbilitySupported() && hasPstnPermission;
313
+ var isVolteCallOutSupported = this._abilityProvider.isCallOutVolteAbilitySupported() && hasVoltePermission;
314
+ return isPstnCallOutSupported || isVolteCallOutSupported;
315
+ }
316
+ }, {
317
+ key: "showInviteVoipTab",
318
+ get: function get() {
319
+ var types = this._phoneAudioConnectorProvider.getCallOutTypeArray();
320
+ var hasH323Permission = types.includes(FcrIPConnectorSessionTypeToStringMap[FcrIPConnectorSessionType.H323]);
321
+ var hasSipPermission = types.includes(FcrIPConnectorSessionTypeToStringMap[FcrIPConnectorSessionType.SIP]);
322
+ var isH323CallOutSupported = this._abilityProvider.isCallOutH323AbilitySupported() && hasH323Permission;
323
+ var isSipCallOutSupported = this._abilityProvider.isCallOutSipAbilitySupported() && hasSipPermission;
324
+ return isH323CallOutSupported || isSipCallOutSupported;
325
+ }
300
326
  }, {
301
327
  key: "widgetConfigByContacts",
302
328
  get: function get() {
@@ -305,16 +331,6 @@ var InviteStore = /*#__PURE__*/function () {
305
331
  });
306
332
  return contacts;
307
333
  }
308
- }, {
309
- key: "closeInviteDialog",
310
- value: function closeInviteDialog() {
311
- if (this._pstnSessionId) {
312
- this.stopSession('pstn');
313
- }
314
- if (this._voipSessionId) {
315
- this.stopSession('voip');
316
- }
317
- }
318
334
  }, {
319
335
  key: "release",
320
336
  value: function release() {
@@ -364,11 +380,12 @@ var InviteStore = /*#__PURE__*/function () {
364
380
  key: "startSessionByPhone",
365
381
  value: function () {
366
382
  var _startSessionByPhone = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref4) {
367
- var phoneNumber, userName, zone, _t2;
383
+ var phoneNumber, userName, zone, type, _t2;
368
384
  return _regeneratorRuntime.wrap(function (_context2) {
369
385
  while (1) switch (_context2.prev = _context2.next) {
370
386
  case 0:
371
387
  phoneNumber = _ref4.phoneNumber, userName = _ref4.userName, zone = _ref4.zone;
388
+ type = this._phoneAudioConnectorProvider.getPhoneCallOutType();
372
389
  this.isPstnCalling = true;
373
390
  this.calledPstnInfo = {
374
391
  phoneNumber: phoneNumber,
@@ -379,7 +396,8 @@ var InviteStore = /*#__PURE__*/function () {
379
396
  _context2.next = 2;
380
397
  return this._roomConnectorControl.startSessionByPhone({
381
398
  phoneNumber: phoneNumber,
382
- userName: userName
399
+ userName: userName,
400
+ type: type
383
401
  });
384
402
  case 2:
385
403
  this._pstnSessionId = _context2.sent;
@@ -389,7 +407,7 @@ var InviteStore = /*#__PURE__*/function () {
389
407
  case 3:
390
408
  _context2.prev = 3;
391
409
  _t2 = _context2["catch"](1);
392
- this.handleError(this.calledVoipInfo, _t2, 'voip');
410
+ this.handleError(this.calledVoipInfo, _t2, 'pstn');
393
411
  case 4:
394
412
  case "end":
395
413
  return _context2.stop();
@@ -493,6 +511,12 @@ var InviteStore = /*#__PURE__*/function () {
493
511
  value: function handleError(info, error, sessionType) {
494
512
  var _this2 = this;
495
513
  this.updateInviteStatus(info, InviteStatus.ERROR);
514
+ this.showToast({
515
+ key: FcrUIToastKey.ERR_MESSAGE,
516
+ params: {
517
+ message: "code: ".concat(error.code, ", message: ").concat(error.message)
518
+ }
519
+ });
496
520
  setTimeout(function () {
497
521
  if (sessionType === 'pstn') {
498
522
  _this2.isPstnCalling = false;
@@ -2,40 +2,61 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import "core-js/modules/es.array.push.js";
3
3
  import "core-js/modules/es.function.name.js";
4
4
  import { observer } from 'mobx-react';
5
- import { useContext, useState } from 'react';
5
+ import { useContext, useMemo, useState } from 'react';
6
6
  import { PSTNInvite } from './components/pstn-invite';
7
7
  import { VoipInvite } from './components/voip-invite';
8
8
  import { useI18n } from 'agora-ui-foundation/lib/i18n';
9
9
  import FcrTabFrame from '../components/tab-frame';
10
10
  import { InviteType } from './enums';
11
11
  import { StoreContext } from './store';
12
- import { jsx as _jsx } from "react/jsx-runtime";
12
+ import CopyInfo from './components/copy-info';
13
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
13
14
  export var View = observer(function (props) {
14
15
  var contactsChildren = props.contactsChildren;
15
16
  var _useContext = useContext(StoreContext),
16
- widgetConfigByContacts = _useContext.widgetConfigByContacts;
17
- var widgetConfigByContactsId = widgetConfigByContacts === null || widgetConfigByContacts === void 0 ? void 0 : widgetConfigByContacts.id;
18
- var _useState = useState(InviteType.PSTN),
17
+ widgetConfigByContacts = _useContext.widgetConfigByContacts,
18
+ showInviteVoipTab = _useContext.showInviteVoipTab,
19
+ showInvitePstnTab = _useContext.showInvitePstnTab;
20
+ var transI18n = useI18n();
21
+ var _useState = useState(InviteType.COPY),
19
22
  _useState2 = _slicedToArray(_useState, 2),
20
23
  currentInviteType = _useState2[0],
21
24
  setCurrentInviteType = _useState2[1];
22
- var transI18n = useI18n();
23
- var tabs = [{
24
- label: "".concat(transI18n('fmt_pstn_label_phonecall')),
25
- key: InviteType.PSTN,
26
- content: /*#__PURE__*/_jsx(PSTNInvite, {})
27
- }, {
28
- label: "".concat(transI18n('fmt_sip_options_H323')),
29
- key: InviteType.VOIP,
30
- content: /*#__PURE__*/_jsx(VoipInvite, {})
31
- }];
32
- if (widgetConfigByContacts) {
33
- tabs.push({
34
- label: widgetConfigByContacts.name,
35
- key: widgetConfigByContactsId,
36
- content: contactsChildren
37
- });
38
- }
25
+ var tabs = useMemo(function () {
26
+ var tabs = [{
27
+ label: transI18n('fmt_invitepage_label_by_invitation'),
28
+ key: InviteType.COPY,
29
+ content: /*#__PURE__*/_jsx(CopyInfo, {})
30
+ }];
31
+ if (showInvitePstnTab) {
32
+ tabs.push({
33
+ label: "".concat(transI18n('fmt_pstn_label_phonecall')),
34
+ key: InviteType.PSTN,
35
+ content: /*#__PURE__*/_jsx(PSTNInvite, {})
36
+ });
37
+ }
38
+ if (showInviteVoipTab) {
39
+ tabs.push({
40
+ label: transI18n('fmt_invitepage_label_meeting_connector'),
41
+ key: InviteType.VOIP,
42
+ content: /*#__PURE__*/_jsx(VoipInvite, {})
43
+ });
44
+ }
45
+ if (widgetConfigByContacts) {
46
+ tabs.push({
47
+ key: InviteType.WIDGET,
48
+ label: widgetConfigByContacts.name,
49
+ content: /*#__PURE__*/_jsx(_Fragment, {
50
+ children: contactsChildren
51
+ })
52
+ });
53
+ }
54
+ var isSingleTab = tabs.length === 1;
55
+ if (isSingleTab && tabs[0].key === InviteType.COPY) {
56
+ tabs[0].label = transI18n('fmt_invitepage_label_meeting_details');
57
+ }
58
+ return tabs;
59
+ }, [transI18n, widgetConfigByContacts, contactsChildren, showInvitePstnTab, showInviteVoipTab]);
39
60
  return /*#__PURE__*/_jsx(FcrTabFrame, {
40
61
  activeKey: currentInviteType,
41
62
  onChange: function onChange(key) {
@@ -33,7 +33,7 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
33
33
  import _createClass from "@babel/runtime/helpers/createClass";
34
34
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
35
35
  var _LayoutStoreBase;
36
- var _initProto, _participantDecs, _init_participant, _chatDecs, _init_chat, _chatActionDecs, _init_chatAction, _stateBarDecs, _init_stateBar, _actionBarDecs, _init_actionBar, _layersDecs, _init_layers, _whiteboardDecs, _init_whiteboard, _annotationDecs, _init_annotation, _screenShareControlDecs, _init_screenShareControl, _subtitlesDecs, _init_subtitles, _subtitlesHistoryDecs, _init_subtitlesHistory, _subtitlesHistorySettingsDecs, _init_subtitlesHistorySettings, _init_collapsed, _init_aside, _init_barHovering, _init_barLocked, _init_barHidden, _init_asideWidth, _init_chatRoomState, _init_whiteboardActive, _init_ownerUser, _addPinMessageDecs, _cancelPinMessageDecs, _setWhiteboardActiveDecs, _setAsideWidthDecs, _updateSlotsDecs, _toggleLayoutDecs, _toggleCollapsedDecs, _toggleAsideDecs, _asideWidthChangedDecs, _toggleLayoutBarLockDecs, _toggleLayoutBarHiddenDecs, _resetLockTimerDecs, _setHoveringHandlerDecs, _setHoveringLeaveHandlerDecs, _setScreenShareSpeakerViewSizeDecs, _handleLiveLayoutChangeDecs, _onUserInfoUpdatedDecs, _handleLayoutUpdatedDecs, _init__handleLayoutUpdated, _handleMainListLengthChangedDecs, _handleMainListChangedDecs, _setBarHoveringDecs, _handleConnectionUpdatedDecs, _findVideoWindowByUserIdDecs, _onRemoteUsersLeftDecs, _ref;
36
+ var _initProto, _participantDecs, _init_participant, _chatDecs, _init_chat, _chatActionDecs, _init_chatAction, _stateBarDecs, _init_stateBar, _actionBarDecs, _init_actionBar, _layersDecs, _init_layers, _whiteboardDecs, _init_whiteboard, _annotationDecs, _init_annotation, _screenShareControlDecs, _init_screenShareControl, _subtitlesDecs, _init_subtitles, _subtitlesHistoryDecs, _init_subtitlesHistory, _subtitlesHistorySettingsDecs, _init_subtitlesHistorySettings, _init_collapsed, _init_aside, _init_barHovering, _init_barLocked, _init_barHidden, _init_asideWidth, _init_whiteboardActive, _init_ownerUser, _addPinMessageDecs, _cancelPinMessageDecs, _setWhiteboardActiveDecs, _setAsideWidthDecs, _updateSlotsDecs, _toggleLayoutDecs, _toggleCollapsedDecs, _toggleAsideDecs, _asideWidthChangedDecs, _toggleLayoutBarLockDecs, _toggleLayoutBarHiddenDecs, _resetLockTimerDecs, _setHoveringHandlerDecs, _setHoveringLeaveHandlerDecs, _setScreenShareSpeakerViewSizeDecs, _handleLiveLayoutChangeDecs, _onUserInfoUpdatedDecs, _handleLayoutUpdatedDecs, _init__handleLayoutUpdated, _handleMainListLengthChangedDecs, _handleMainListChangedDecs, _setBarHoveringDecs, _handleConnectionUpdatedDecs, _findVideoWindowByUserIdDecs, _onRemoteUsersLeftDecs, _ref;
37
37
  import "core-js/modules/es.array.every.js";
38
38
  import "core-js/modules/es.array.filter.js";
39
39
  import "core-js/modules/es.array.find.js";
@@ -107,7 +107,6 @@ var _Q = /*#__PURE__*/new WeakMap();
107
107
  var _R = /*#__PURE__*/new WeakMap();
108
108
  var _S = /*#__PURE__*/new WeakMap();
109
109
  var _T = /*#__PURE__*/new WeakMap();
110
- var _U = /*#__PURE__*/new WeakMap();
111
110
  _ref = (_participantDecs = [observable, observable.ref], _chatDecs = [observable, observable.ref], _chatActionDecs = [observable, observable.ref], _stateBarDecs = [observable, observable.ref], _actionBarDecs = [observable, observable.ref], _layersDecs = [observable, observable.ref], _whiteboardDecs = [observable, observable.ref], _annotationDecs = [observable, observable.ref], _screenShareControlDecs = [observable, observable.ref], _subtitlesDecs = [observable, observable.ref], _subtitlesHistoryDecs = [observable, observable.ref], _subtitlesHistorySettingsDecs = [observable, observable.ref], _addPinMessageDecs = [action, action.bound], _cancelPinMessageDecs = [action, action.bound], _setWhiteboardActiveDecs = [action, action.bound], _setAsideWidthDecs = [action, action.bound], _updateSlotsDecs = [action, action.bound], _toggleLayoutDecs = [action, action.bound], _toggleCollapsedDecs = [action, action.bound], _toggleAsideDecs = [action, action.bound], _asideWidthChangedDecs = [action, action.bound], _toggleLayoutBarLockDecs = [action, action.bound], _toggleLayoutBarHiddenDecs = [action, action.bound], _resetLockTimerDecs = [action, action.bound], _setHoveringHandlerDecs = [action, action.bound], _setHoveringLeaveHandlerDecs = [action, action.bound], _setScreenShareSpeakerViewSizeDecs = [debounced(400), bound], _handleLiveLayoutChangeDecs = [action, action.bound], _onUserInfoUpdatedDecs = [action, action.bound], _handleLayoutUpdatedDecs = [action, action.bound], _handleMainListLengthChangedDecs = [action, action.bound], _handleMainListChangedDecs = [action, action.bound], _setBarHoveringDecs = [action, action.bound], _handleConnectionUpdatedDecs = [action, action.bound], _findVideoWindowByUserIdDecs = [action, action.bound], _onRemoteUsersLeftDecs = [action, action.bound], "logger");
112
111
  export var LayoutStoreBase = /*#__PURE__*/function () {
113
112
  function LayoutStoreBase(_ref2) {
@@ -141,9 +140,8 @@ export var LayoutStoreBase = /*#__PURE__*/function () {
141
140
  _classPrivateFieldInitSpec(this, _P, _init_barLocked(this, true));
142
141
  _classPrivateFieldInitSpec(this, _Q, _init_barHidden(this, false));
143
142
  _classPrivateFieldInitSpec(this, _R, _init_asideWidth(this, MinAsideWidth));
144
- _classPrivateFieldInitSpec(this, _S, _init_chatRoomState(this, FcrChatRoomConnectionState.Disconnected));
145
- _classPrivateFieldInitSpec(this, _T, _init_whiteboardActive(this, false));
146
- _classPrivateFieldInitSpec(this, _U, _init_ownerUser(this, undefined));
143
+ _classPrivateFieldInitSpec(this, _S, _init_whiteboardActive(this, false));
144
+ _classPrivateFieldInitSpec(this, _T, _init_ownerUser(this, undefined));
147
145
  _defineProperty(this, "getAllowedOperations", computedFn(function (targetRole, isSelf) {
148
146
  return _this._privilegeProvider.getAllowedOperations(targetRole, isSelf);
149
147
  }));
@@ -169,6 +167,7 @@ export var LayoutStoreBase = /*#__PURE__*/function () {
169
167
  this._privilegeProvider = objectManager.getObject(FcrUIObjectKeys.P_PRIVILEGE_PROVIDER);
170
168
  this._sharedSettingDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_SETTING_DATA_SOURCE);
171
169
  this._sharedInterpreterDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_INTERPRETER_DATA_SOURCE);
170
+ this._sharedChatDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_CHAT_DATA_SOURCE);
172
171
  this._chatProvider = objectManager.getObject(FcrUIObjectKeys.P_CHAT_PROVIDER);
173
172
  this._sharedUserAudioVolumeDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_USER_AUDIO_VOLUME_DATA_SOURCE);
174
173
  this._videoWindowDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_VIDEO_WINDOW_DATA_SOURCE);
@@ -176,7 +175,7 @@ export var LayoutStoreBase = /*#__PURE__*/function () {
176
175
  this._pinDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_PIN_DATA_SOURCE);
177
176
  this._sharedScreenShareDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_SCREEN_SHARE_DATA_SOURCE);
178
177
  this._annotationProvider = objectManager.getObject(FcrUIObjectKeys.P_ANNOTATION_PROVIDER);
179
- this.chatRoomState = this._chatRoomControl.getConnectionState();
178
+ this._sharedChatDataSource.setConnectionState(FcrUIRoomType.MAIN_ROOM, this._chatRoomControl.getConnectionState());
180
179
  }
181
180
  return _createClass(LayoutStoreBase, [{
182
181
  key: "participant",
@@ -325,26 +324,24 @@ export var LayoutStoreBase = /*#__PURE__*/function () {
325
324
  }, {
326
325
  key: "chatRoomState",
327
326
  get: function get() {
328
- return _classPrivateFieldGet(_S, this);
329
- },
330
- set: function set(v) {
331
- _classPrivateFieldSet(_S, this, v);
327
+ var _this$_sharedChatData, _this$_sharedChatData2;
328
+ return (_this$_sharedChatData = (_this$_sharedChatData2 = this._sharedChatDataSource) === null || _this$_sharedChatData2 === void 0 ? void 0 : _this$_sharedChatData2.currentConnectionState) !== null && _this$_sharedChatData !== void 0 ? _this$_sharedChatData : FcrChatRoomConnectionState.Disconnected;
332
329
  }
333
330
  }, {
334
331
  key: "whiteboardActive",
335
332
  get: function get() {
336
- return _classPrivateFieldGet(_T, this);
333
+ return _classPrivateFieldGet(_S, this);
337
334
  },
338
335
  set: function set(v) {
339
- _classPrivateFieldSet(_T, this, v);
336
+ _classPrivateFieldSet(_S, this, v);
340
337
  }
341
338
  }, {
342
339
  key: "ownerUser",
343
340
  get: function get() {
344
- return _classPrivateFieldGet(_U, this);
341
+ return _classPrivateFieldGet(_T, this);
345
342
  },
346
343
  set: function set(v) {
347
- _classPrivateFieldSet(_U, this, v);
344
+ _classPrivateFieldSet(_T, this, v);
348
345
  }
349
346
  }, {
350
347
  key: "streamControl",
@@ -1212,9 +1209,10 @@ export var LayoutStoreBase = /*#__PURE__*/function () {
1212
1209
  }
1213
1210
  }, {
1214
1211
  key: "_handleConnectionUpdated",
1215
- value: function _handleConnectionUpdated(_, state) {
1216
- this.logger.info('layout store handleConnectionUpdated', state);
1217
- this.chatRoomState = state;
1212
+ value: function _handleConnectionUpdated(_, state, roomType) {
1213
+ this.logger.info('layout store handleConnectionUpdated', state, roomType);
1214
+ // 连接状态已由共享数据源统一管理,这里不需要再更新
1215
+ // 共享数据源会在收到回调时自动更新状态
1218
1216
  }
1219
1217
  }, {
1220
1218
  key: "_findVideoWindowByUserId",
@@ -1312,7 +1310,7 @@ export var LayoutStoreBase = /*#__PURE__*/function () {
1312
1310
  }]);
1313
1311
  }();
1314
1312
  _LayoutStoreBase = LayoutStoreBase;
1315
- var _applyDecs$e = _slicedToArray(_applyDecs(_LayoutStoreBase, [[_participantDecs, 17, "participant"], [_chatDecs, 17, "chat"], [_chatActionDecs, 17, "chatAction"], [_stateBarDecs, 17, "stateBar"], [_actionBarDecs, 17, "actionBar"], [_layersDecs, 17, "layers"], [_whiteboardDecs, 17, "whiteboard"], [_annotationDecs, 17, "annotation"], [_screenShareControlDecs, 17, "screenShareControl"], [_subtitlesDecs, 17, "subtitles"], [_subtitlesHistoryDecs, 17, "subtitlesHistory"], [_subtitlesHistorySettingsDecs, 17, "subtitlesHistorySettings"], [observable, 1, "collapsed"], [observable, 1, "aside"], [observable, 1, "barHovering"], [observable, 1, "barLocked"], [observable, 1, "barHidden"], [observable, 1, "asideWidth"], [observable, 1, "chatRoomState"], [observable, 1, "whiteboardActive"], [observable, 1, "ownerUser"], [computed, 3, "isWaterMarkEnabled"], [computed, 3, "isMulti"], [computed, 3, "layout"], [computed, 3, "manualLayout"], [computed, 3, "scalcValue"], [computed, 3, "sourceList"], [computed, 3, "layoutMainList"], [computed, 3, "mainList"], [computed, 3, "spotlightStreamId"], [computed, 3, "foldList"], [computed, 3, "galleryList"], [computed, 3, "isMainWindowInScreenSharing"], [computed, 3, "isCurrentUserInBoardSharing"], [computed, 3, "asideLayout"], [computed, 3, "carouselList"], [computed, 3, "hasPinnedStream"], [computed, 3, "isRobot"], [computed, 3, "findSpotlightUser"], [computed, 3, "isWhoISpeakingActive"], [computed, 3, "microphoneEnabled"], [computed, 3, "cameraEnabled"], [computed, 3, "galleryMaxSize"], [computed, 3, "asideContent"], [computed, 3, "participantsRenderAt"], [computed, 3, "chatRenderAt"], [computed, 3, "subtitlesHistoryRenderAt"], [bound, 2, "getWaterMarkContent"], [bound, 2, "hasMutePermission"], [bound, 2, "hasUnmutePermission"], [bound, 2, "hasRequestStartAudioPermission"], [bound, 2, "toggleMainStream"], [_addPinMessageDecs, 18, "addPinMessage"], [_cancelPinMessageDecs, 18, "cancelPinMessage"], [bound, 2, "addPin"], [bound, 2, "removePin"], [bound, 2, "setVideoOrientation"], [bound, 2, "setAllowChat"], [bound, 2, "handleSetPinState"], [_setWhiteboardActiveDecs, 18, "setWhiteboardActive"], [_setAsideWidthDecs, 18, "setAsideWidth"], [_updateSlotsDecs, 18, "updateSlots"], [bound, 2, "closeParticipantFromAside"], [bound, 2, "moveParticipantFromAsideToDialog"], [bound, 2, "closeChatFromAside"], [bound, 2, "closeAsideChat"], [bound, 2, "moveChatFromAsideToDialog"], [bound, 2, "openPrivateChat"], [bound, 2, "openRenameDialog"], [bound, 2, "closeSubtitlesHistoryFromAside"], [bound, 2, "moveSubtitlesHistoryFromAsideToDialog"], [_toggleLayoutDecs, 18, "toggleLayout"], [_toggleCollapsedDecs, 18, "toggleCollapsed"], [_toggleAsideDecs, 18, "toggleAside"], [_asideWidthChangedDecs, 18, "asideWidthChanged"], [_toggleLayoutBarLockDecs, 18, "toggleLayoutBarLock"], [_toggleLayoutBarHiddenDecs, 18, "toggleLayoutBarHidden"], [_resetLockTimerDecs, 18, "resetLockTimer"], [_setHoveringHandlerDecs, 18, "setHoveringHandler"], [_setHoveringLeaveHandlerDecs, 18, "setHoveringLeaveHandler"], [_setScreenShareSpeakerViewSizeDecs, 2, "setScreenShareSpeakerViewSize"], [_handleLiveLayoutChangeDecs, 18, "handleLiveLayoutChange"], [_onUserInfoUpdatedDecs, 18, "onUserInfoUpdated"], [bound, 2, "stopLocalPreview"], [bound, 2, "startLocalPreview"], [bound, 2, "setAllowChatWithPayload"], [bound, 2, "setScaleValue"], [bound, 2, "muteAudio"], [bound, 2, "setControlbarEnabled"], [bound, 2, "sendParticipantEvent"], [bound, 2, "onEvent"], [bound, 2, "_addListeners"], [computed, 3, "_hasVideoStreamUser"], [_handleMainListLengthChangedDecs, 18, "_handleMainListLengthChanged"], [_handleMainListChangedDecs, 18, "_handleMainListChanged"], [action, 2, "_switchToSpeaker"], [action, 2, "_switchToGallery"], [_setBarHoveringDecs, 18, "_setBarHovering"], [_handleConnectionUpdatedDecs, 18, "_handleConnectionUpdated"], [_findVideoWindowByUserIdDecs, 18, "_findVideoWindowByUserId"], [_onRemoteUsersLeftDecs, 18, "_onRemoteUsersLeft"], [bound, 2, "_handleLiveStreamingStateUpdated"], [bound, 2, "_handleStreamAdded"], [bound, 2, "_onStreamsAdded"], [bound, 2, "_onStreamsUpdated"], [bound, 2, "_onStreamsRemoved"], [_handleLayoutUpdatedDecs, 16, "_handleLayoutUpdated"]], []).e, 23);
1313
+ var _applyDecs$e = _slicedToArray(_applyDecs(_LayoutStoreBase, [[_participantDecs, 17, "participant"], [_chatDecs, 17, "chat"], [_chatActionDecs, 17, "chatAction"], [_stateBarDecs, 17, "stateBar"], [_actionBarDecs, 17, "actionBar"], [_layersDecs, 17, "layers"], [_whiteboardDecs, 17, "whiteboard"], [_annotationDecs, 17, "annotation"], [_screenShareControlDecs, 17, "screenShareControl"], [_subtitlesDecs, 17, "subtitles"], [_subtitlesHistoryDecs, 17, "subtitlesHistory"], [_subtitlesHistorySettingsDecs, 17, "subtitlesHistorySettings"], [observable, 1, "collapsed"], [observable, 1, "aside"], [observable, 1, "barHovering"], [observable, 1, "barLocked"], [observable, 1, "barHidden"], [observable, 1, "asideWidth"], [computed, 3, "chatRoomState"], [observable, 1, "whiteboardActive"], [observable, 1, "ownerUser"], [computed, 3, "isWaterMarkEnabled"], [computed, 3, "isMulti"], [computed, 3, "layout"], [computed, 3, "manualLayout"], [computed, 3, "scalcValue"], [computed, 3, "sourceList"], [computed, 3, "layoutMainList"], [computed, 3, "mainList"], [computed, 3, "spotlightStreamId"], [computed, 3, "foldList"], [computed, 3, "galleryList"], [computed, 3, "isMainWindowInScreenSharing"], [computed, 3, "isCurrentUserInBoardSharing"], [computed, 3, "asideLayout"], [computed, 3, "carouselList"], [computed, 3, "hasPinnedStream"], [computed, 3, "isRobot"], [computed, 3, "findSpotlightUser"], [computed, 3, "isWhoISpeakingActive"], [computed, 3, "microphoneEnabled"], [computed, 3, "cameraEnabled"], [computed, 3, "galleryMaxSize"], [computed, 3, "asideContent"], [computed, 3, "participantsRenderAt"], [computed, 3, "chatRenderAt"], [computed, 3, "subtitlesHistoryRenderAt"], [bound, 2, "getWaterMarkContent"], [bound, 2, "hasMutePermission"], [bound, 2, "hasUnmutePermission"], [bound, 2, "hasRequestStartAudioPermission"], [bound, 2, "toggleMainStream"], [_addPinMessageDecs, 18, "addPinMessage"], [_cancelPinMessageDecs, 18, "cancelPinMessage"], [bound, 2, "addPin"], [bound, 2, "removePin"], [bound, 2, "setVideoOrientation"], [bound, 2, "setAllowChat"], [bound, 2, "handleSetPinState"], [_setWhiteboardActiveDecs, 18, "setWhiteboardActive"], [_setAsideWidthDecs, 18, "setAsideWidth"], [_updateSlotsDecs, 18, "updateSlots"], [bound, 2, "closeParticipantFromAside"], [bound, 2, "moveParticipantFromAsideToDialog"], [bound, 2, "closeChatFromAside"], [bound, 2, "closeAsideChat"], [bound, 2, "moveChatFromAsideToDialog"], [bound, 2, "openPrivateChat"], [bound, 2, "openRenameDialog"], [bound, 2, "closeSubtitlesHistoryFromAside"], [bound, 2, "moveSubtitlesHistoryFromAsideToDialog"], [_toggleLayoutDecs, 18, "toggleLayout"], [_toggleCollapsedDecs, 18, "toggleCollapsed"], [_toggleAsideDecs, 18, "toggleAside"], [_asideWidthChangedDecs, 18, "asideWidthChanged"], [_toggleLayoutBarLockDecs, 18, "toggleLayoutBarLock"], [_toggleLayoutBarHiddenDecs, 18, "toggleLayoutBarHidden"], [_resetLockTimerDecs, 18, "resetLockTimer"], [_setHoveringHandlerDecs, 18, "setHoveringHandler"], [_setHoveringLeaveHandlerDecs, 18, "setHoveringLeaveHandler"], [_setScreenShareSpeakerViewSizeDecs, 2, "setScreenShareSpeakerViewSize"], [_handleLiveLayoutChangeDecs, 18, "handleLiveLayoutChange"], [_onUserInfoUpdatedDecs, 18, "onUserInfoUpdated"], [bound, 2, "stopLocalPreview"], [bound, 2, "startLocalPreview"], [bound, 2, "setAllowChatWithPayload"], [bound, 2, "setScaleValue"], [bound, 2, "muteAudio"], [bound, 2, "setControlbarEnabled"], [bound, 2, "sendParticipantEvent"], [bound, 2, "onEvent"], [bound, 2, "_addListeners"], [computed, 3, "_hasVideoStreamUser"], [_handleMainListLengthChangedDecs, 18, "_handleMainListLengthChanged"], [_handleMainListChangedDecs, 18, "_handleMainListChanged"], [action, 2, "_switchToSpeaker"], [action, 2, "_switchToGallery"], [_setBarHoveringDecs, 18, "_setBarHovering"], [_handleConnectionUpdatedDecs, 18, "_handleConnectionUpdated"], [_findVideoWindowByUserIdDecs, 18, "_findVideoWindowByUserId"], [_onRemoteUsersLeftDecs, 18, "_onRemoteUsersLeft"], [bound, 2, "_handleLiveStreamingStateUpdated"], [bound, 2, "_handleStreamAdded"], [bound, 2, "_onStreamsAdded"], [bound, 2, "_onStreamsUpdated"], [bound, 2, "_onStreamsRemoved"], [_handleLayoutUpdatedDecs, 16, "_handleLayoutUpdated"]], []).e, 22);
1316
1314
  _init_participant = _applyDecs$e[0];
1317
1315
  _init_chat = _applyDecs$e[1];
1318
1316
  _init_chatAction = _applyDecs$e[2];
@@ -1331,9 +1329,8 @@ _init_barHovering = _applyDecs$e[14];
1331
1329
  _init_barLocked = _applyDecs$e[15];
1332
1330
  _init_barHidden = _applyDecs$e[16];
1333
1331
  _init_asideWidth = _applyDecs$e[17];
1334
- _init_chatRoomState = _applyDecs$e[18];
1335
- _init_whiteboardActive = _applyDecs$e[19];
1336
- _init_ownerUser = _applyDecs$e[20];
1337
- _init__handleLayoutUpdated = _applyDecs$e[21];
1338
- _initProto = _applyDecs$e[22];
1332
+ _init_whiteboardActive = _applyDecs$e[18];
1333
+ _init_ownerUser = _applyDecs$e[19];
1334
+ _init__handleLayoutUpdated = _applyDecs$e[20];
1335
+ _initProto = _applyDecs$e[21];
1339
1336
  export var StoreContext = /*#__PURE__*/createContext(null);
@@ -14,6 +14,72 @@
14
14
  flex-direction: column;
15
15
  align-items: center;
16
16
  justify-content: center;
17
- gap: 15px;
17
+ gap: 20px;
18
18
  overflow: hidden;
19
19
  }
20
+
21
+ .participants-container-rename-input-wrapper {
22
+ width: 100%;
23
+ position: relative;
24
+ }
25
+
26
+ .participants-container-rename-input-wrapper .fcr-textarea {
27
+ width: 272px;
28
+ height: 84px;
29
+ border-radius: var(--fcr_cornerradius_l);
30
+ border-width: 1px;
31
+ padding-top: 12px;
32
+ padding-right: 12px;
33
+ padding-bottom: 26px; /* 8px (Figma padding-bottom) + 18px (字符计数区域) = 26px */
34
+ padding-left: 12px;
35
+ box-sizing: border-box;
36
+ }
37
+
38
+ .participants-container-rename-input-wrapper .fcr-textarea textarea {
39
+ width: 248px; /* 272 - 12*2 = 248px */
40
+ height: 40px;
41
+ font-family:
42
+ 'Inter',
43
+ ui-sans-serif,
44
+ system-ui,
45
+ -apple-system,
46
+ BlinkMacSystemFont,
47
+ 'Segoe UI',
48
+ Roboto,
49
+ 'Helvetica Neue',
50
+ Arial,
51
+ sans-serif;
52
+ font-weight: 400;
53
+ font-size: 14px;
54
+ line-height: 20px;
55
+ letter-spacing: 0;
56
+ color: var(--fcr_ui_scene_icontext1);
57
+ padding: 0; /* 容器的 padding 已经处理了间距 */
58
+ box-sizing: border-box;
59
+ vertical-align: bottom;
60
+ }
61
+
62
+ .participants-container-rename-input-wrapper .fcr-textarea .fcr-textarea-wc {
63
+ height: 16px;
64
+ font-family:
65
+ 'Inter',
66
+ ui-sans-serif,
67
+ system-ui,
68
+ -apple-system,
69
+ BlinkMacSystemFont,
70
+ 'Segoe UI',
71
+ Roboto,
72
+ 'Helvetica Neue',
73
+ Arial,
74
+ sans-serif;
75
+ font-weight: 400;
76
+ font-size: 12px;
77
+ line-height: 16px;
78
+ letter-spacing: 0;
79
+ text-align: right;
80
+ color: var(--fcr_ui_scene_icontext2);
81
+ position: absolute;
82
+ bottom: 8px; /* 根据 Figma padding-bottom: 8px 调整 */
83
+ left: 12px; /* 与容器的 padding-left 对齐 */
84
+ right: 12px; /* 与容器的 padding-right 对齐,宽度自动计算为 248px (272 - 12*2) */
85
+ }