aboutsummaryrefslogtreecommitdiff
path: root/src/utils/statusBarHeight.ts
blob: b8eb7b330552c436fc334bc7c81c8b020d726f67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import {Platform, StatusBar} from 'react-native';
import {SCREEN_HEIGHT, SCREEN_WIDTH} from './screenDimensions';

const X_WIDTH = 375;
const X_HEIGHT = 812;
const XSMAX_WIDTH = 414;
const XSMAX_HEIGHT = 896;

export const isIPhoneX = () =>
  Platform.OS === 'ios' && !Platform.isPad && !Platform.isTVOS
    ? (SCREEN_WIDTH === X_WIDTH && SCREEN_HEIGHT === X_HEIGHT) ||
      (SCREEN_WIDTH === XSMAX_WIDTH && SCREEN_HEIGHT === XSMAX_HEIGHT)
    : false;

// Taken from: https://github.com/react-navigation/react-navigation/issues/283
export const HeaderHeight = Platform.select({
  ios: 44,
  android: 56,
  default: 64,
});

export const StatusBarHeight = Platform.select({
  ios: isIPhoneX() ? 44 : 20,
  android: StatusBar.currentHeight,
  default: 0,
});

export const AvatarHeaderHeight = (HeaderHeight + StatusBarHeight) * 1.3;