about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSamuel Newman <mozzius@protonmail.com>2024-03-13 17:38:37 +0000
committerSamuel Newman <mozzius@protonmail.com>2024-03-13 17:38:37 +0000
commit8c7f813d878cf76aa5e750db68f8bf365dbebfa5 (patch)
tree8d60987637db4cbf67ba9d3383d9b81c42ef60cf
parentf1d55f49fa1edeed6ab7399875094f7e052b53f5 (diff)
downloadvoidsky-8c7f813d878cf76aa5e750db68f8bf365dbebfa5.tar.zst
filter out files with non-image mime types
-rw-r--r--src/lib/media/picker.shared.ts21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/lib/media/picker.shared.ts b/src/lib/media/picker.shared.ts
index 8bade34e2..96e82e4c7 100644
--- a/src/lib/media/picker.shared.ts
+++ b/src/lib/media/picker.shared.ts
@@ -18,11 +18,18 @@ export async function openPicker(opts?: ImagePickerOptions) {
     Toast.show('You may only select up to 4 images')
   }
 
-  return (response.assets ?? []).slice(0, 4).map(image => ({
-    mime: 'image/jpeg',
-    height: image.height,
-    width: image.width,
-    path: image.uri,
-    size: getDataUriSize(image.uri),
-  }))
+  return (response.assets ?? [])
+    .slice(0, 4)
+    .filter(asset => {
+      if (asset.mimeType?.startsWith('image/')) return true
+      Toast.show('Only image files are supported')
+      return false
+    })
+    .map(image => ({
+      mime: 'image/jpeg',
+      height: image.height,
+      width: image.width,
+      path: image.uri,
+      size: getDataUriSize(image.uri),
+    }))
 }