@bigbinary/neeto-media-recorder 2.5.8 → 2.6.0
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/README.md +39 -11
- package/constants.js +2 -3
- package/constants.js.map +1 -1
- package/core.js +204 -137
- package/core.js.map +1 -1
- package/index.js +151 -149
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { shallow } from 'zustand/shallow';
|
|
2
|
-
import {
|
|
2
|
+
import { useEffect, useState, forwardRef, useRef, useImperativeHandle } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { isNotEmpty, noop } from '@bigbinary/neeto-cist';
|
|
5
5
|
import { SCREEN_RECORDER_STATUS, UPLOAD_STATUS as UPLOAD_STATUS$1, MIME_TYPE as MIME_TYPE$1, ONE_MINUTE_IN_MILLISECONDS as ONE_MINUTE_IN_MILLISECONDS$1, ONE_SECOND_IN_MILLISECONDS as ONE_SECOND_IN_MILLISECONDS$1, IS_EXTENSION as IS_EXTENSION$1, SCREEN_RECORDER_ERROR, IS_SAFARI_EXTENSION, SCREEN_RECORDER_EVENT, UPLOAD_EVENT } from '@bigbinary/neeto-media-recorder/constants';
|
|
6
|
-
import { screenRecorder,
|
|
6
|
+
import { screenRecorder, useMultipartS3UploadStatus, getMultipartS3Uploader } from '@bigbinary/neeto-media-recorder/core';
|
|
7
7
|
import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
8
8
|
import Alert from '@bigbinary/neetoui/Alert';
|
|
9
9
|
import Button from '@bigbinary/neetoui/Button';
|
|
@@ -942,23 +942,39 @@ var Controls = function Controls(_ref) {
|
|
|
942
942
|
});
|
|
943
943
|
};
|
|
944
944
|
|
|
945
|
-
var
|
|
946
|
-
var
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
945
|
+
var useHandleErrors = function useHandleErrors(_ref) {
|
|
946
|
+
var error = _ref.error,
|
|
947
|
+
recorderStatus = _ref.recorderStatus;
|
|
948
|
+
var _useRecorderStatus = useRecorderStatus(),
|
|
949
|
+
isRecorderStatus = _useRecorderStatus.isStatus;
|
|
950
|
+
useEffect(function () {
|
|
951
|
+
if (error === SCREEN_RECORDER_ERROR.UnSupportedBrowser) return noop;
|
|
952
|
+
if (error === SCREEN_RECORDER_ERROR.FailedToStart) return noop;
|
|
953
|
+
if (!isRecorderStatus(SCREEN_RECORDER_STATUS.idle) || error === SCREEN_RECORDER_ERROR.NotAllowedError || error === SCREEN_RECORDER_ERROR.MicPermissionDenied || IS_SAFARI_EXTENSION) {
|
|
954
|
+
if (error !== SCREEN_RECORDER_ERROR.MicPermissionDenied) return noop;
|
|
955
|
+
var cleanupFunction = noop;
|
|
956
|
+
window.navigator.permissions.query({
|
|
957
|
+
name: "microphone"
|
|
958
|
+
})
|
|
959
|
+
// eslint-disable-next-line promise/prefer-await-to-then
|
|
960
|
+
.then(function (micPermission) {
|
|
961
|
+
var handleChange = function handleChange() {
|
|
962
|
+
if (micPermission.state === "granted") {
|
|
963
|
+
screenRecorder.startRecording();
|
|
964
|
+
}
|
|
965
|
+
};
|
|
966
|
+
micPermission.addEventListener("change", handleChange);
|
|
967
|
+
cleanupFunction = function cleanupFunction() {
|
|
968
|
+
return micPermission.removeEventListener("change", handleChange);
|
|
969
|
+
};
|
|
970
|
+
});
|
|
971
|
+
return function () {
|
|
972
|
+
cleanupFunction();
|
|
950
973
|
};
|
|
951
|
-
}, shallow),
|
|
952
|
-
status = _useMultipartS3Upload.status;
|
|
953
|
-
var isStatus = function isStatus() {
|
|
954
|
-
for (var _len = arguments.length, statuses = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
955
|
-
statuses[_key] = arguments[_key];
|
|
956
974
|
}
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
isStatus: isStatus
|
|
961
|
-
};
|
|
975
|
+
screenRecorder.startRecording();
|
|
976
|
+
return noop;
|
|
977
|
+
}, [recorderStatus, error]);
|
|
962
978
|
};
|
|
963
979
|
|
|
964
980
|
var Timer = function Timer() {
|
|
@@ -1232,7 +1248,6 @@ var _window;
|
|
|
1232
1248
|
var useRecorderStore = screenRecorder.useRecorderStore,
|
|
1233
1249
|
restartRecording = screenRecorder.restartRecording,
|
|
1234
1250
|
discardRecording = screenRecorder.discardRecording;
|
|
1235
|
-
var useMultipartS3UploadStore = multipartS3Uploader.useMultipartS3UploadStore;
|
|
1236
1251
|
var globalProps = ((_window = window) === null || _window === void 0 ? void 0 : _window.globalProps) || {};
|
|
1237
1252
|
var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
1238
1253
|
var _ref$onUploadComplete = _ref.onUploadComplete,
|
|
@@ -1259,6 +1274,12 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1259
1274
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
1260
1275
|
isRetryUpload = _useState8[0],
|
|
1261
1276
|
setIsRetryUpload = _useState8[1];
|
|
1277
|
+
var recordingRef = useRef({});
|
|
1278
|
+
|
|
1279
|
+
/**
|
|
1280
|
+
* @type {React.MutableRefObject<Promise<unknown> | null>}
|
|
1281
|
+
*/
|
|
1282
|
+
var createRecordingPromise = useRef(null);
|
|
1262
1283
|
var _useRecorderStore = useRecorderStore(function (store) {
|
|
1263
1284
|
return {
|
|
1264
1285
|
status: store["status"],
|
|
@@ -1271,23 +1292,19 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1271
1292
|
error = _useRecorderStore.error,
|
|
1272
1293
|
countdownTimeLeft = _useRecorderStore.countdownTimeLeft,
|
|
1273
1294
|
showTimeLimitWarning = _useRecorderStore.showTimeLimitWarning;
|
|
1274
|
-
var _useMultipartS3Upload = useMultipartS3UploadStore(function (store) {
|
|
1275
|
-
return {
|
|
1276
|
-
status: store["status"]
|
|
1277
|
-
};
|
|
1278
|
-
}, shallow),
|
|
1279
|
-
uploadStatus = _useMultipartS3Upload.status;
|
|
1280
1295
|
var _useRecorderStatus = useRecorderStatus(),
|
|
1281
1296
|
isRecorderStatus = _useRecorderStatus.isStatus;
|
|
1282
|
-
var
|
|
1283
|
-
isUploadStatus =
|
|
1297
|
+
var _useMultipartS3Upload = useMultipartS3UploadStatus(),
|
|
1298
|
+
isUploadStatus = _useMultipartS3Upload.isStatus,
|
|
1299
|
+
uploadStatus = _useMultipartS3Upload.status;
|
|
1284
1300
|
var shouldShowTimeLimitWarning = showTimeLimitWarning && isRecorderStatus(SCREEN_RECORDER_STATUS.recording, SCREEN_RECORDER_STATUS.paused);
|
|
1285
1301
|
var _useCreateRecording = useCreateRecording({
|
|
1286
1302
|
onSuccess: function onSuccess(_ref2) {
|
|
1287
1303
|
var recording = _ref2.recording,
|
|
1288
1304
|
uploadId = _ref2.uploadId;
|
|
1289
|
-
multipartS3Uploader
|
|
1290
|
-
|
|
1305
|
+
var multipartS3Uploader = getMultipartS3Uploader();
|
|
1306
|
+
multipartS3Uploader.setRecording(recording.id, uploadId);
|
|
1307
|
+
var uploadStatus = multipartS3Uploader.status;
|
|
1291
1308
|
var recorderStatus = useRecorderStore.getState().status;
|
|
1292
1309
|
if (uploadStatus === UPLOAD_STATUS$1.uploading || isRetryUpload) {
|
|
1293
1310
|
setIsRetryUpload(false);
|
|
@@ -1296,15 +1313,19 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1296
1313
|
recorderStatus: recorderStatus,
|
|
1297
1314
|
uploadStatus: uploadStatus
|
|
1298
1315
|
})) {
|
|
1299
|
-
handleDiscardRecording(
|
|
1316
|
+
handleDiscardRecording({
|
|
1317
|
+
forceAbort: true
|
|
1318
|
+
});
|
|
1300
1319
|
}
|
|
1301
1320
|
}
|
|
1302
1321
|
}),
|
|
1303
|
-
createRecording = _useCreateRecording.
|
|
1322
|
+
createRecording = _useCreateRecording.mutateAsync,
|
|
1323
|
+
isCreatingRecording = _useCreateRecording.isPending,
|
|
1304
1324
|
_useCreateRecording$d = _useCreateRecording.data,
|
|
1305
1325
|
_useCreateRecording$d2 = _useCreateRecording$d === void 0 ? {} : _useCreateRecording$d,
|
|
1306
1326
|
_useCreateRecording$d3 = _useCreateRecording$d2.recording,
|
|
1307
1327
|
recording = _useCreateRecording$d3 === void 0 ? {} : _useCreateRecording$d3;
|
|
1328
|
+
recordingRef.current = recording;
|
|
1308
1329
|
var handleCreateRecording = /*#__PURE__*/function () {
|
|
1309
1330
|
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
1310
1331
|
var deviceInfo;
|
|
@@ -1315,7 +1336,7 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1315
1336
|
return getDeviceInfo();
|
|
1316
1337
|
case 2:
|
|
1317
1338
|
deviceInfo = _context.sent;
|
|
1318
|
-
createRecording(deviceInfo);
|
|
1339
|
+
createRecordingPromise.current = createRecording(deviceInfo);
|
|
1319
1340
|
case 4:
|
|
1320
1341
|
case "end":
|
|
1321
1342
|
return _context.stop();
|
|
@@ -1327,26 +1348,32 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1327
1348
|
};
|
|
1328
1349
|
}();
|
|
1329
1350
|
var handleUploadComplete = function handleUploadComplete() {
|
|
1330
|
-
|
|
1351
|
+
var _recordingRef$current;
|
|
1352
|
+
return onUploadComplete((_recordingRef$current = recordingRef.current) === null || _recordingRef$current === void 0 ? void 0 : _recordingRef$current.id);
|
|
1331
1353
|
};
|
|
1332
1354
|
var handleDiscardRecording = /*#__PURE__*/function () {
|
|
1333
1355
|
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
1334
|
-
var
|
|
1356
|
+
var _ref5,
|
|
1357
|
+
_ref5$forceAbort,
|
|
1358
|
+
forceAbort,
|
|
1359
|
+
multipartS3Uploader,
|
|
1360
|
+
_args2 = arguments;
|
|
1335
1361
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
1336
1362
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1337
1363
|
case 0:
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1364
|
+
_ref5 = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {}, _ref5$forceAbort = _ref5.forceAbort, forceAbort = _ref5$forceAbort === void 0 ? false : _ref5$forceAbort;
|
|
1365
|
+
multipartS3Uploader = getMultipartS3Uploader();
|
|
1366
|
+
_context2.next = 4;
|
|
1367
|
+
return multipartS3Uploader.abortUpload(forceAbort);
|
|
1368
|
+
case 4:
|
|
1369
|
+
if (!(multipartS3Uploader.status === UPLOAD_STATUS$1.aborting)) {
|
|
1370
|
+
_context2.next = 6;
|
|
1344
1371
|
break;
|
|
1345
1372
|
}
|
|
1346
1373
|
return _context2.abrupt("return");
|
|
1347
|
-
case 5:
|
|
1348
|
-
onDiscard();
|
|
1349
1374
|
case 6:
|
|
1375
|
+
onDiscard();
|
|
1376
|
+
case 7:
|
|
1350
1377
|
case "end":
|
|
1351
1378
|
return _context2.stop();
|
|
1352
1379
|
}
|
|
@@ -1356,32 +1383,22 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1356
1383
|
return _ref4.apply(this, arguments);
|
|
1357
1384
|
};
|
|
1358
1385
|
}();
|
|
1359
|
-
var handleRestartRecording =
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
case "end":
|
|
1370
|
-
return _context3.stop();
|
|
1371
|
-
}
|
|
1372
|
-
}, _callee3);
|
|
1373
|
-
}));
|
|
1374
|
-
return function handleRestartRecording() {
|
|
1375
|
-
return _ref5.apply(this, arguments);
|
|
1376
|
-
};
|
|
1377
|
-
}();
|
|
1378
|
-
var handleDiscardAlertClose = function handleDiscardAlertClose() {
|
|
1386
|
+
var handleRestartRecording = function handleRestartRecording() {
|
|
1387
|
+
getMultipartS3Uploader().abortUpload();
|
|
1388
|
+
};
|
|
1389
|
+
var onDiscardAlertClose = function onDiscardAlertClose() {
|
|
1390
|
+
return setIsDiscardAlertOpen(false);
|
|
1391
|
+
};
|
|
1392
|
+
var onRestartAlertClose = function onRestartAlertClose() {
|
|
1393
|
+
return setIsRestartAlertOpen(false);
|
|
1394
|
+
};
|
|
1395
|
+
var handleConfirmDiscard = function handleConfirmDiscard() {
|
|
1379
1396
|
discardRecording();
|
|
1380
|
-
|
|
1397
|
+
onDiscardAlertClose();
|
|
1381
1398
|
};
|
|
1382
|
-
var
|
|
1399
|
+
var handleConfirmRestart = function handleConfirmRestart() {
|
|
1383
1400
|
restartRecording();
|
|
1384
|
-
|
|
1401
|
+
onRestartAlertClose();
|
|
1385
1402
|
};
|
|
1386
1403
|
var handleUploadError = function handleUploadError() {
|
|
1387
1404
|
setUploadProgress(0);
|
|
@@ -1389,29 +1406,18 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1389
1406
|
var handleUploadProgress = function handleUploadProgress(progress) {
|
|
1390
1407
|
setUploadProgress(progress);
|
|
1391
1408
|
};
|
|
1392
|
-
var handleReUpload =
|
|
1393
|
-
var
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
handleCreateRecording();
|
|
1405
|
-
case 7:
|
|
1406
|
-
case "end":
|
|
1407
|
-
return _context4.stop();
|
|
1408
|
-
}
|
|
1409
|
-
}, _callee4);
|
|
1410
|
-
}));
|
|
1411
|
-
return function handleReUpload() {
|
|
1412
|
-
return _ref6.apply(this, arguments);
|
|
1413
|
-
};
|
|
1414
|
-
}();
|
|
1409
|
+
var handleReUpload = function handleReUpload() {
|
|
1410
|
+
var multipartS3Uploader = getMultipartS3Uploader();
|
|
1411
|
+
setIsRetryUpload(true);
|
|
1412
|
+
setUploadProgress(0);
|
|
1413
|
+
multipartS3Uploader.abortUpload();
|
|
1414
|
+
|
|
1415
|
+
// Create a new multipartS3Uploader instance to push the blob
|
|
1416
|
+
getMultipartS3Uploader({
|
|
1417
|
+
initialize: true
|
|
1418
|
+
}).push(screenRecorder.getWebmMediaBlob());
|
|
1419
|
+
handleCreateRecording();
|
|
1420
|
+
};
|
|
1415
1421
|
useImperativeHandle(ref, function () {
|
|
1416
1422
|
return {
|
|
1417
1423
|
handleDiscardRecording: function handleDiscardRecording() {
|
|
@@ -1422,63 +1428,62 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1422
1428
|
}
|
|
1423
1429
|
};
|
|
1424
1430
|
});
|
|
1425
|
-
|
|
1431
|
+
useHandleErrors({
|
|
1432
|
+
error: error,
|
|
1433
|
+
recorderStatus: recorderStatus
|
|
1434
|
+
});
|
|
1426
1435
|
useEffect(function () {
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
window.navigator.permissions.query({
|
|
1433
|
-
name: "microphone"
|
|
1434
|
-
})
|
|
1435
|
-
// eslint-disable-next-line promise/prefer-await-to-then
|
|
1436
|
-
.then(function (micPermission) {
|
|
1437
|
-
var handleChange = function handleChange() {
|
|
1438
|
-
if (micPermission.state === "granted") {
|
|
1439
|
-
screenRecorder.startRecording();
|
|
1440
|
-
}
|
|
1441
|
-
};
|
|
1442
|
-
micPermission.addEventListener("change", handleChange);
|
|
1443
|
-
asyncCleanupFunc.current = function () {
|
|
1444
|
-
return micPermission.removeEventListener("change", handleChange);
|
|
1445
|
-
};
|
|
1436
|
+
var _cleanupFunction = noop;
|
|
1437
|
+
var handleOnScreenRecorderStart = function handleOnScreenRecorderStart() {
|
|
1438
|
+
var _recorderCallbacks, _uploaderCallbacks;
|
|
1439
|
+
var multipartS3Uploader = getMultipartS3Uploader({
|
|
1440
|
+
initialize: true
|
|
1446
1441
|
});
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1442
|
+
var recorderCallbacks = (_recorderCallbacks = {}, _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onDataAvailable, multipartS3Uploader.push), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onStop, _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
1443
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
1444
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1445
|
+
case 0:
|
|
1446
|
+
if (!createRecordingPromise.current) {
|
|
1447
|
+
_context3.next = 4;
|
|
1448
|
+
break;
|
|
1449
|
+
}
|
|
1450
|
+
_context3.next = 3;
|
|
1451
|
+
return createRecordingPromise.current;
|
|
1452
|
+
case 3:
|
|
1453
|
+
createRecordingPromise.current = null;
|
|
1454
|
+
case 4:
|
|
1455
|
+
multipartS3Uploader.completeUpload();
|
|
1456
|
+
case 5:
|
|
1457
|
+
case "end":
|
|
1458
|
+
return _context3.stop();
|
|
1459
|
+
}
|
|
1460
|
+
}, _callee3);
|
|
1461
|
+
}))), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onDiscard, handleDiscardRecording), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onRestart, handleRestartRecording), _recorderCallbacks);
|
|
1462
|
+
var uploaderCallbacks = (_uploaderCallbacks = {}, _defineProperty(_uploaderCallbacks, UPLOAD_EVENT.onComplete, handleUploadComplete), _defineProperty(_uploaderCallbacks, UPLOAD_EVENT.onError, handleUploadError), _defineProperty(_uploaderCallbacks, UPLOAD_EVENT.onProgress, handleUploadProgress), _uploaderCallbacks);
|
|
1467
1463
|
Object.keys(recorderCallbacks).forEach(function (key) {
|
|
1468
|
-
screenRecorder.
|
|
1464
|
+
screenRecorder.addCallback(key, recorderCallbacks[key]);
|
|
1469
1465
|
});
|
|
1470
1466
|
Object.keys(uploaderCallbacks).forEach(function (key) {
|
|
1471
|
-
multipartS3Uploader.
|
|
1467
|
+
multipartS3Uploader.addCallback(key, uploaderCallbacks[key]);
|
|
1472
1468
|
});
|
|
1469
|
+
_cleanupFunction = function cleanupFunction() {
|
|
1470
|
+
Object.keys(recorderCallbacks).forEach(function (key) {
|
|
1471
|
+
screenRecorder.removeCallback(key, recorderCallbacks[key]);
|
|
1472
|
+
});
|
|
1473
|
+
Object.keys(uploaderCallbacks).forEach(function (key) {
|
|
1474
|
+
multipartS3Uploader.removeCallback(key, uploaderCallbacks[key]);
|
|
1475
|
+
});
|
|
1476
|
+
multipartS3Uploader.removeCallback(UPLOAD_EVENT.onAbort, _cleanupFunction);
|
|
1477
|
+
};
|
|
1478
|
+
multipartS3Uploader.addCallback(UPLOAD_EVENT.onAbort, _cleanupFunction);
|
|
1479
|
+
handleCreateRecording();
|
|
1473
1480
|
};
|
|
1474
|
-
|
|
1475
|
-
useEffect(function () {
|
|
1476
|
-
screenRecorder.addCallback(SCREEN_RECORDER_EVENT.onStart, handleCreateRecording);
|
|
1481
|
+
screenRecorder.addCallback(SCREEN_RECORDER_EVENT.onStart, handleOnScreenRecorderStart);
|
|
1477
1482
|
screenRecorder.addCallback(SCREEN_RECORDER_EVENT.onDiscardDuringCountdown, onDiscard);
|
|
1478
1483
|
return function () {
|
|
1479
1484
|
screenRecorder.revokePermissions();
|
|
1480
|
-
multipartS3Uploader.resetState();
|
|
1481
1485
|
screenRecorder.resetState();
|
|
1486
|
+
_cleanupFunction();
|
|
1482
1487
|
};
|
|
1483
1488
|
}, []);
|
|
1484
1489
|
useEffect(function () {
|
|
@@ -1489,7 +1494,7 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1489
1494
|
if (error === SCREEN_RECORDER_ERROR.UnSupportedBrowser) {
|
|
1490
1495
|
return /*#__PURE__*/jsx(UnSupportedBrowser, {});
|
|
1491
1496
|
}
|
|
1492
|
-
if (error === SCREEN_RECORDER_ERROR.
|
|
1497
|
+
if (error === SCREEN_RECORDER_ERROR.FailedToStart) {
|
|
1493
1498
|
return /*#__PURE__*/jsxs("div", {
|
|
1494
1499
|
className: "flex h-screen w-full flex-col items-center justify-center gap-4",
|
|
1495
1500
|
children: [/*#__PURE__*/jsx(Callout, {
|
|
@@ -1506,7 +1511,14 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1506
1511
|
})]
|
|
1507
1512
|
});
|
|
1508
1513
|
}
|
|
1509
|
-
|
|
1514
|
+
var isBeingUploadedOrHasErrorUploading = isUploadStatus(UPLOAD_STATUS$1.uploading, UPLOAD_STATUS$1.error);
|
|
1515
|
+
if (hasRecordingDiscarded({
|
|
1516
|
+
recorderStatus: recorderStatus,
|
|
1517
|
+
uploadStatus: uploadStatus
|
|
1518
|
+
})) {
|
|
1519
|
+
return /*#__PURE__*/jsx(AbortUpload, {});
|
|
1520
|
+
}
|
|
1521
|
+
if (isRetryUpload || isRecorderStatus(SCREEN_RECORDER_STATUS.stopped) && (isCreatingRecording || isBeingUploadedOrHasErrorUploading)) {
|
|
1510
1522
|
return /*#__PURE__*/jsx(UploadingInProgress, {
|
|
1511
1523
|
recording: recording,
|
|
1512
1524
|
uploadProgress: uploadProgress,
|
|
@@ -1521,12 +1533,6 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1521
1533
|
children: /*#__PURE__*/jsx(PageLoader, {})
|
|
1522
1534
|
});
|
|
1523
1535
|
}
|
|
1524
|
-
if (hasRecordingDiscarded({
|
|
1525
|
-
recorderStatus: recorderStatus,
|
|
1526
|
-
uploadStatus: uploadStatus
|
|
1527
|
-
})) {
|
|
1528
|
-
return /*#__PURE__*/jsx(AbortUpload, {});
|
|
1529
|
-
}
|
|
1530
1536
|
return /*#__PURE__*/jsxs("div", {
|
|
1531
1537
|
className: "flex h-screen w-full flex-col items-center justify-start py-10 xl:py-14 2xl:py-20",
|
|
1532
1538
|
children: [/*#__PURE__*/jsxs("div", {
|
|
@@ -1599,19 +1605,15 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
|
|
|
1599
1605
|
message: t("neetoMediaRecorder.record.discardConfirmation.message"),
|
|
1600
1606
|
submitButtonLabel: t("neetoMediaRecorder.record.discard"),
|
|
1601
1607
|
title: t("neetoMediaRecorder.record.discardConfirmation.title"),
|
|
1602
|
-
onClose:
|
|
1603
|
-
|
|
1604
|
-
},
|
|
1605
|
-
onSubmit: handleDiscardAlertClose
|
|
1608
|
+
onClose: onDiscardAlertClose,
|
|
1609
|
+
onSubmit: handleConfirmDiscard
|
|
1606
1610
|
}), /*#__PURE__*/jsx(Alert, {
|
|
1607
1611
|
isOpen: isRestartAlertOpen,
|
|
1608
1612
|
message: t("neetoMediaRecorder.record.restartConfirmation.message"),
|
|
1609
1613
|
submitButtonLabel: t("neetoMediaRecorder.record.restart"),
|
|
1610
1614
|
title: t("neetoMediaRecorder.record.restartConfirmation.title"),
|
|
1611
|
-
onClose:
|
|
1612
|
-
|
|
1613
|
-
},
|
|
1614
|
-
onSubmit: handleRestartAlertClose
|
|
1615
|
+
onClose: onRestartAlertClose,
|
|
1616
|
+
onSubmit: handleConfirmRestart
|
|
1615
1617
|
})]
|
|
1616
1618
|
});
|
|
1617
1619
|
};
|