diff options
Diffstat (limited to 'src/view/com/composer/videos/SelectVideoBtn.tsx')
-rw-r--r-- | src/view/com/composer/videos/SelectVideoBtn.tsx | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/view/com/composer/videos/SelectVideoBtn.tsx b/src/view/com/composer/videos/SelectVideoBtn.tsx index 9c528a92e..d8accd062 100644 --- a/src/view/com/composer/videos/SelectVideoBtn.tsx +++ b/src/view/com/composer/videos/SelectVideoBtn.tsx @@ -19,9 +19,10 @@ const VIDEO_MAX_DURATION = 90 type Props = { onSelectVideo: (video: ImagePickerAsset) => void disabled?: boolean + setError: (error: string) => void } -export function SelectVideoBtn({onSelectVideo, disabled}: Props) { +export function SelectVideoBtn({onSelectVideo, disabled, setError}: Props) { const {_} = useLingui() const t = useTheme() const {requestVideoAccessIfNeeded} = useVideoLibraryPermission() @@ -41,9 +42,17 @@ export function SelectVideoBtn({onSelectVideo, disabled}: Props) { UIImagePickerPreferredAssetRepresentationMode.Current, }) if (response.assets && response.assets.length > 0) { - onSelectVideo(response.assets[0]) + try { + onSelectVideo(response.assets[0]) + } catch (err) { + if (err instanceof Error) { + setError(err.message) + } else { + setError(_(msg`An error occurred while selecting the video`)) + } + } } - }, [onSelectVideo, requestVideoAccessIfNeeded]) + }, [onSelectVideo, requestVideoAccessIfNeeded, setError, _]) return ( <> |