aboutsummaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
authorLeon Jiang <35908040+leonyjiang@users.noreply.github.com>2020-08-05 14:15:06 -0700
committerGitHub <noreply@github.com>2020-08-05 17:15:06 -0400
commit1279249ee9355f88913578f51e3b0bf7d99672f6 (patch)
tree4a72890af331ffc818fffc9fb5395a80efe2d7de /src/utils
parentf9cf9b5d89d5e25b227814f0fc759257564cea89 (diff)
[TMA-122] User Profile Screen UI (#27)
* Fix yarn lint issues * Add react-native-svg to project * Create UserType & PostType * Create temporary Post component * Fix import cycle warning, update AuthContext * Update onboarding screen imports * Update config files * Add rn-fetch-blob package * Update types * Add profile fetching to AuthContext * Update post component * Import placeholder images from designs * Add profile UI components * Create screen offset constants * Add new api endpoints * Create screen layout utils * Create Profile screen UI * Remove some unused styling * Restructure ProfileScreen and fix animations * Add gradient back to screen * Update Moment circle styling
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/index.ts2
-rw-r--r--src/utils/screenDimensions.ts6
-rw-r--r--src/utils/statusBarHeight.ts19
3 files changed, 27 insertions, 0 deletions
diff --git a/src/utils/index.ts b/src/utils/index.ts
new file mode 100644
index 00000000..5bc168e3
--- /dev/null
+++ b/src/utils/index.ts
@@ -0,0 +1,2 @@
+export * from './screenDimensions';
+export * from './statusBarHeight';
diff --git a/src/utils/screenDimensions.ts b/src/utils/screenDimensions.ts
new file mode 100644
index 00000000..56277ddc
--- /dev/null
+++ b/src/utils/screenDimensions.ts
@@ -0,0 +1,6 @@
+import {Dimensions} from 'react-native';
+
+const {width, height} = Dimensions.get('window');
+
+export const SCREEN_WIDTH = width;
+export const SCREEN_HEIGHT = height;
diff --git a/src/utils/statusBarHeight.ts b/src/utils/statusBarHeight.ts
new file mode 100644
index 00000000..4c68f9ee
--- /dev/null
+++ b/src/utils/statusBarHeight.ts
@@ -0,0 +1,19 @@
+import {Platform, StatusBar} from 'react-native';
+import {SCREEN_WIDTH, SCREEN_HEIGHT} from './screenDimensions';
+
+const X_WIDTH = 375;
+const X_HEIGHT = 812;
+const XSMAX_WIDTH = 414;
+const XSMAX_HEIGHT = 896;
+
+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;
+
+export const StatusBarHeight = Platform.select({
+ ios: isIPhoneX() ? 44 : 20,
+ android: StatusBar.currentHeight,
+ default: 0,
+});