@bigbinary/neeto-media-recorder 2.6.3 → 2.6.5

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/index.js CHANGED
@@ -1029,12 +1029,33 @@ var generatePublicUrl = function generatePublicUrl(recordingId) {
1029
1029
  return "".concat(baseURL, "/watch/").concat(recordingId);
1030
1030
  };
1031
1031
 
1032
+ var UseDesktopAppCallout = function UseDesktopAppCallout() {
1033
+ return /*#__PURE__*/jsx(Callout, {
1034
+ className: "mb-3",
1035
+ style: "info",
1036
+ children: /*#__PURE__*/jsx(Typography, {
1037
+ component: "span",
1038
+ style: "body2",
1039
+ children: /*#__PURE__*/jsx(Trans, {
1040
+ i18nKey: "neetoMediaRecorder.useDesktopAppCallOut",
1041
+ components: {
1042
+ Download: /*#__PURE__*/jsx(Button, {
1043
+ href: "https://neeto.com/neetorecord/download",
1044
+ style: "link"
1045
+ })
1046
+ }
1047
+ })
1048
+ })
1049
+ });
1050
+ };
1051
+
1032
1052
  var UploadingInProgress = function UploadingInProgress(_ref) {
1033
1053
  var recording = _ref.recording,
1034
1054
  uploadProgress = _ref.uploadProgress,
1035
1055
  uploadStatus = _ref.uploadStatus,
1036
1056
  onDiscard = _ref.onDiscard,
1037
- onRetryUpload = _ref.onRetryUpload;
1057
+ onRetryUpload = _ref.onRetryUpload,
1058
+ isRetryUpload = _ref.isRetryUpload;
1038
1059
  var _useState = useState(""),
1039
1060
  _useState2 = _slicedToArray(_useState, 2),
1040
1061
  baseURL = _useState2[0],
@@ -1070,7 +1091,7 @@ var UploadingInProgress = function UploadingInProgress(_ref) {
1070
1091
  className: "flex h-screen w-full flex-col items-center justify-center",
1071
1092
  children: [/*#__PURE__*/jsxs("div", {
1072
1093
  className: "flex h-full w-full flex-col items-center justify-start py-14 lg:py-20 xl:py-28 2xl:py-36",
1073
- children: [/*#__PURE__*/jsxs("div", {
1094
+ children: [/*#__PURE__*/jsx(UseDesktopAppCallout, {}), /*#__PURE__*/jsxs("div", {
1074
1095
  className: "w-full pb-6 text-center",
1075
1096
  children: [/*#__PURE__*/jsx(Typography, {
1076
1097
  className: "select-none pb-6",
@@ -1113,8 +1134,9 @@ var UploadingInProgress = function UploadingInProgress(_ref) {
1113
1134
  onClick: handleRecordingBlobDownload
1114
1135
  }), /*#__PURE__*/jsx(Button, {
1115
1136
  "data-cy": "recorder-retry-upload-button",
1137
+ disabled: isRetryUpload,
1116
1138
  icon: Refresh,
1117
- label: "Retry",
1139
+ label: t("neetoMediaRecorder.record.retry"),
1118
1140
  style: "tertiary",
1119
1141
  onClick: onRetryUpload
1120
1142
  }), /*#__PURE__*/jsx(Button, {
@@ -1412,15 +1434,28 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
1412
1434
  setUploadProgress(progress);
1413
1435
  };
1414
1436
  var handleReUpload = function handleReUpload() {
1437
+ var _uploaderCallbacks;
1415
1438
  var multipartS3Uploader = getMultipartS3Uploader();
1416
1439
  setIsRetryUpload(true);
1417
1440
  setUploadProgress(0);
1418
1441
  multipartS3Uploader.abortUpload();
1419
1442
 
1420
1443
  // Create a new multipartS3Uploader instance to push the blob
1421
- getMultipartS3Uploader({
1444
+ var newMultipartS3Uploader = getMultipartS3Uploader({
1422
1445
  initialize: true
1423
- }).push(screenRecorder.getWebmMediaBlob());
1446
+ });
1447
+ newMultipartS3Uploader.push(screenRecorder.getWebmMediaBlob());
1448
+
1449
+ // Attach callbacks to the new multipartS3Uploader instance
1450
+ var uploaderCallbacks = (_uploaderCallbacks = {}, _defineProperty(_uploaderCallbacks, UPLOAD_EVENT.onComplete, handleUploadComplete), _defineProperty(_uploaderCallbacks, UPLOAD_EVENT.onError, handleUploadError), _defineProperty(_uploaderCallbacks, UPLOAD_EVENT.onProgress, handleUploadProgress), _defineProperty(_uploaderCallbacks, UPLOAD_EVENT.onAbort, function () {
1451
+ Object.keys(uploaderCallbacks).forEach(function (key) {
1452
+ multipartS3Uploader.removeCallback(key, uploaderCallbacks[key]);
1453
+ });
1454
+ multipartS3Uploader.removeCallback(UPLOAD_EVENT.onAbort, uploaderCallbacks[UPLOAD_EVENT.onAbort]);
1455
+ }), _uploaderCallbacks);
1456
+ Object.keys(uploaderCallbacks).forEach(function (key) {
1457
+ newMultipartS3Uploader.addCallback(key, uploaderCallbacks[key]);
1458
+ });
1424
1459
  handleCreateRecording();
1425
1460
  };
1426
1461
  useImperativeHandle(ref, function () {
@@ -1440,7 +1475,7 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
1440
1475
  useEffect(function () {
1441
1476
  var _cleanupFunction = noop;
1442
1477
  var handleOnScreenRecorderStart = function handleOnScreenRecorderStart() {
1443
- var _recorderCallbacks, _uploaderCallbacks;
1478
+ var _recorderCallbacks, _uploaderCallbacks2;
1444
1479
  var multipartS3Uploader = getMultipartS3Uploader({
1445
1480
  initialize: true
1446
1481
  });
@@ -1464,7 +1499,7 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
1464
1499
  }
1465
1500
  }, _callee3);
1466
1501
  }))), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onDiscard, handleDiscardRecording), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onRestart, handleRestartRecording), _recorderCallbacks);
1467
- var uploaderCallbacks = (_uploaderCallbacks = {}, _defineProperty(_uploaderCallbacks, UPLOAD_EVENT.onComplete, handleUploadComplete), _defineProperty(_uploaderCallbacks, UPLOAD_EVENT.onError, handleUploadError), _defineProperty(_uploaderCallbacks, UPLOAD_EVENT.onProgress, handleUploadProgress), _uploaderCallbacks);
1502
+ var uploaderCallbacks = (_uploaderCallbacks2 = {}, _defineProperty(_uploaderCallbacks2, UPLOAD_EVENT.onComplete, handleUploadComplete), _defineProperty(_uploaderCallbacks2, UPLOAD_EVENT.onError, handleUploadError), _defineProperty(_uploaderCallbacks2, UPLOAD_EVENT.onProgress, handleUploadProgress), _uploaderCallbacks2);
1468
1503
  Object.keys(recorderCallbacks).forEach(function (key) {
1469
1504
  screenRecorder.addCallback(key, recorderCallbacks[key]);
1470
1505
  });
@@ -1525,6 +1560,7 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
1525
1560
  }
1526
1561
  if (isRetryUpload || isRecorderStatus(SCREEN_RECORDER_STATUS.stopped) && (isCreatingRecording || isBeingUploadedOrHasErrorUploading)) {
1527
1562
  return /*#__PURE__*/jsx(UploadingInProgress, {
1563
+ isRetryUpload: isRetryUpload,
1528
1564
  recording: recording,
1529
1565
  uploadProgress: uploadProgress,
1530
1566
  uploadStatus: uploadStatus,
@@ -1533,16 +1569,16 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
1533
1569
  });
1534
1570
  }
1535
1571
  if (isRecorderStatus(SCREEN_RECORDER_STATUS.stopped) && isUploadStatus(UPLOAD_STATUS$1.completed)) {
1536
- return /*#__PURE__*/jsx("div", {
1572
+ return /*#__PURE__*/jsxs("div", {
1537
1573
  className: "h-screen w-full",
1538
- children: /*#__PURE__*/jsx(PageLoader, {})
1574
+ children: [/*#__PURE__*/jsx(UseDesktopAppCallout, {}), /*#__PURE__*/jsx(PageLoader, {})]
1539
1575
  });
1540
1576
  }
1541
1577
  return /*#__PURE__*/jsxs("div", {
1542
1578
  className: "flex h-screen w-full flex-col items-center justify-start py-10 xl:py-14 2xl:py-20",
1543
1579
  children: [/*#__PURE__*/jsxs("div", {
1544
1580
  className: classNames("w-full max-w-3xl"),
1545
- children: [error === SCREEN_RECORDER_ERROR.NotAllowedError && /*#__PURE__*/jsxs("div", {
1581
+ children: [/*#__PURE__*/jsx(UseDesktopAppCallout, {}), error === SCREEN_RECORDER_ERROR.NotAllowedError && /*#__PURE__*/jsxs("div", {
1546
1582
  className: "flex flex-col items-center",
1547
1583
  children: [/*#__PURE__*/jsx(Typography, {
1548
1584
  className: "mb-2",