fcr-ui-scene 3.3.0 → 3.3.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 (149) hide show
  1. package/dist/electron/app.js +148 -0
  2. package/dist/electron/bootstrap-dev.js +51 -0
  3. package/dist/electron/bootstrap-sdk.js +56 -0
  4. package/dist/electron/default-options.js +25 -0
  5. package/dist/electron/env.js +13 -0
  6. package/dist/electron/index.js +20 -0
  7. package/dist/electron/injections.js +702 -0
  8. package/dist/electron/logger.js +66 -0
  9. package/dist/electron/main.js +67 -0
  10. package/dist/electron/plugins/meeting-state.js +39 -0
  11. package/dist/electron/plugins/screenshot.js +49 -0
  12. package/dist/electron/preload.js +36 -0
  13. package/dist/electron/tools.js +66 -0
  14. package/dist/electron/window.js +124 -0
  15. package/lib/common/room-store.d.ts +55 -0
  16. package/lib/common/room-store.js +395 -0
  17. package/lib/creator.js +2 -0
  18. package/lib/electron/app.js +8 -0
  19. package/lib/electron/bootstrap-sdk.js +1 -0
  20. package/lib/electron/injections.d.ts +1 -0
  21. package/lib/electron/injections.js +4 -1
  22. package/lib/electron/preload.js +2 -1
  23. package/lib/modules/Interpreter/add-button/index.css +4 -0
  24. package/lib/modules/Interpreter/add-button/index.d.ts +11 -0
  25. package/lib/modules/Interpreter/add-button/index.js +41 -0
  26. package/lib/modules/Interpreter/config.d.ts +16 -0
  27. package/lib/modules/Interpreter/config.js +17 -0
  28. package/lib/modules/Interpreter/constant.d.ts +44 -0
  29. package/lib/modules/Interpreter/constant.js +60 -0
  30. package/lib/modules/Interpreter/context.d.ts +2 -0
  31. package/lib/modules/Interpreter/context.js +9 -0
  32. package/lib/modules/Interpreter/dialog-content/index.css +33 -0
  33. package/lib/modules/Interpreter/dialog-content/index.d.ts +8 -0
  34. package/lib/modules/Interpreter/dialog-content/index.js +34 -0
  35. package/lib/modules/Interpreter/footer/components/interpreter-btn/index.d.ts +5 -0
  36. package/lib/modules/Interpreter/footer/components/interpreter-btn/index.js +56 -0
  37. package/lib/modules/Interpreter/footer/components/set-btn/index.d.ts +5 -0
  38. package/lib/modules/Interpreter/footer/components/set-btn/index.js +46 -0
  39. package/lib/modules/Interpreter/footer/components/tooltip-wrapper/index.d.ts +6 -0
  40. package/lib/modules/Interpreter/footer/components/tooltip-wrapper/index.js +28 -0
  41. package/lib/modules/Interpreter/footer/index.css +10 -0
  42. package/lib/modules/Interpreter/footer/index.d.ts +3 -0
  43. package/lib/modules/Interpreter/footer/index.js +35 -0
  44. package/lib/modules/Interpreter/index.css +8 -0
  45. package/lib/modules/Interpreter/index.d.ts +21 -0
  46. package/lib/modules/Interpreter/index.js +110 -0
  47. package/lib/modules/Interpreter/interpreter-list/index.css +21 -0
  48. package/lib/modules/Interpreter/interpreter-list/index.d.ts +3 -0
  49. package/lib/modules/Interpreter/interpreter-list/index.js +65 -0
  50. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +31 -0
  51. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.d.ts +11 -0
  52. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +141 -0
  53. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ar.png +0 -0
  54. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_cn.png +0 -0
  55. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_de.png +0 -0
  56. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_en.png +0 -0
  57. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_es.png +0 -0
  58. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_fr.png +0 -0
  59. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_hi.png +0 -0
  60. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_id.png +0 -0
  61. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_it.png +0 -0
  62. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_jp.png +0 -0
  63. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ko.png +0 -0
  64. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ms.png +0 -0
  65. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_pt.png +0 -0
  66. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ru.png +0 -0
  67. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_th.png +0 -0
  68. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_tr.png +0 -0
  69. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_vi.png +0 -0
  70. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.d.ts +11 -0
  71. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +119 -0
  72. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +41 -0
  73. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.d.ts +12 -0
  74. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +118 -0
  75. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.css +34 -0
  76. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.d.ts +8 -0
  77. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.js +65 -0
  78. package/lib/modules/Interpreter/loading-wrapper/index.css +53 -0
  79. package/lib/modules/Interpreter/loading-wrapper/index.d.ts +6 -0
  80. package/lib/modules/Interpreter/loading-wrapper/index.js +28 -0
  81. package/lib/modules/Interpreter/store.d.ts +82 -0
  82. package/lib/modules/Interpreter/store.js +1382 -0
  83. package/lib/modules/Interpreter/view.d.ts +3 -0
  84. package/lib/modules/Interpreter/view.js +32 -0
  85. package/lib/modules/action-bar/Interpreter/index.d.ts +6 -0
  86. package/lib/modules/action-bar/Interpreter/index.js +44 -0
  87. package/lib/modules/action-bar/apps/appitems.d.ts +2 -0
  88. package/lib/modules/action-bar/apps/appitems.js +40 -0
  89. package/lib/modules/action-bar/apps/index.css +6 -0
  90. package/lib/modules/action-bar/apps/index.d.ts +4 -0
  91. package/lib/modules/action-bar/apps/index.js +58 -0
  92. package/lib/modules/action-bar/switch-input-language-room/fcr_translateswitch.png +0 -0
  93. package/lib/modules/action-bar/switch-input-language-room/index.css +86 -0
  94. package/lib/modules/action-bar/switch-input-language-room/index.d.ts +17 -0
  95. package/lib/modules/action-bar/switch-input-language-room/index.js +145 -0
  96. package/lib/modules/action-bar/switch-output-language-room/drop-menu.d.ts +1 -0
  97. package/lib/modules/action-bar/switch-output-language-room/drop-menu.js +197 -0
  98. package/lib/modules/action-bar/switch-output-language-room/guide-tooltip/index.css +18 -0
  99. package/lib/modules/action-bar/switch-output-language-room/guide-tooltip/index.d.ts +8 -0
  100. package/lib/modules/action-bar/switch-output-language-room/guide-tooltip/index.js +59 -0
  101. package/lib/modules/action-bar/switch-output-language-room/index.d.ts +12 -0
  102. package/lib/modules/action-bar/switch-output-language-room/index.js +238 -0
  103. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/interpreter/index.css +54 -0
  104. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/interpreter/index.d.ts +8 -0
  105. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/interpreter/index.js +94 -0
  106. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.css +8 -0
  107. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.d.ts +4 -0
  108. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.js +31 -0
  109. package/lib/modules/action-bar/switch-output-language-room/notification-bar/dome.png +0 -0
  110. package/lib/modules/action-bar/switch-output-language-room/notification-bar/fcr_translateswitch.png +0 -0
  111. package/lib/modules/action-bar/switch-output-language-room/notification-bar/index.css +71 -0
  112. package/lib/modules/action-bar/switch-output-language-room/notification-bar/index.d.ts +2 -0
  113. package/lib/modules/action-bar/switch-output-language-room/notification-bar/index.js +82 -0
  114. package/lib/modules/dialog/components/Interpreter/electron.d.ts +2 -0
  115. package/lib/modules/dialog/components/Interpreter/electron.js +72 -0
  116. package/lib/modules/dialog/components/Interpreter/index.css +30 -0
  117. package/lib/modules/dialog/components/Interpreter/index.d.ts +4 -0
  118. package/lib/modules/dialog/components/Interpreter/index.js +61 -0
  119. package/lib/modules/dialog/components/Interpreter/user-queue/index.css +36 -0
  120. package/lib/modules/dialog/components/Interpreter/user-queue/index.d.ts +3 -0
  121. package/lib/modules/dialog/components/Interpreter/user-queue/index.js +47 -0
  122. package/lib/modules/dialog/components/switch-language-channels/electron.d.ts +2 -0
  123. package/lib/modules/dialog/components/switch-language-channels/electron.js +72 -0
  124. package/lib/modules/dialog/components/switch-language-channels/index.css +30 -0
  125. package/lib/modules/dialog/components/switch-language-channels/index.d.ts +4 -0
  126. package/lib/modules/dialog/components/switch-language-channels/index.js +63 -0
  127. package/lib/modules/dialog/components/switch-language-channels/user-queue/index.css +36 -0
  128. package/lib/modules/dialog/components/switch-language-channels/user-queue/index.d.ts +3 -0
  129. package/lib/modules/dialog/components/switch-language-channels/user-queue/index.js +47 -0
  130. package/lib/modules/notification/context.d.ts +2 -0
  131. package/lib/modules/notification/context.js +9 -0
  132. package/lib/modules/notification/index.css +58 -0
  133. package/lib/modules/notification/index.d.ts +15 -0
  134. package/lib/modules/notification/index.js +51 -0
  135. package/lib/modules/notification/interpreter-status/index.css +72 -0
  136. package/lib/modules/notification/interpreter-status/index.d.ts +3 -0
  137. package/lib/modules/notification/interpreter-status/index.js +59 -0
  138. package/lib/modules/notification/store.d.ts +16 -0
  139. package/lib/modules/notification/store.js +127 -0
  140. package/lib/modules/notification/view.d.ts +10 -0
  141. package/lib/modules/notification/view.js +116 -0
  142. package/lib/modules/state-bar/meeting-details.js +4 -3
  143. package/lib/modules/state-bar/store.d.ts +1 -0
  144. package/lib/modules/state-bar/store.js +15 -3
  145. package/lib/modules/state-bar/view.js +6 -4
  146. package/lib/plugins/browser-runtime-plugin.js +4 -1
  147. package/lib/runtime.d.ts +1 -0
  148. package/package.json +5 -5
  149. package/public/index.html +7 -2
