Manav Rathi před 1 rokem
rodič
revize
064827162b
1 změnil soubory, kde provedl 14 přidání a 20 odebrání
  1. 14 20
      web/apps/photos/src/services/download/index.ts

+ 14 - 20
web/apps/photos/src/services/download/index.ts

@@ -492,8 +492,10 @@ async function getRenderableFileURL(
                 : URL.createObjectURL(convertedBlob)
             : undefined;
 
-    let srcURLs: SourceURLs["url"];
+    let url: SourceURLs["url"];
     let isOriginal: boolean;
+    let isRenderable: boolean;
+    let type: SourceURLs["type"] = "normal";
     let mimeType: string | undefined;
 
     switch (file.metadata.fileType) {
@@ -503,18 +505,17 @@ async function getRenderableFileURL(
                 fileBlob,
             );
             const convertedURL = existingOrNewObjectURL(convertedBlob);
-            srcURLs = convertedURL;
+            url = convertedURL;
             isOriginal = convertedURL === originalFileURL;
+            isRenderable = !!convertedURL;
             mimeType = convertedBlob?.type;
             break;
         }
         case FILE_TYPE.LIVE_PHOTO: {
-            srcURLs = await getRenderableLivePhotoURL(
-                file,
-                fileBlob,
-                forceConvert,
-            );
+            url = await getRenderableLivePhotoURL(file, fileBlob, forceConvert);
             isOriginal = false;
+            isRenderable = false;
+            type = "livePhoto";
             break;
         }
         case FILE_TYPE.VIDEO: {
@@ -524,28 +525,21 @@ async function getRenderableFileURL(
                 forceConvert,
             );
             const convertedURL = existingOrNewObjectURL(convertedBlob);
-            srcURLs = convertedURL;
+            url = convertedURL;
             isOriginal = convertedURL === originalFileURL;
+            isRenderable = !!convertedURL;
             mimeType = convertedBlob?.type;
             break;
         }
         default: {
-            srcURLs = originalFileURL;
+            url = originalFileURL;
+            isOriginal = true;
+            isRenderable = false;
             break;
         }
     }
 
-    return {
-        url: srcURLs,
-        isOriginal,
-        isRenderable:
-            file.metadata.fileType !== FILE_TYPE.LIVE_PHOTO && !!srcURLs,
-        type:
-            file.metadata.fileType === FILE_TYPE.LIVE_PHOTO
-                ? "livePhoto"
-                : "normal",
-        mimeType,
-    };
+    return { url, isOriginal, isRenderable, type, mimeType };
 }
 
 async function getRenderableLivePhotoURL(