···1import {useCallback} from 'react'
2import {SystemBars} from 'react-native-edge-to-edge'
34-import {IS_IOS} from '#/env'
56/**
7 * If we're calling a system API like the image picker that opens a sheet
···9 */
10export function useSheetWrapper() {
11 return useCallback(async <T>(promise: Promise<T>): Promise<T> => {
12- if (IS_IOS) {
13 const entry = SystemBars.pushStackEntry({
14 style: {
15 statusBar: 'light',
···1import {useCallback} from 'react'
2import {SystemBars} from 'react-native-edge-to-edge'
34+import {IS_IOS, IS_LIQUID_GLASS} from '#/env'
56/**
7 * If we're calling a system API like the image picker that opens a sheet
···9 */
10export function useSheetWrapper() {
11 return useCallback(async <T>(promise: Promise<T>): Promise<T> => {
12+ if (IS_IOS && !IS_LIQUID_GLASS) {
13 const entry = SystemBars.pushStackEntry({
14 style: {
15 statusBar: 'light',
···17import * as Toggle from '#/components/forms/Toggle'
18import {TimesLarge_Stroke2_Corner0_Rounded as XIcon} from '#/components/icons/Times'
19import {Text} from '#/components/Typography'
20-import {IS_NATIVE, IS_WEB} from '#/env'
2122export function LanguageSelectDialog({
23 titleText,
···52 return (
53 <Dialog.Outer
54 control={control}
55- nativeOptions={{minHeight: height - insets.top}}>
0056 <Dialog.Handle />
57 <ErrorBoundary renderError={renderErrorBoundary}>
58 <DialogInner
···17import * as Toggle from '#/components/forms/Toggle'
18import {TimesLarge_Stroke2_Corner0_Rounded as XIcon} from '#/components/icons/Times'
19import {Text} from '#/components/Typography'
20+import {IS_LIQUID_GLASS, IS_NATIVE, IS_WEB} from '#/env'
2122export function LanguageSelectDialog({
23 titleText,
···52 return (
53 <Dialog.Outer
54 control={control}
55+ nativeOptions={{
56+ minHeight: IS_LIQUID_GLASS ? height : height - insets.top,
57+ }}>
58 <Dialog.Handle />
59 <ErrorBoundary renderError={renderErrorBoundary}>
60 <DialogInner
+8
src/env/index.ts
···56export * from '#/env/common'
70000008/**
9 * The semver version of the app, specified in our `package.json`.file. On
10 * iOs/Android, the native build version is appended to the semver version, so
···41 * Misc
42 */
43export const IS_HIGH_DPI: boolean = true
00
···56export * from '#/env/common'
78+// for some reason Platform.OS === 'ios' AND Platform.Version is undefined in our CI unit tests -sfn
9+const iOSMajorVersion =
10+ Platform.OS === 'ios' && typeof Platform.Version === 'string'
11+ ? parseInt(Platform.Version.split('.')[0], 10)
12+ : 0
13+14/**
15 * The semver version of the app, specified in our `package.json`.file. On
16 * iOs/Android, the native build version is appended to the semver version, so
···47 * Misc
48 */
49export const IS_HIGH_DPI: boolean = true
50+// ideally we'd use isLiquidGlassAvailable() from expo-glass-effect but checking iOS version is good enough for now
51+export const IS_LIQUID_GLASS: boolean = iOSMajorVersion >= 26