import { Dimensions, Platform } from 'react-native'; import StaticSafeAreaInsets from 'react-native-static-safe-area-insets'; export const CONTENT_SPACING = 15; const SAFE_BOTTOM = Platform.select({ ios: StaticSafeAreaInsets.safeAreaInsetsBottom, }) ?? 0; export const SAFE_AREA_PADDING = { paddingLeft: StaticSafeAreaInsets.safeAreaInsetsLeft + CONTENT_SPACING, paddingTop: StaticSafeAreaInsets.safeAreaInsetsTop + CONTENT_SPACING, paddingRight: StaticSafeAreaInsets.safeAreaInsetsRight + CONTENT_SPACING, paddingBottom: SAFE_BOTTOM + CONTENT_SPACING, }; // whether to use takeSnapshot() instead of takePhoto() on Android export const USE_SNAPSHOT_ON_ANDROID = false; // whether to use ultra-wide-angle cameras if available, or explicitly disable them. I think ultra-wide-angle cams don't support 60FPS... export const USE_ULTRAWIDE_IF_AVAILABLE = true; // The maximum zoom _factor_ you should be able to zoom in export const MAX_ZOOM_FACTOR = 20; export const SCREEN_WIDTH = Dimensions.get('window').width; export const SCREEN_HEIGHT = Platform.select({ android: Dimensions.get('screen').height - StaticSafeAreaInsets.safeAreaInsetsBottom, ios: Dimensions.get('window').height, }) as number; // Capture Button export const CAPTURE_BUTTON_SIZE = 78;