diff options
author | Samuel Newman <mozzius@protonmail.com> | 2025-08-29 18:15:05 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-29 08:15:05 -0700 |
commit | d6dc52b6eadade991846c61e748d09a6f2b0ef78 (patch) | |
tree | 4f984fe151c6b5f58b3e245ed3a4721ecbb3af9c /src/lib/media/picker.shared.ts | |
parent | 541502c7eeaf54aed3468136c89a2496df16850c (diff) | |
download | voidsky-d6dc52b6eadade991846c61e748d09a6f2b0ef78.tar.zst |
Improve e2e tests (#8927)
* get e2e image picker working * verify create account actually reaches onboarding * wait for image to actually be attached before posting * wait until login finishes before moving on * sign out before switch accounts then wait until logged in * disable onboarding experiments in e2e * add testId to handle availability checkmark * fix too long username * update thread muting test to reflect current behaviour * hackfix for the british english translation * unflake the onboarding tests * fix curate list flow * admit defeat on the most list one
Diffstat (limited to 'src/lib/media/picker.shared.ts')
-rw-r--r-- | src/lib/media/picker.shared.ts | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/lib/media/picker.shared.ts b/src/lib/media/picker.shared.ts index 8ec1154c8..6df712e9a 100644 --- a/src/lib/media/picker.shared.ts +++ b/src/lib/media/picker.shared.ts @@ -1,11 +1,14 @@ import { type ImagePickerOptions, launchImageLibraryAsync, + UIImagePickerPreferredAssetRepresentationMode, } from 'expo-image-picker' import {t} from '@lingui/macro' +import {isIOS, isWeb} from '#/platform/detection' import {type ImageMeta} from '#/state/gallery' import * as Toast from '#/view/com/util/Toast' +import {VIDEO_MAX_DURATION_MS} from '../constants' import {getDataUriSize} from './util' export type PickerImage = ImageMeta & { @@ -36,3 +39,22 @@ export async function openPicker(opts?: ImagePickerOptions) { size: getDataUriSize(image.uri), })) } + +export async function openUnifiedPicker({ + selectionCountRemaining, +}: { + selectionCountRemaining: number +}) { + return await launchImageLibraryAsync({ + exif: false, + mediaTypes: ['images', 'videos'], + quality: 1, + allowsMultipleSelection: true, + legacy: true, + base64: isWeb, + selectionLimit: isIOS ? selectionCountRemaining : undefined, + preferredAssetRepresentationMode: + UIImagePickerPreferredAssetRepresentationMode.Current, + videoMaxDuration: VIDEO_MAX_DURATION_MS / 1000, + }) +} |