From 1279249ee9355f88913578f51e3b0bf7d99672f6 Mon Sep 17 00:00:00 2001 From: Leon Jiang <35908040+leonyjiang@users.noreply.github.com> Date: Wed, 5 Aug 2020 14:15:06 -0700 Subject: [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 --- src/utils/index.ts | 2 ++ src/utils/screenDimensions.ts | 6 ++++++ src/utils/statusBarHeight.ts | 19 +++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 src/utils/index.ts create mode 100644 src/utils/screenDimensions.ts create mode 100644 src/utils/statusBarHeight.ts (limited to 'src/utils') 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, +}); -- cgit v1.2.3-70-g09d2