35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
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<number>({
|
|
android: Dimensions.get('screen').height - StaticSafeAreaInsets.safeAreaInsetsBottom,
|
|
ios: Dimensions.get('window').height,
|
|
}) as number;
|
|
|
|
// Capture Button
|
|
export const CAPTURE_BUTTON_SIZE = 78;
|