@bigbinary/neeto-media-recorder 2.7.16 → 2.7.18
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.
- package/core.js +4 -0
- package/core.js.map +1 -1
- package/index.js +104 -66
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { shallow } from 'zustand/shallow';
|
|
2
2
|
import { useState, useRef, useCallback, useEffect, forwardRef, useImperativeHandle } from 'react';
|
|
3
|
+
import { useMutation, isCancelledError } from '@tanstack/react-query';
|
|
3
4
|
import classNames from 'classnames';
|
|
4
5
|
import { isNotEmpty, noop } from '@bigbinary/neeto-cist';
|
|
6
|
+
import Browser from '@bigbinary/neeto-icons/Browser';
|
|
5
7
|
import { SCREEN_RECORDER_STATUS, UPLOAD_STATUS as UPLOAD_STATUS$1, ONE_SECOND_IN_MILLISECONDS as ONE_SECOND_IN_MILLISECONDS$1, MIME_TYPE as MIME_TYPE$1, ONE_MINUTE_IN_MILLISECONDS as ONE_MINUTE_IN_MILLISECONDS$1, IS_EXTENSION as IS_EXTENSION$1, SCREEN_RECORDER_ERROR, IS_SAFARI_EXTENSION, MIC_NOT_WORKING_SILENCE_TIMEOUT, SCREEN_RECORDER_EVENT, COUNTDOWN_TIME, UPLOAD_EVENT } from '@bigbinary/neeto-media-recorder/constants';
|
|
6
8
|
import { screenRecorder, useMultipartS3UploadStatus, getMultipartS3Uploader } from '@bigbinary/neeto-media-recorder/core';
|
|
7
9
|
import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
@@ -10,7 +12,6 @@ import Button from '@bigbinary/neetoui/Button';
|
|
|
10
12
|
import Callout from '@bigbinary/neetoui/Callout';
|
|
11
13
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
12
14
|
import { useTranslation, Trans } from 'react-i18next';
|
|
13
|
-
import { useMutation } from '@tanstack/react-query';
|
|
14
15
|
import axios from 'axios';
|
|
15
16
|
import platform from 'platform';
|
|
16
17
|
import { isNotNil, isEmpty } from 'ramda';
|
|
@@ -660,14 +661,14 @@ var AbortUpload = withT(function (_ref) {
|
|
|
660
661
|
className: "w-full space-y-2 text-center",
|
|
661
662
|
children: [/*#__PURE__*/jsxs(Typography, {
|
|
662
663
|
className: "select-none",
|
|
663
|
-
"data-
|
|
664
|
+
"data-testid": "recorder-discarding-recording-message",
|
|
664
665
|
style: "h2",
|
|
665
666
|
children: [t("neetoMediaRecorder.record.discardingVideo"), /*#__PURE__*/jsx(Spinner, {
|
|
666
667
|
className: "ml-3"
|
|
667
668
|
})]
|
|
668
669
|
}), /*#__PURE__*/jsx(Typography, {
|
|
669
670
|
className: "select-none",
|
|
670
|
-
"data-
|
|
671
|
+
"data-testid": "recorder-do-not-leave-page-message",
|
|
671
672
|
children: t("neetoMediaRecorder.record.doNotLeaveThePage")
|
|
672
673
|
})]
|
|
673
674
|
})
|
|
@@ -803,37 +804,39 @@ var Controls = function Controls(_ref) {
|
|
|
803
804
|
"neeto-ui-rounded-lg neeto-ui-border-gray-200 border-2": hasRecordingStarted
|
|
804
805
|
}, className, isNotEmpty(classNames))),
|
|
805
806
|
children: [shouldShowSelectScreenButton && /*#__PURE__*/jsxs("div", {
|
|
806
|
-
className: "
|
|
807
|
+
className: "flex gap-4",
|
|
807
808
|
children: [/*#__PURE__*/jsx(Button, {
|
|
808
809
|
className: "flex-shrink-0",
|
|
809
|
-
"data-
|
|
810
|
+
"data-testid": "media-recorder-record-button",
|
|
810
811
|
icon: function icon() {
|
|
811
812
|
return /*#__PURE__*/jsx(Computer, {
|
|
812
|
-
size:
|
|
813
|
+
size: 20
|
|
813
814
|
});
|
|
814
815
|
},
|
|
816
|
+
iconPosition: "left",
|
|
815
817
|
label: t("neetoMediaRecorder.record.selectScreen"),
|
|
816
818
|
loading: isStatus(SCREEN_RECORDER_STATUS.acquiring_media),
|
|
817
819
|
size: "large",
|
|
818
820
|
onClick: startRecording
|
|
819
821
|
}), /*#__PURE__*/jsx(Button, {
|
|
820
822
|
className: "flex-shrink-0",
|
|
821
|
-
"data-
|
|
823
|
+
"data-testid": "media-recorder-discard-button",
|
|
822
824
|
icon: function icon() {
|
|
823
825
|
return /*#__PURE__*/jsx(Delete, {
|
|
824
|
-
size:
|
|
826
|
+
size: 20
|
|
825
827
|
});
|
|
826
828
|
},
|
|
829
|
+
iconPosition: "left",
|
|
827
830
|
label: t("neetoMediaRecorder.record.discard"),
|
|
828
831
|
size: "large",
|
|
829
832
|
style: "danger",
|
|
830
833
|
onClick: onDiscard
|
|
831
834
|
})]
|
|
832
835
|
}), shouldShowGrantMicPermissionButton && /*#__PURE__*/jsxs("div", {
|
|
833
|
-
className: "
|
|
836
|
+
className: "flex gap-4",
|
|
834
837
|
children: [/*#__PURE__*/jsx(Button, {
|
|
835
838
|
className: "flex-shrink-0",
|
|
836
|
-
"data-
|
|
839
|
+
"data-testid": "media-recorder-no-audio-button",
|
|
837
840
|
label: t("neetoMediaRecorder.record.iDontNeedAudio"),
|
|
838
841
|
size: "large",
|
|
839
842
|
style: "danger",
|
|
@@ -845,9 +848,10 @@ var Controls = function Controls(_ref) {
|
|
|
845
848
|
}
|
|
846
849
|
}), /*#__PURE__*/jsx(Button, {
|
|
847
850
|
className: "flex-shrink-0",
|
|
848
|
-
"data-
|
|
851
|
+
"data-testid": "media-recorder-grant-microphone-permission-button",
|
|
849
852
|
icon: Unlock,
|
|
850
|
-
|
|
853
|
+
iconPosition: "left",
|
|
854
|
+
iconSize: 20,
|
|
851
855
|
label: t("neetoMediaRecorder.record.grantMicPermission"),
|
|
852
856
|
size: "large",
|
|
853
857
|
onClick: startRecording
|
|
@@ -856,7 +860,7 @@ var Controls = function Controls(_ref) {
|
|
|
856
860
|
className: "flex items-center gap-3",
|
|
857
861
|
children: [/*#__PURE__*/jsx(Button, {
|
|
858
862
|
className: "nrec-done-button flex-shrink-0",
|
|
859
|
-
"data-
|
|
863
|
+
"data-testid": "media-recorder-stop-button",
|
|
860
864
|
icon: function icon() {
|
|
861
865
|
return /*#__PURE__*/jsx(StopIcon, {
|
|
862
866
|
size: 28
|
|
@@ -871,7 +875,7 @@ var Controls = function Controls(_ref) {
|
|
|
871
875
|
})]
|
|
872
876
|
}), isStatus(SCREEN_RECORDER_STATUS.recording) && /*#__PURE__*/jsx(Button, {
|
|
873
877
|
className: "flex-shrink-0",
|
|
874
|
-
"data-
|
|
878
|
+
"data-testid": "media-recorder-pause-button",
|
|
875
879
|
style: "text",
|
|
876
880
|
tooltipProps: {
|
|
877
881
|
content: t("neetoMediaRecorder.record.pause"),
|
|
@@ -884,7 +888,7 @@ var Controls = function Controls(_ref) {
|
|
|
884
888
|
})
|
|
885
889
|
}), isStatus(SCREEN_RECORDER_STATUS.paused) && /*#__PURE__*/jsx(Button, {
|
|
886
890
|
className: "flex-shrink-0",
|
|
887
|
-
"data-
|
|
891
|
+
"data-testid": "media-recorder-play-button",
|
|
888
892
|
style: "text",
|
|
889
893
|
tooltipProps: {
|
|
890
894
|
content: t("neetoMediaRecorder.record.resume"),
|
|
@@ -898,7 +902,7 @@ var Controls = function Controls(_ref) {
|
|
|
898
902
|
className: "flex items-center gap-3",
|
|
899
903
|
children: [/*#__PURE__*/jsx(Button, {
|
|
900
904
|
className: "flex-shrink-0",
|
|
901
|
-
"data-
|
|
905
|
+
"data-testid": "media-recorder-restart-button",
|
|
902
906
|
style: "text",
|
|
903
907
|
tooltipProps: {
|
|
904
908
|
content: t("neetoMediaRecorder.record.restart"),
|
|
@@ -912,7 +916,7 @@ var Controls = function Controls(_ref) {
|
|
|
912
916
|
})
|
|
913
917
|
}), /*#__PURE__*/jsx(Button, {
|
|
914
918
|
className: "flex-shrink-0",
|
|
915
|
-
"data-
|
|
919
|
+
"data-testid": "media-recorder-discard-button",
|
|
916
920
|
style: "text",
|
|
917
921
|
tooltipProps: {
|
|
918
922
|
content: t("neetoMediaRecorder.record.discard"),
|
|
@@ -1148,19 +1152,19 @@ var Timer = function Timer() {
|
|
|
1148
1152
|
elapsedTime = _useRecorderStore.elapsedTime;
|
|
1149
1153
|
return /*#__PURE__*/jsxs("div", {
|
|
1150
1154
|
className: "mb-4 flex flex-col items-center justify-center",
|
|
1151
|
-
"data-
|
|
1155
|
+
"data-testid": "recorder-timer-wrapper",
|
|
1152
1156
|
children: [/*#__PURE__*/jsx(Typography, {
|
|
1153
1157
|
className: "neeto-ui-text-4xl mb-3 flex justify-center",
|
|
1154
|
-
"data-
|
|
1158
|
+
"data-testid": "recorder-timer-elapsed-time",
|
|
1155
1159
|
weight: "semibold",
|
|
1156
1160
|
children: getTimeString(elapsedTime)
|
|
1157
1161
|
}), /*#__PURE__*/jsx(Typography, {
|
|
1158
1162
|
className: "mb-2",
|
|
1159
|
-
"data-
|
|
1163
|
+
"data-testid": "recorder-recording-in-progress-message",
|
|
1160
1164
|
style: "h3",
|
|
1161
1165
|
children: t("neetoMediaRecorder.record.inProgress")
|
|
1162
1166
|
}), /*#__PURE__*/jsx(Typography, {
|
|
1163
|
-
"data-
|
|
1167
|
+
"data-testid": "recorder-do-not-leave-page-message",
|
|
1164
1168
|
style: "body2",
|
|
1165
1169
|
children: t("neetoMediaRecorder.record.doNotLeaveThePage")
|
|
1166
1170
|
})]
|
|
@@ -1173,7 +1177,7 @@ var UnSupportedBrowser = withT(function (_ref) {
|
|
|
1173
1177
|
className: "flex h-screen w-full items-center justify-center",
|
|
1174
1178
|
children: /*#__PURE__*/jsx(Callout, {
|
|
1175
1179
|
className: "p-5",
|
|
1176
|
-
"data-
|
|
1180
|
+
"data-testid": "recorder-unsupported-browser-callout",
|
|
1177
1181
|
style: "danger",
|
|
1178
1182
|
children: t("neetoMediaRecorder.unsupportedBrowser")
|
|
1179
1183
|
})
|
|
@@ -1278,12 +1282,12 @@ var UploadingInProgress = function UploadingInProgress(_ref) {
|
|
|
1278
1282
|
className: "w-full pb-6 text-center",
|
|
1279
1283
|
children: [/*#__PURE__*/jsx(Typography, {
|
|
1280
1284
|
className: "select-none pb-6",
|
|
1281
|
-
"data-
|
|
1285
|
+
"data-testid": "please-dont-close-this-tab",
|
|
1282
1286
|
style: "h1",
|
|
1283
1287
|
children: t("neetoMediaRecorder.record.pleaseDontCloseThisTab")
|
|
1284
1288
|
}), /*#__PURE__*/jsx(Typography, {
|
|
1285
1289
|
className: "select-none pb-3",
|
|
1286
|
-
"data-
|
|
1290
|
+
"data-testid": "recorder-uploading-recording-message",
|
|
1287
1291
|
style: "h2",
|
|
1288
1292
|
weight: "normal",
|
|
1289
1293
|
children: t("neetoMediaRecorder.record.uploadingRecording")
|
|
@@ -1297,33 +1301,33 @@ var UploadingInProgress = function UploadingInProgress(_ref) {
|
|
|
1297
1301
|
})
|
|
1298
1302
|
}), /*#__PURE__*/jsx(Typography, {
|
|
1299
1303
|
className: "select-none",
|
|
1300
|
-
"data-
|
|
1304
|
+
"data-testid": "recorder-do-not-leave-page-message",
|
|
1301
1305
|
style: "body2",
|
|
1302
1306
|
children: t("neetoMediaRecorder.record.copyLinkDescription")
|
|
1303
1307
|
})]
|
|
1304
1308
|
}), /*#__PURE__*/jsxs("div", {
|
|
1305
1309
|
className: "flex flex-wrap items-center justify-center gap-3",
|
|
1306
1310
|
children: [/*#__PURE__*/jsx(CopyToClipboardButton, {
|
|
1307
|
-
"data-
|
|
1311
|
+
"data-testid": "recorder-copy-link-button",
|
|
1308
1312
|
icon: Copy,
|
|
1309
1313
|
label: t("neetoMediaRecorder.record.copyToClipboard"),
|
|
1310
1314
|
style: "tertiary",
|
|
1311
1315
|
value: generatePublicUrl(recording.id, baseURL)
|
|
1312
1316
|
}), /*#__PURE__*/jsx(Button, {
|
|
1313
|
-
"data-
|
|
1317
|
+
"data-testid": "recorder-download-webm-button",
|
|
1314
1318
|
icon: Download,
|
|
1315
1319
|
style: "tertiary",
|
|
1316
1320
|
label: isMp4Supported() ? t("neetoMediaRecorder.record.downloadMp4") : t("neetoMediaRecorder.record.downloadWebm"),
|
|
1317
1321
|
onClick: handleRecordingBlobDownload
|
|
1318
1322
|
}), /*#__PURE__*/jsx(Button, {
|
|
1319
|
-
"data-
|
|
1323
|
+
"data-testid": "recorder-retry-upload-button",
|
|
1320
1324
|
disabled: isRetryUpload,
|
|
1321
1325
|
icon: Refresh,
|
|
1322
1326
|
label: t("neetoMediaRecorder.record.retry"),
|
|
1323
1327
|
style: "tertiary",
|
|
1324
1328
|
onClick: onRetryUpload
|
|
1325
1329
|
}), /*#__PURE__*/jsx(Button, {
|
|
1326
|
-
"data-
|
|
1330
|
+
"data-testid": "recorder-discard-recording-button",
|
|
1327
1331
|
icon: Close,
|
|
1328
1332
|
label: t("neetoMediaRecorder.record.discardRecording"),
|
|
1329
1333
|
style: "tertiary",
|
|
@@ -1568,25 +1572,49 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1568
1572
|
}
|
|
1569
1573
|
}, [elapsedTime]);
|
|
1570
1574
|
recordingRef.current = recording;
|
|
1575
|
+
var handleCreateRecordingError = function handleCreateRecordingError(error) {
|
|
1576
|
+
if (isCancelledError(error)) return;
|
|
1577
|
+
screenRecorder.setError(SCREEN_RECORDER_ERROR.FailedToStart);
|
|
1578
|
+
onError(SCREEN_RECORDER_ERROR.FailedToStart);
|
|
1579
|
+
};
|
|
1571
1580
|
var handleCreateRecording = /*#__PURE__*/function () {
|
|
1572
|
-
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
1581
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
1573
1582
|
var payload;
|
|
1574
|
-
return _regeneratorRuntime.wrap(function
|
|
1575
|
-
while (1) switch (
|
|
1583
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
1584
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1576
1585
|
case 0:
|
|
1577
1586
|
payload = {
|
|
1578
1587
|
folderId: folderId
|
|
1579
1588
|
};
|
|
1580
|
-
|
|
1589
|
+
_context2.next = 3;
|
|
1581
1590
|
return getDeviceInfo(mimeType);
|
|
1582
1591
|
case 3:
|
|
1583
|
-
payload.deviceInfo =
|
|
1584
|
-
createRecordingPromise.current =
|
|
1592
|
+
payload.deviceInfo = _context2.sent;
|
|
1593
|
+
createRecordingPromise.current = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
1594
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
1595
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1596
|
+
case 0:
|
|
1597
|
+
_context.prev = 0;
|
|
1598
|
+
_context.next = 3;
|
|
1599
|
+
return createRecording(payload);
|
|
1600
|
+
case 3:
|
|
1601
|
+
_context.next = 8;
|
|
1602
|
+
break;
|
|
1603
|
+
case 5:
|
|
1604
|
+
_context.prev = 5;
|
|
1605
|
+
_context.t0 = _context["catch"](0);
|
|
1606
|
+
handleCreateRecordingError(_context.t0);
|
|
1607
|
+
case 8:
|
|
1608
|
+
case "end":
|
|
1609
|
+
return _context.stop();
|
|
1610
|
+
}
|
|
1611
|
+
}, _callee, null, [[0, 5]]);
|
|
1612
|
+
}))();
|
|
1585
1613
|
case 5:
|
|
1586
1614
|
case "end":
|
|
1587
|
-
return
|
|
1615
|
+
return _context2.stop();
|
|
1588
1616
|
}
|
|
1589
|
-
},
|
|
1617
|
+
}, _callee2);
|
|
1590
1618
|
}));
|
|
1591
1619
|
return function handleCreateRecording() {
|
|
1592
1620
|
return _ref3.apply(this, arguments);
|
|
@@ -1597,35 +1625,35 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1597
1625
|
return onUploadComplete((_recordingRef$current = recordingRef.current) === null || _recordingRef$current === void 0 ? void 0 : _recordingRef$current.id);
|
|
1598
1626
|
};
|
|
1599
1627
|
var handleDiscardRecording = /*#__PURE__*/function () {
|
|
1600
|
-
var
|
|
1601
|
-
var
|
|
1602
|
-
|
|
1628
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
1629
|
+
var _ref6,
|
|
1630
|
+
_ref6$forceAbort,
|
|
1603
1631
|
forceAbort,
|
|
1604
1632
|
multipartS3Uploader,
|
|
1605
|
-
|
|
1606
|
-
return _regeneratorRuntime.wrap(function
|
|
1607
|
-
while (1) switch (
|
|
1633
|
+
_args3 = arguments;
|
|
1634
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
1635
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1608
1636
|
case 0:
|
|
1609
|
-
|
|
1637
|
+
_ref6 = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {}, _ref6$forceAbort = _ref6.forceAbort, forceAbort = _ref6$forceAbort === void 0 ? false : _ref6$forceAbort;
|
|
1610
1638
|
multipartS3Uploader = getMultipartS3Uploader();
|
|
1611
|
-
|
|
1639
|
+
_context3.next = 4;
|
|
1612
1640
|
return multipartS3Uploader.abortUpload(forceAbort);
|
|
1613
1641
|
case 4:
|
|
1614
1642
|
if (!(multipartS3Uploader.status === UPLOAD_STATUS$1.aborting)) {
|
|
1615
|
-
|
|
1643
|
+
_context3.next = 6;
|
|
1616
1644
|
break;
|
|
1617
1645
|
}
|
|
1618
|
-
return
|
|
1646
|
+
return _context3.abrupt("return");
|
|
1619
1647
|
case 6:
|
|
1620
1648
|
onDiscard();
|
|
1621
1649
|
case 7:
|
|
1622
1650
|
case "end":
|
|
1623
|
-
return
|
|
1651
|
+
return _context3.stop();
|
|
1624
1652
|
}
|
|
1625
|
-
},
|
|
1653
|
+
}, _callee3);
|
|
1626
1654
|
}));
|
|
1627
1655
|
return function handleDiscardRecording() {
|
|
1628
|
-
return
|
|
1656
|
+
return _ref5.apply(this, arguments);
|
|
1629
1657
|
};
|
|
1630
1658
|
}();
|
|
1631
1659
|
var handleRestartRecording = function handleRestartRecording() {
|
|
@@ -1697,15 +1725,15 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1697
1725
|
var multipartS3Uploader = getMultipartS3Uploader({
|
|
1698
1726
|
initialize: true
|
|
1699
1727
|
});
|
|
1700
|
-
var recorderCallbacks = (_recorderCallbacks = {}, _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onDataAvailable, multipartS3Uploader.push), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onStop, _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
1701
|
-
return _regeneratorRuntime.wrap(function
|
|
1702
|
-
while (1) switch (
|
|
1728
|
+
var recorderCallbacks = (_recorderCallbacks = {}, _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onDataAvailable, multipartS3Uploader.push), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onStop, _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
1729
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
1730
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1703
1731
|
case 0:
|
|
1704
1732
|
if (!createRecordingPromise.current) {
|
|
1705
|
-
|
|
1733
|
+
_context4.next = 4;
|
|
1706
1734
|
break;
|
|
1707
1735
|
}
|
|
1708
|
-
|
|
1736
|
+
_context4.next = 3;
|
|
1709
1737
|
return createRecordingPromise.current;
|
|
1710
1738
|
case 3:
|
|
1711
1739
|
createRecordingPromise.current = null;
|
|
@@ -1713,9 +1741,9 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1713
1741
|
multipartS3Uploader.completeUpload();
|
|
1714
1742
|
case 5:
|
|
1715
1743
|
case "end":
|
|
1716
|
-
return
|
|
1744
|
+
return _context4.stop();
|
|
1717
1745
|
}
|
|
1718
|
-
},
|
|
1746
|
+
}, _callee4);
|
|
1719
1747
|
}))), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onDiscard, handleDiscardRecording), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onRestart, handleRestartRecording), _recorderCallbacks);
|
|
1720
1748
|
var uploaderCallbacks = (_uploaderCallbacks2 = {}, _defineProperty(_uploaderCallbacks2, UPLOAD_EVENT.onComplete, handleUploadComplete), _defineProperty(_uploaderCallbacks2, UPLOAD_EVENT.onError, handleUploadError), _defineProperty(_uploaderCallbacks2, UPLOAD_EVENT.onProgress, handleUploadProgress), _uploaderCallbacks2);
|
|
1721
1749
|
Object.keys(recorderCallbacks).forEach(function (key) {
|
|
@@ -1757,7 +1785,7 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1757
1785
|
className: "flex h-screen w-full flex-col items-center justify-center gap-4",
|
|
1758
1786
|
children: [/*#__PURE__*/jsx(Callout, {
|
|
1759
1787
|
className: "p-5",
|
|
1760
|
-
"data-
|
|
1788
|
+
"data-testid": "recorder-unsupported-browser-callout",
|
|
1761
1789
|
style: "danger",
|
|
1762
1790
|
children: t("neetoMediaRecorder.notSupportedError")
|
|
1763
1791
|
}), /*#__PURE__*/jsx(Button, {
|
|
@@ -1798,18 +1826,28 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1798
1826
|
className: classNames("w-full max-w-3xl"),
|
|
1799
1827
|
children: [/*#__PURE__*/jsx(UseDesktopAppCallout, {}), error === SCREEN_RECORDER_ERROR.InsufficientData && /*#__PURE__*/jsx(Callout, {
|
|
1800
1828
|
className: "mb-2 p-3",
|
|
1801
|
-
"data-
|
|
1829
|
+
"data-testid": "recorder-insufficient-data-error-callout",
|
|
1802
1830
|
style: "danger",
|
|
1803
1831
|
children: t("neetoMediaRecorder.insufficientDataError")
|
|
1804
1832
|
}), error === SCREEN_RECORDER_ERROR.NotAllowedError && /*#__PURE__*/jsxs("div", {
|
|
1805
|
-
className: "flex flex-col items-center",
|
|
1806
|
-
children: [/*#__PURE__*/jsx(
|
|
1807
|
-
className: "mb-
|
|
1833
|
+
className: "flex flex-col items-center pt-10",
|
|
1834
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
1835
|
+
className: "mb-6 flex justify-center",
|
|
1836
|
+
children: /*#__PURE__*/jsx("div", {
|
|
1837
|
+
className: "neeto-ui-bg-gray-100 neeto-ui-rounded-full flex h-16 w-16 items-center justify-center",
|
|
1838
|
+
children: /*#__PURE__*/jsx(Browser, {
|
|
1839
|
+
className: "neeto-ui-text-gray-600",
|
|
1840
|
+
size: 40
|
|
1841
|
+
})
|
|
1842
|
+
})
|
|
1843
|
+
}), /*#__PURE__*/jsx(Typography, {
|
|
1844
|
+
className: "mb-3 text-center",
|
|
1808
1845
|
style: "h3",
|
|
1809
1846
|
children: t("neetoMediaRecorder.record.screenSharePermissionDeniedTitle", {
|
|
1810
1847
|
appName: appName
|
|
1811
1848
|
})
|
|
1812
1849
|
}), /*#__PURE__*/jsx(Typography, {
|
|
1850
|
+
className: "neeto-ui-text-gray-600 text-center leading-normal",
|
|
1813
1851
|
children: /*#__PURE__*/jsx(Trans, {
|
|
1814
1852
|
i18nKey: "neetoMediaRecorder.record.screenSharePermissionDenied",
|
|
1815
1853
|
components: {
|
|
@@ -1833,17 +1871,17 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1833
1871
|
}), /*#__PURE__*/jsx(AllowMicAccess, {})]
|
|
1834
1872
|
}), isRecorderStatus(SCREEN_RECORDER_STATUS.acquiring_media) && /*#__PURE__*/jsx(Callout, {
|
|
1835
1873
|
className: "mb-2 p-3",
|
|
1836
|
-
"data-
|
|
1874
|
+
"data-testid": "recorder-grant-permission-info-callout",
|
|
1837
1875
|
style: "info",
|
|
1838
1876
|
children: t("neetoMediaRecorder.record.grantPermissionMessage")
|
|
1839
1877
|
}), shouldShowSafariExtensionCalloutToStartRecording && /*#__PURE__*/jsx(Callout, {
|
|
1840
1878
|
className: "mx-auto mb-2 w-1/2 p-3",
|
|
1841
|
-
"data-
|
|
1879
|
+
"data-testid": "recorder-start-recording-info-callout",
|
|
1842
1880
|
style: "info",
|
|
1843
1881
|
children: t("neetoMediaRecorder.record.clickToStartRecording")
|
|
1844
1882
|
}), shouldShowTimeLimitWarning && /*#__PURE__*/jsx(Callout, {
|
|
1845
1883
|
className: "mx-auto mb-2 w-1/2 p-3",
|
|
1846
|
-
"data-
|
|
1884
|
+
"data-testid": "recorder-time-limit-warning-callout",
|
|
1847
1885
|
style: "warning",
|
|
1848
1886
|
children: /*#__PURE__*/jsx(Typography, {
|
|
1849
1887
|
component: "span",
|
|
@@ -1864,7 +1902,7 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1864
1902
|
})
|
|
1865
1903
|
}), isRecorderStatus(SCREEN_RECORDER_STATUS.media_acquired, SCREEN_RECORDER_STATUS.restarting) && /*#__PURE__*/jsxs("div", {
|
|
1866
1904
|
className: "neeto-ui-rounded-lg mx-auto mb-8 flex w-full max-w-4xl flex-col items-center justify-center p-12",
|
|
1867
|
-
"data-
|
|
1905
|
+
"data-testid": "recorder-countdown-wrapper",
|
|
1868
1906
|
children: [/*#__PURE__*/jsx("div", {
|
|
1869
1907
|
className: "relative mb-8",
|
|
1870
1908
|
children: /*#__PURE__*/jsxs("div", {
|