diff options
Diffstat (limited to 'src/view/com/util')
-rw-r--r-- | src/view/com/util/UserAvatar.tsx | 16 | ||||
-rw-r--r-- | src/view/com/util/UserBanner.tsx | 15 | ||||
-rw-r--r-- | src/view/com/util/images/ImageLayoutGrid.tsx | 12 |
3 files changed, 13 insertions, 30 deletions
diff --git a/src/view/com/util/UserAvatar.tsx b/src/view/com/util/UserAvatar.tsx index d18c2d697..e5c3cf601 100644 --- a/src/view/com/util/UserAvatar.tsx +++ b/src/view/com/util/UserAvatar.tsx @@ -4,12 +4,7 @@ import Svg, {Circle, Path} from 'react-native-svg' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {IconProp} from '@fortawesome/fontawesome-svg-core' import {HighPriorityImage} from 'view/com/util/images/Image' -import { - openCamera, - openCropper, - openPicker, - PickedMedia, -} from '../../../lib/media/picker' +import {openCamera, openCropper, openPicker} from '../../../lib/media/picker' import { usePhotoLibraryPermission, useCameraPermission, @@ -19,6 +14,7 @@ import {colors} from 'lib/styles' import {DropdownButton} from './forms/DropdownButton' import {usePalette} from 'lib/hooks/usePalette' import {isWeb} from 'platform/detection' +import {Image as RNImage} from 'react-native-image-crop-picker' function DefaultAvatar({size}: {size: number}) { return ( @@ -50,7 +46,7 @@ export function UserAvatar({ size: number avatar?: string | null hasWarning?: boolean - onSelectNewAvatar?: (img: PickedMedia | null) => void + onSelectNewAvatar?: (img: RNImage | null) => void }) { const store = useStores() const pal = usePalette('default') @@ -68,7 +64,6 @@ export function UserAvatar({ } onSelectNewAvatar?.( await openCamera(store, { - mediaType: 'photo', width: 1000, height: 1000, cropperCircleOverlay: true, @@ -84,9 +79,8 @@ export function UserAvatar({ if (!(await requestPhotoAccessIfNeeded())) { return } - const items = await openPicker(store, { - mediaType: 'photo', - }) + const items = await openPicker(store) + onSelectNewAvatar?.( await openCropper(store, { mediaType: 'photo', diff --git a/src/view/com/util/UserBanner.tsx b/src/view/com/util/UserBanner.tsx index d54b41506..40c82eaf2 100644 --- a/src/view/com/util/UserBanner.tsx +++ b/src/view/com/util/UserBanner.tsx @@ -4,12 +4,8 @@ import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {IconProp} from '@fortawesome/fontawesome-svg-core' import {Image} from 'expo-image' import {colors} from 'lib/styles' -import { - openCamera, - openCropper, - openPicker, - PickedMedia, -} from '../../../lib/media/picker' +import {openCamera, openCropper, openPicker} from '../../../lib/media/picker' +import {Image as TImage} from 'lib/media/types' import {useStores} from 'state/index' import { usePhotoLibraryPermission, @@ -24,7 +20,7 @@ export function UserBanner({ onSelectNewBanner, }: { banner?: string | null - onSelectNewBanner?: (img: PickedMedia | null) => void + onSelectNewBanner?: (img: TImage | null) => void }) { const store = useStores() const pal = usePalette('default') @@ -42,7 +38,6 @@ export function UserBanner({ } onSelectNewBanner?.( await openCamera(store, { - mediaType: 'photo', // compressImageMaxWidth: 3000, TODO needed? width: 3000, // compressImageMaxHeight: 1000, TODO needed? @@ -59,9 +54,7 @@ export function UserBanner({ if (!(await requestPhotoAccessIfNeeded())) { return } - const items = await openPicker(store, { - mediaType: 'photo', - }) + const items = await openPicker(store) onSelectNewBanner?.( await openCropper(store, { mediaType: 'photo', diff --git a/src/view/com/util/images/ImageLayoutGrid.tsx b/src/view/com/util/images/ImageLayoutGrid.tsx index 83d98eec5..7f9a6fdbd 100644 --- a/src/view/com/util/images/ImageLayoutGrid.tsx +++ b/src/view/com/util/images/ImageLayoutGrid.tsx @@ -1,4 +1,5 @@ -import React from 'react' +import {Dimensions} from 'lib/media/types' +import React, {useState} from 'react' import { LayoutChangeEvent, StyleProp, @@ -11,11 +12,6 @@ import {Image, ImageStyle} from 'expo-image' export const DELAY_PRESS_IN = 500 -interface Dim { - width: number - height: number -} - export type ImageLayoutGridType = 'two' | 'three' | 'four' export function ImageLayoutGrid({ @@ -33,7 +29,7 @@ export function ImageLayoutGrid({ onPressIn?: (index: number) => void style?: StyleProp<ViewStyle> }) { - const [containerInfo, setContainerInfo] = React.useState<Dim | undefined>() + const [containerInfo, setContainerInfo] = useState<Dimensions | undefined>() const onLayout = (evt: LayoutChangeEvent) => { setContainerInfo({ @@ -71,7 +67,7 @@ function ImageLayoutGridInner({ onPress?: (index: number) => void onLongPress?: (index: number) => void onPressIn?: (index: number) => void - containerInfo: Dim + containerInfo: Dimensions }) { const size1 = React.useMemo<ImageStyle>(() => { if (type === 'three') { |