From 5f4611d65e40eae3ca6191a15f68d69ea5a1c4cb Mon Sep 17 00:00:00 2001 From: Kirill Rogovoy Date: Tue, 20 Jul 2021 21:24:52 +0300 Subject: WIP --- app_expo/components/screen/screen.tsx | 66 +++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 app_expo/components/screen/screen.tsx (limited to 'app_expo/components/screen/screen.tsx') diff --git a/app_expo/components/screen/screen.tsx b/app_expo/components/screen/screen.tsx new file mode 100644 index 0000000..dafe36e --- /dev/null +++ b/app_expo/components/screen/screen.tsx @@ -0,0 +1,66 @@ +import * as React from 'react' +import { KeyboardAvoidingView, Platform, ScrollView, StatusBar, View } from 'react-native' +import { useSafeAreaInsets } from 'react-native-safe-area-context' +import { ScreenProps } from './screen.props' +import { isNonScrolling, offsets, presets } from './screen.presets' + +const isIos = Platform.OS === 'ios' + +function ScreenWithoutScrolling(props: ScreenProps) { + const insets = useSafeAreaInsets() + const preset = presets.fixed + const style = props.style || {} + const backgroundStyle = props.backgroundColor ? { backgroundColor: props.backgroundColor } : {} + const insetStyle = { paddingTop: props.unsafe ? 0 : insets.top } + + return ( + + + {props.children} + + ) +} + +function ScreenWithScrolling(props: ScreenProps) { + const insets = useSafeAreaInsets() + const preset = presets.scroll + const style = props.style || {} + const backgroundStyle = props.backgroundColor ? { backgroundColor: props.backgroundColor } : {} + const insetStyle = { paddingTop: props.unsafe ? 0 : insets.top } + + return ( + + + + + {props.children} + + + + ) +} + +/** + * The starting component on every screen in the app. + * + * @param props The screen props + */ +export function Screen(props: ScreenProps) { + if (isNonScrolling(props.preset)) { + return + } else { + return + } +} -- cgit v1.2.3