@app-studio/web 0.8.62 → 0.8.63

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.
@@ -6949,6 +6949,26 @@
6949
6949
  return visible ? MessageContainer : null;
6950
6950
  };
6951
6951
 
6952
+ var generateThumbnail = (videoFile, setThumbnailUrl) => {
6953
+ var video = document.createElement('video');
6954
+ video.preload = 'metadata';
6955
+ video.onloadedmetadata = () => {
6956
+ video.currentTime = 1;
6957
+ };
6958
+ video.oncanplay = () => {
6959
+ var canvas = document.createElement('canvas');
6960
+ canvas.width = video.videoWidth;
6961
+ canvas.height = video.videoHeight;
6962
+ var ctx = canvas.getContext('2d');
6963
+ if (ctx) {
6964
+ ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
6965
+ var thumbnailDataUrl = canvas.toDataURL('image/jpeg');
6966
+ setThumbnailUrl(thumbnailDataUrl);
6967
+ }
6968
+ URL.revokeObjectURL(video.src);
6969
+ };
6970
+ video.src = URL.createObjectURL(videoFile);
6971
+ };
6952
6972
  var useUpload = _ref => {
6953
6973
  var {
6954
6974
  maxSize = 100 * 1024 * 1024,
@@ -6966,26 +6986,6 @@
6966
6986
  var [errorMessage, setErrorMessage] = React.useState(null);
6967
6987
  var [previewUrl, setPreviewUrl] = React.useState(null);
6968
6988
  var [thumbnailUrl, setThumbnailUrl] = React.useState(thumbnail || null);
6969
- var generateThumbnail = videoFile => {
6970
- var video = document.createElement('video');
6971
- video.preload = 'metadata';
6972
- video.onloadedmetadata = () => {
6973
- video.currentTime = 1;
6974
- };
6975
- video.oncanplay = () => {
6976
- var canvas = document.createElement('canvas');
6977
- canvas.width = video.videoWidth;
6978
- canvas.height = video.videoHeight;
6979
- var ctx = canvas.getContext('2d');
6980
- if (ctx) {
6981
- ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
6982
- var thumbnailDataUrl = canvas.toDataURL('image/jpeg');
6983
- setThumbnailUrl(thumbnailDataUrl);
6984
- }
6985
- URL.revokeObjectURL(video.src);
6986
- };
6987
- video.src = URL.createObjectURL(videoFile);
6988
- };
6989
6989
  var handleFileChange = React.useCallback(event => {
6990
6990
  var _event$target$files;
6991
6991
  var file = (_event$target$files = event.target.files) == null ? void 0 : _event$target$files[0];
@@ -7010,7 +7010,7 @@
7010
7010
  }
7011
7011
  setPreviewUrl(URL.createObjectURL(file));
7012
7012
  if (file.type.startsWith('video/')) {
7013
- generateThumbnail(file);
7013
+ generateThumbnail(file, setThumbnailUrl);
7014
7014
  }
7015
7015
  if (onFileSelect) {
7016
7016
  setSelectedFile(file);
@@ -8175,6 +8175,7 @@
8175
8175
  exports.WifiIcon = WifiIcon;
8176
8176
  exports.XIcon = XIcon;
8177
8177
  exports.YoutubeIcon = YoutubeIcon;
8178
+ exports.generateThumbnail = generateThumbnail;
8178
8179
  exports.hideMessage = hideMessage;
8179
8180
  exports.hideModal = hideModal;
8180
8181
  exports.showMessage = showMessage;