about summary refs log tree commit diff
path: root/src/view/com/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/com/util')
-rw-r--r--src/view/com/util/UserAvatar.tsx2
-rw-r--r--src/view/com/util/UserBanner.tsx8
-rw-r--r--src/view/com/util/images/ImageCropPicker.tsx6
-rw-r--r--src/view/com/util/images/ImageCropPicker.web.tsx32
4 files changed, 41 insertions, 7 deletions
diff --git a/src/view/com/util/UserAvatar.tsx b/src/view/com/util/UserAvatar.tsx
index c9c255f46..d91607b6c 100644
--- a/src/view/com/util/UserAvatar.tsx
+++ b/src/view/com/util/UserAvatar.tsx
@@ -7,7 +7,7 @@ import {
   openCropper,
   openPicker,
   Image as PickedImage,
-} from 'react-native-image-crop-picker'
+} from './images/ImageCropPicker'
 import {colors, gradients} from '../../lib/styles'
 
 export function UserAvatar({
diff --git a/src/view/com/util/UserBanner.tsx b/src/view/com/util/UserBanner.tsx
index 5ce638351..fe606bc55 100644
--- a/src/view/com/util/UserBanner.tsx
+++ b/src/view/com/util/UserBanner.tsx
@@ -2,13 +2,9 @@ import React, {useCallback} from 'react'
 import {StyleSheet, View, TouchableOpacity, Alert, Image} from 'react-native'
 import Svg, {Rect, Defs, LinearGradient, Stop} from 'react-native-svg'
 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {Image as PickedImage} from 'react-native-image-crop-picker'
+import {Image as PickedImage} from './images/ImageCropPicker'
 import {colors, gradients} from '../../lib/styles'
-import {
-  openCamera,
-  openCropper,
-  openPicker,
-} from 'react-native-image-crop-picker'
+import {openCamera, openCropper, openPicker} from './images/ImageCropPicker'
 
 export function UserBanner({
   banner,
diff --git a/src/view/com/util/images/ImageCropPicker.tsx b/src/view/com/util/images/ImageCropPicker.tsx
new file mode 100644
index 000000000..9cd4da9f5
--- /dev/null
+++ b/src/view/com/util/images/ImageCropPicker.tsx
@@ -0,0 +1,6 @@
+export {
+  openPicker,
+  openCamera,
+  openCropper,
+} from 'react-native-image-crop-picker'
+export type {Image} from 'react-native-image-crop-picker'
diff --git a/src/view/com/util/images/ImageCropPicker.web.tsx b/src/view/com/util/images/ImageCropPicker.web.tsx
new file mode 100644
index 000000000..a385e2e93
--- /dev/null
+++ b/src/view/com/util/images/ImageCropPicker.web.tsx
@@ -0,0 +1,32 @@
+import type {
+  Image,
+  Video,
+  ImageOrVideo,
+  Options,
+  PossibleArray,
+} from 'react-native-image-crop-picker'
+
+export type {Image} from 'react-native-image-crop-picker'
+
+type MediaType<O> = O extends {mediaType: 'photo'}
+  ? Image
+  : O extends {mediaType: 'video'}
+  ? Video
+  : ImageOrVideo
+
+export async function openPicker<O extends Options>(
+  _options: O,
+): Promise<PossibleArray<O, MediaType<O>>> {
+  // TODO
+  throw new Error('TODO')
+}
+export async function openCamera<O extends Options>(
+  _options: O,
+): Promise<PossibleArray<O, MediaType<O>>> {
+  // TODO
+  throw new Error('TODO')
+}
+export async function openCropper(_options: Options): Promise<Image> {
+  // TODO
+  throw new Error('TODO')
+}