@@ -0,0 +1,18 @@
1
+ .fcr-guide-tooltip {
2
+ max-width: none;
3
+ }
4
+ .fcr-guide-tooltip-close-btn {
5
+ margin-left: 10px;
6
+ /* float: left; */
7
+ display: inline;
8
+ }
9
+
10
+ .fcr-guide-tooltip-close-container {
11
+ position: relative;
12
+ padding-right: 20px;
13
+ }
14
+ .fcr-guide-tooltip-close-btn {
15
+ position: absolute;
16
+ top: 0px;
17
+ right: 0px;
18
+ }
@@ -0,0 +1,8 @@
1
+ import { ToolTipProps } from 'agora-ui-foundation/lib/components/tooltip';
2
+ import './index.css';
3
+ interface GuideTooltipProps extends ToolTipProps {
4
+ children: React.ReactNode;
5
+ guideContent: string | React.ReactNode;
6
+ }
7
+ export declare const GuideTooltip: (props: GuideTooltipProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,59 @@
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.GuideTooltip = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
11
+ var _react = require("react");
12
+ require("./index.css");
13
+ var _icon = require("agora-ui-foundation/lib/components/icon");
14
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ var GuideTooltip = exports.GuideTooltip = function GuideTooltip(props) {
17
+ var children = props.children,
18
+ content = props.content,
19
+ guideContent = props.guideContent;
20
+ var _useState = (0, _react.useState)(true),
21
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
22
+ show = _useState2[0],
23
+ setShow = _useState2[1];
24
+ var _useState3 = (0, _react.useState)(false),
25
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
26
+ isFinishGuide = _useState4[0],
27
+ setIsFinishGuide = _useState4[1]; //是否关闭了引导功能
28
+
29
+ var onVisibleChange = function onVisibleChange(visible) {
30
+ if (isFinishGuide) {
31
+ setShow(visible);
32
+ }
33
+ };
34
+ var close = function close() {
35
+ setShow(false);
36
+ setIsFinishGuide(true);
37
+ };
38
+ var guideContentDom = /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
39
+ className: "fcr-guide-tooltip-close-container",
40
+ children: [guideContent, /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
41
+ className: "fcr-guide-tooltip-close-btn",
42
+ type: _type.FcrIconType.FCR_CLOSED,
43
+ onClick: close,
44
+ size: 14,
45
+ colors: {
46
+ iconPrimary: 'var(--fcr_ui_scene_icontext3)'
47
+ }
48
+ })]
49
+ });
50
+ var text = isFinishGuide ? content : guideContentDom;
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
52
+ overlayClassName: "fcr-guide-tooltip",
53
+ mouseEnterDelay: 0,
54
+ content: text,
55
+ onVisibleChange: onVisibleChange,
56
+ visible: text ? show : false,
57
+ children: children
58
+ });
59
+ };
@@ -0,0 +1,12 @@
1
+ import { FcrLanguage } from 'fcr-core/lib/room-control/interpreter-control/types';
2
+ export type CloseAllLanguageRoomType = typeof CLOSE_ALL_LANGUAGE_ROOM;
3
+ export type LanguageRoomOptionValue = FcrLanguage | CloseAllLanguageRoomType;
4
+ export interface LanguageRoomOption {
5
+ text: string;
6
+ value: LanguageRoomOptionValue;
7
+ }
8
+ export declare const CLOSE_ALL_LANGUAGE_ROOM = "CLOSE_ALL_LANGUAGE_ROOM";
9
+ export declare const SwitchOutputLanguageRoom: ({ id, order }: {
10
+ id: string;
11
+ order: number;
12
+ }) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,238 @@
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.SwitchOutputLanguageRoom = exports.CLOSE_ALL_LANGUAGE_ROOM = void 0;
9
+ require("core-js/modules/es.array.concat.js");
10
+ require("core-js/modules/es.array.for-each.js");
11
+ require("core-js/modules/es.array.iterator.js");
12
+ require("core-js/modules/es.array.map.js");
13
+ require("core-js/modules/es.array.push.js");
14
+ require("core-js/modules/es.object.to-string.js");
15
+ require("core-js/modules/es.set.js");
16
+ require("core-js/modules/es.string.iterator.js");
17
+ require("core-js/modules/esnext.async-iterator.for-each.js");
18
+ require("core-js/modules/esnext.async-iterator.map.js");
19
+ require("core-js/modules/esnext.iterator.constructor.js");
20
+ require("core-js/modules/esnext.iterator.for-each.js");
21
+ require("core-js/modules/esnext.iterator.map.js");
22
+ require("core-js/modules/esnext.set.add-all.js");
23
+ require("core-js/modules/esnext.set.delete-all.js");
24
+ require("core-js/modules/esnext.set.difference.v2.js");
25
+ require("core-js/modules/esnext.set.difference.js");
26
+ require("core-js/modules/esnext.set.every.js");
27
+ require("core-js/modules/esnext.set.filter.js");
28
+ require("core-js/modules/esnext.set.find.js");
29
+ require("core-js/modules/esnext.set.intersection.v2.js");
30
+ require("core-js/modules/esnext.set.intersection.js");
31
+ require("core-js/modules/esnext.set.is-disjoint-from.v2.js");
32
+ require("core-js/modules/esnext.set.is-disjoint-from.js");
33
+ require("core-js/modules/esnext.set.is-subset-of.v2.js");
34
+ require("core-js/modules/esnext.set.is-subset-of.js");
35
+ require("core-js/modules/esnext.set.is-superset-of.v2.js");
36
+ require("core-js/modules/esnext.set.is-superset-of.js");
37
+ require("core-js/modules/esnext.set.join.js");
38
+ require("core-js/modules/esnext.set.map.js");
39
+ require("core-js/modules/esnext.set.reduce.js");
40
+ require("core-js/modules/esnext.set.some.js");
41
+ require("core-js/modules/esnext.set.symmetric-difference.v2.js");
42
+ require("core-js/modules/esnext.set.symmetric-difference.js");
43
+ require("core-js/modules/esnext.set.union.v2.js");
44
+ require("core-js/modules/esnext.set.union.js");
45
+ require("core-js/modules/web.dom-collections.for-each.js");
46
+ require("core-js/modules/web.dom-collections.iterator.js");
47
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
48
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
49
+ var _item = require("../item");
50
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
51
+ var _react = require("react");
52
+ var _context = require("../context");
53
+ var _mobxReact = require("mobx-react");
54
+ var _i18n = require("agora-ui-foundation/lib/i18n");
55
+ var _radio = require("agora-ui-foundation/lib/components/radio");
56
+ var _guideTooltip = require("./guide-tooltip");
57
+ var _store = require("../store");
58
+ var _useLanguageConfig = require("../../Interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig");
59
+ var _loadingWrapper = require("../../Interpreter/loading-wrapper");
60
+ var _jsxRuntime = require("react/jsx-runtime");
61
+ var useChangeOutputRoomTool = function useChangeOutputRoomTool() {
62
+ var _useState = (0, _react.useState)(false),
63
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
64
+ loading = _useState2[0],
65
+ setLoading = _useState2[1];
66
+ var _useState3 = (0, _react.useState)(true),
67
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
68
+ mainRoomState = _useState4[0],
69
+ setMainRoomState = _useState4[1];
70
+ var _useState5 = (0, _react.useState)(closeAlllanguageBtn.value),
71
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
72
+ languageRoomState = _useState6[0],
73
+ setLanguageRoomState = _useState6[1];
74
+ return {
75
+ mainRoomState: mainRoomState,
76
+ setMainRoomState: setMainRoomState,
77
+ languageRoomState: languageRoomState,
78
+ setLanguageRoomState: setLanguageRoomState,
79
+ loading: loading,
80
+ setLoading: setLoading
81
+ };
82
+ };
83
+ var OutputByMainRoom = function OutputByMainRoom(_ref) {
84
+ var changeOutputRoomTool = _ref.changeOutputRoomTool;
85
+ var transI18n = (0, _i18n.useI18n)();
86
+ var _useContext = (0, _react.useContext)(_context.ActionBarContext),
87
+ changeOutputByMainRoom = _useContext.changeOutputByMainRoom;
88
+ var mainRoomState = changeOutputRoomTool.mainRoomState,
89
+ setMainRoomState = changeOutputRoomTool.setMainRoomState;
90
+ var label = '同时收听原声';
91
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_radio.FcrRadio, {
92
+ name: "speaker",
93
+ styleType: "transparent",
94
+ checked: mainRoomState,
95
+ label: label,
96
+ onClick: function onClick() {
97
+ var open = !mainRoomState;
98
+ changeOutputByMainRoom({
99
+ event: open ? _store.EventType.START : _store.EventType.STOP
100
+ });
101
+ setMainRoomState(open);
102
+ }
103
+ });
104
+ };
105
+ var CLOSE_ALL_LANGUAGE_ROOM = exports.CLOSE_ALL_LANGUAGE_ROOM = 'CLOSE_ALL_LANGUAGE_ROOM';
106
+ var closeAlllanguageBtn = {
107
+ text: '关闭',
108
+ value: CLOSE_ALL_LANGUAGE_ROOM
109
+ };
110
+ var OutputByLanguageRoom = function OutputByLanguageRoom(_ref2) {
111
+ var changeOutputRoomTool = _ref2.changeOutputRoomTool;
112
+ var transI18n = (0, _i18n.useI18n)();
113
+ var _useContext2 = (0, _react.useContext)(_context.ActionBarContext),
114
+ interpreterUsers = _useContext2.interpreterUsers,
115
+ changeOutputLanguage = _useContext2.changeOutputLanguage;
116
+ var languageRoomState = changeOutputRoomTool.languageRoomState,
117
+ setLanguageRoomState = changeOutputRoomTool.setLanguageRoomState,
118
+ setLoading = changeOutputRoomTool.setLoading;
119
+ var getLanguageConfig = (0, _useLanguageConfig.useLanguageConfig)();
120
+ var languageRoomOptions = (0, _react.useMemo)(function () {
121
+ var languageRoomList = [];
122
+ interpreterUsers === null || interpreterUsers === void 0 || interpreterUsers.forEach(function (ele) {
123
+ languageRoomList.push(ele.sourceLanguage, ele.targetLanguage);
124
+ });
125
+ var languageBtnList = (0, _toConsumableArray2["default"])(new Set(languageRoomList)).map(function (ele) {
126
+ return {
127
+ text: getLanguageConfig(ele).text,
128
+ value: ele
129
+ };
130
+ });
131
+ return [closeAlllanguageBtn].concat((0, _toConsumableArray2["default"])(languageBtnList));
132
+ }, [interpreterUsers]);
133
+ var handleChange = function handleChange(language) {
134
+ setLoading(true);
135
+ changeOutputLanguage({
136
+ language: language,
137
+ orgLanguage: languageRoomState,
138
+ callback: function callback() {
139
+ setLanguageRoomState(language);
140
+ setLoading(false);
141
+ }
142
+ });
143
+ };
144
+ (0, _react.useEffect)(function () {
145
+ // setLanguageRoomState(closeAlllanguageBtn.value);
146
+ // handleChange(closeAlllanguageBtn.value)
147
+ }, []);
148
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
149
+ children: languageRoomOptions.map(function (languageRoom) {
150
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
151
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_radio.FcrRadio, {
152
+ name: "mic",
153
+ styleType: "transparent",
154
+ checked: languageRoomState === languageRoom.value,
155
+ label: languageRoom.text,
156
+ onChange: function onChange(v) {
157
+ if (v) {
158
+ handleChange(languageRoom.value);
159
+ }
160
+ }
161
+ })
162
+ }, languageRoom.value);
163
+ })
164
+ });
165
+ };
166
+ var AudioDeviceListPopoverContent = function AudioDeviceListPopoverContent(props) {
167
+ var changeOutputRoomTool = props.changeOutputRoomTool;
168
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_loadingWrapper.LoadingWrapper, {
169
+ loading: changeOutputRoomTool.loading,
170
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
171
+ className: "fcr-device-popover-content",
172
+ onClick: function onClick(e) {
173
+ e.stopPropagation();
174
+ },
175
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
176
+ className: "fcr-device-popover-content-device-list",
177
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
178
+ className: "fcr-device-popover-content-device",
179
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
180
+ className: "fcr-device-popover-content-device-options",
181
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(OutputByLanguageRoom, {
182
+ changeOutputRoomTool: changeOutputRoomTool
183
+ })
184
+ })
185
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
186
+ className: "fcr-device-popover-content-device",
187
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
188
+ className: "fcr-device-popover-content-device-options",
189
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(OutputByMainRoom, {
190
+ changeOutputRoomTool: changeOutputRoomTool
191
+ })
192
+ })
193
+ })]
194
+ })
195
+ })
196
+ });
197
+ };
198
+ var SwitchOutputLanguageRoom = exports.SwitchOutputLanguageRoom = (0, _mobxReact.observer)(function (_ref3) {
199
+ var id = _ref3.id,
200
+ order = _ref3.order;
201
+ var _useContext3 = (0, _react.useContext)(_context.ActionBarContext),
202
+ interpreterState = _useContext3.interpreterState;
203
+ var transI18n = (0, _i18n.useI18n)();
204
+ var title = '同声传译';
205
+ var content = '正在进行同声传译,可在这里进行选择收听';
206
+ var guideContent = '正在进行同声传译,可选择不同的语言频道收听';
207
+ var changeOutputRoomTool = useChangeOutputRoomTool();
208
+ if (!interpreterState) {
209
+ return null;
210
+ }
211
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_guideTooltip.GuideTooltip, {
212
+ content: content,
213
+ guideContent: guideContent,
214
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
215
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.ActionBarItemWithPopover, {
216
+ popoverProps: {
217
+ trigger: 'click',
218
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(AudioDeviceListPopoverContent, {
219
+ changeOutputRoomTool: changeOutputRoomTool
220
+ }),
221
+ overlayClassName: 'attendee__footer-more-actions',
222
+ overlayInnerStyle: {
223
+ boxShadow: 'var(--fcr_web_light_dropup_m)',
224
+ border: 'none',
225
+ width: '256px'
226
+ }
227
+ },
228
+ id: id,
229
+ order: order,
230
+ icon: _type.FcrIconType.FCR_INTERPRETATION2,
231
+ title: title,
232
+ iconColors: {
233
+ iconPrimary: 'var(--fcr_web_ui_scene_mainicon1)'
234
+ }
235
+ })
236
+ })
237
+ });
238
+ });
@@ -0,0 +1,54 @@
1
+ .interpreter-notification {
2
+ width: 270px;
3
+ background: var(--fcr_ui_scene_ramp_purple6);
4
+ border-radius: var(--fcr_cornerradius_l);
5
+ position: relative;
6
+ z-index: 9999;
7
+ bottom: 8px;
8
+ right: calc(52px - 15px);
9
+ }
10
+
11
+ .interpreter-notification .interpreter-notification-inner {
12
+ width: 270px;
13
+ padding: 10px 15px;
14
+ border-radius: var(--fcr_cornerradius_l);
15
+ border-bottom-right-radius: 0;
16
+ background: var(--fcr_ui_scene_white10);
17
+ }
18
+
19
+ .interpreter-notification .interpreter-notification-header {
20
+ display: flex;
21
+ justify-content: space-between;
22
+ align-items: center;
23
+ margin-bottom: 10px;
24
+ color: var(--fcr_ui_scene_black10);
25
+ font-size: 14px;
26
+ }
27
+
28
+ .interpreter-notification .interpreter-notification-content {
29
+ font-size: 13px;
30
+ line-height: 1.5;
31
+ }
32
+
33
+ .interpreter-notification .interpreter-notification-backtext {
34
+ font-size: 13px;
35
+ line-height: 1.5;
36
+ padding: 6px 15px;
37
+ color: var(--fcr_ui_scene_white10);
38
+ }
39
+
40
+ .interpreter-notification .interpreter-notification-close {
41
+ width: 18px;
42
+ height: 18px;
43
+ border-radius: 50%;
44
+ background: #d9d9d9;
45
+ position: absolute;
46
+ right: -23px;
47
+ top: 0;
48
+ text-align: center;
49
+ line-height: 16px;
50
+ }
51
+ .interpreter-notification .interpreter-notification-close:hover {
52
+ background-color: var(--fcr_ui_scene_white10);
53
+ cursor: pointer;
54
+ }
@@ -0,0 +1,8 @@
1
+ import './index.css';
2
+ import { FcrInterpreterUserInfo } from 'fcr-core/lib/room-control/interpreter-control/types';
3
+ export default function interpreterNotification(props: {
4
+ offline: FcrInterpreterUserInfo[] | undefined;
5
+ reenter: FcrInterpreterUserInfo[] | undefined;
6
+ onClose?: () => void;
7
+ onAssign?: () => void;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,94 @@
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["default"] = interpreterNotification;
9
+ require("core-js/modules/es.array.concat.js");
10
+ require("core-js/modules/es.array.join.js");
11
+ require("core-js/modules/es.array.map.js");
12
+ require("core-js/modules/esnext.async-iterator.map.js");
13
+ require("core-js/modules/esnext.iterator.map.js");
14
+ require("core-js/modules/web.timers.js");
15
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
+ var _react = require("react");
17
+ var _button = require("agora-ui-foundation/lib/components/button");
18
+ require("./index.css");
19
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+ function interpreterNotification(props) {
22
+ var onClose = props.onClose,
23
+ onAssign = props.onAssign,
24
+ _props$offline = props.offline,
25
+ offline = _props$offline === void 0 ? [] : _props$offline,
26
+ _props$reenter = props.reenter,
27
+ reenter = _props$reenter === void 0 ? [] : _props$reenter;
28
+ var _useState = (0, _react.useState)(5),
29
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
30
+ second = _useState2[0],
31
+ setSecond = _useState2[1];
32
+ var text = (0, _react.useMemo)(function () {
33
+ return "\u7FFB\u8BD1\u5B98 ".concat(offline.map(function (interpreter) {
34
+ return interpreter.userName;
35
+ }).join('、'), " \u5DF2\u79BB\u5F00\u4F1A\u8BAE\u5BA4\uFF0C\u8BF7\u91CD\u65B0\u5206\u914D\u7FFB\u8BD1\u5B98");
36
+ }, [offline]);
37
+ var reEnterText = (0, _react.useMemo)(function () {
38
+ return "".concat(reenter.map(function (interpreter) {
39
+ return interpreter.userName;
40
+ }).join('、'), " \u5DF2\u91CD\u65B0\u8FDB\u5165\u4F1A\u8BAE\u5BA4");
41
+ }, [reenter]);
42
+ (0, _react.useEffect)(function () {
43
+ if (second === 0) {
44
+ if (offline.length === 0) {
45
+ onClose && onClose();
46
+ }
47
+ return;
48
+ }
49
+ var timer = setInterval(function () {
50
+ setSecond(function (second) {
51
+ return second - 1;
52
+ });
53
+ }, 1000);
54
+ return function () {
55
+ clearInterval(timer);
56
+ };
57
+ }, [second]);
58
+ (0, _react.useEffect)(function () {
59
+ reenter.length > 0 && setSecond(5);
60
+ }, [reEnterText]);
61
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
62
+ className: "interpreter-notification",
63
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
64
+ className: "interpreter-notification-close",
65
+ onClick: onClose,
66
+ children: "\xD7"
67
+ }), second > 0 && reenter.length > 0 && offline.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
68
+ className: "interpreter-notification-backtext",
69
+ children: [reEnterText, "(", second, "s)"]
70
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
71
+ className: "interpreter-notification-inner",
72
+ children: [offline.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
73
+ className: "interpreter-notification-header",
74
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
75
+ children: "\u7FFB\u8BD1\u5B98\u79BB\u7EBF"
76
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
77
+ preIcon: _type.FcrIconType.FCR_SETTING,
78
+ preIconProps: {
79
+ colors: {
80
+ iconPrimary: 'var(--fcr_ui_scene_white10)'
81
+ },
82
+ size: 18
83
+ },
84
+ size: "XXS",
85
+ onClick: onAssign,
86
+ children: "\u53BB\u5206\u914D"
87
+ })]
88
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
89
+ className: "interpreter-notification-content",
90
+ children: offline.length > 0 ? text : "".concat(reEnterText, "(").concat(second, "s)")
91
+ })]
92
+ })]
93
+ });
94
+ }
@@ -0,0 +1,8 @@
1
+ .interpreter-virtual-image {
2
+ width: 45px;
3
+ height: 48px;
4
+ background: var(--fcr_ui_scene_white10);
5
+ position: absolute;
6
+ right: 0;
7
+ bottom: 0;
8
+ }
@@ -0,0 +1,4 @@
1
+ import './index.css';
2
+ export default function VirtualImage(props: {
3
+ onClick: () => void;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,31 @@
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["default"] = VirtualImage;
9
+ var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
10
+ var _dome = _interopRequireDefault(require("../../dome.png"));
11
+ require("./index.css");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function VirtualImage(props) {
14
+ var _onClick = props.onClick;
15
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
16
+ mouseEnterDelay: 0,
17
+ trigger: "hover",
18
+ placement: "topRight",
19
+ content: "2\u79CD\u8BED\u8A00\u90FD\u9700\u652F\u6301\u8F93\u51FA,\u975E\u5355\u5411\u8F93\u51FA",
20
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
21
+ onClick: function onClick() {
22
+ return _onClick();
23
+ },
24
+ className: "interpreter-virtual-image",
25
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
26
+ className: "notification-icon",
27
+ src: _dome["default"]
28
+ })
29
+ })
30
+ });
31
+ }
@@ -0,0 +1,71 @@
1
+ .notification-bar {
2
+ position: absolute;
3
+ right: 20px;
4
+ bottom: 52px;
5
+ z-index: 9999;
6
+ /* height: 60px; */
7
+ /* display: flex;
8
+ justify-content:space-between;
9
+ align-items: center;
10
+ background: var(--fcr_ui_scene_white8); */
11
+ /* border-radius: 30px; */
12
+ /* padding: 5px; */
13
+ }
14
+
15
+ .notification-icon {
16
+ width: 48px;
17
+ height: 45px;
18
+ }
19
+
20
+ .notification-action {
21
+ /* width: 50%; */
22
+ height: 100%;
23
+ padding: 3px;
24
+ }
25
+ .notification-action-bg {
26
+ display: flex;
27
+ justify-content: space-between;
28
+ align-items: center;
29
+ height: 100%;
30
+ width: 100%;
31
+ padding: 8.5px 19.5px;
32
+ }
33
+
34
+ .notification-action-icon {
35
+ width: 25px;
36
+ height: 25px;
37
+ border-radius: 50%;
38
+ background: rgba(63, 59, 83, 1);
39
+ }
40
+
41
+ .notification-action__checked {
42
+ border-radius: 25px;
43
+ border: 1px solid var(--fcr_ui_scene_card3);
44
+ border-radius: 25px;
45
+ }
46
+ .notification-action__checked .notification-action-bg {
47
+ border-radius: 25px;
48
+ background: linear-gradient(
49
+ 180deg,
50
+ #00cae0 0%,
51
+ #15d5ea 4.76%,
52
+ #6ae7f5 8.48%,
53
+ #64e8f7 25.6%,
54
+ #64e8f7 48%,
55
+ #00cae0 77.38%,
56
+ #00cae0 100%
57
+ );
58
+ box-shadow: 0px 4px 4px 0px rgba(4, 173, 191, 1) inset;
59
+ }
60
+ .notification-action__checked .notification-action-icon {
61
+ background: rgba(217, 217, 217, 1);
62
+ }
63
+ .notification-action-text {
64
+ color: var(--fcr_ui_scene_black10);
65
+ font-size: 20px;
66
+ margin-left: 8px;
67
+ }
68
+
69
+ .notification-action__checked .notification-action-text {
70
+ color: var(--fcr_ui_scene_white10);
71
+ }
@@ -0,0 +1,2 @@
1
+ import './index.css';
2
+ export declare const NotificationBar: () => import("react/jsx-runtime").JSX.Element;