about summary refs log tree commit diff
path: root/src/view/com/modals/EditProfile.tsx
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2022-12-26 12:01:40 -0600
committerGitHub <noreply@github.com>2022-12-26 12:01:40 -0600
commit838fc601c1f89f028862212d169aebe4163c8672 (patch)
treee00dd942ea0b07f1560e4580c6f273a746c4808c /src/view/com/modals/EditProfile.tsx
parent8652b74a38f67e7f88890c9c3eb3be090b53462c (diff)
downloadvoidsky-838fc601c1f89f028862212d169aebe4163c8672.tar.zst
Start with highest quality compression and find a suitable size (#33)
Diffstat (limited to 'src/view/com/modals/EditProfile.tsx')
-rw-r--r--src/view/com/modals/EditProfile.tsx23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/view/com/modals/EditProfile.tsx b/src/view/com/modals/EditProfile.tsx
index 1ebd4e767..bd97ced53 100644
--- a/src/view/com/modals/EditProfile.tsx
+++ b/src/view/com/modals/EditProfile.tsx
@@ -20,6 +20,7 @@ import {
   MAX_DESCRIPTION,
 } from '../../../lib/strings'
 import {isNetworkError} from '../../../lib/errors'
+import {compressIfNeeded} from '../../../lib/images'
 import {UserBanner} from '../util/UserBanner'
 import {UserAvatar} from '../util/UserAvatar'
 
@@ -52,13 +53,23 @@ export function Component({
   const onPressCancel = () => {
     store.shell.closeModal()
   }
-  const onSelectNewAvatar = (img: PickedImage) => {
-    setNewUserAvatar(img)
-    setUserAvatar(img.path)
+  const onSelectNewAvatar = async (img: PickedImage) => {
+    try {
+      setNewUserAvatar(img)
+      const uri = await compressIfNeeded(img, 300000)
+      setUserAvatar(uri)
+    } catch (e: any) {
+      setError(e.message || e.toString())
+    }
   }
-  const onSelectNewBanner = (img: PickedImage) => {
-    setNewUserBanner(img)
-    setUserBanner(img.path)
+  const onSelectNewBanner = async (img: PickedImage) => {
+    try {
+      setNewUserBanner(img)
+      const uri = await compressIfNeeded(img, 500000)
+      setUserBanner(uri)
+    } catch (e: any) {
+      setError(e.message || e.toString())
+    }
   }
   const onPressSave = async () => {
     setProcessing(true)