diff options
author | Hailey <me@haileyok.com> | 2023-12-31 16:05:07 -0800 |
---|---|---|
committer | Hailey <me@haileyok.com> | 2023-12-31 16:05:07 -0800 |
commit | 87245480d42f0956b06987944ca412538d4fb698 (patch) | |
tree | f6fdf36ce378846b01490a739c2f657f55dc2f7d /src/Splash.tsx | |
parent | 4e9e92f976b5c26879e9126f88aaeea0c8b8c3bc (diff) | |
download | voidsky-87245480d42f0956b06987944ca412538d4fb698.tar.zst |
who the hell knows
Diffstat (limited to 'src/Splash.tsx')
-rw-r--r-- | src/Splash.tsx | 72 |
1 files changed, 45 insertions, 27 deletions
diff --git a/src/Splash.tsx b/src/Splash.tsx index fc70bb3b7..0f4c83616 100644 --- a/src/Splash.tsx +++ b/src/Splash.tsx @@ -2,6 +2,7 @@ import React, {useCallback, useEffect} from 'react' import {View, StyleSheet, Image as RNImage} from 'react-native' import * as SplashScreen from 'expo-splash-screen' import {Image} from 'expo-image' +import {platformApiLevel} from 'expo-device' import Animated, { interpolate, runOnJS, @@ -136,34 +137,51 @@ export function Splash(props: React.PropsWithChildren<Props>) { /> )} - <MaskedView - style={[StyleSheet.absoluteFillObject]} - maskElement={ - <Animated.View - style={[ - StyleSheet.absoluteFillObject, - { - // Transparent background because mask is based off alpha channel. - backgroundColor: 'transparent', - flex: 1, - justifyContent: 'center', - alignItems: 'center', - transform: [{translateY: -(insets.top / 2)}, {scale: 0.1}], // scale from 1000px to 100px - }, - ]}> - <AnimatedLogo style={[logoAnimations]} /> + {platformApiLevel && platformApiLevel <= 27 ? ( + <> + {!isAnimationComplete && ( + <View + style={[ + StyleSheet.absoluteFillObject, + {backgroundColor: 'white'}, + ]} + /> + )} + <Animated.View style={[{flex: 1}, appAnimation]}> + {props.children} </Animated.View> - }> - {!isAnimationComplete && ( - <View - style={[StyleSheet.absoluteFillObject, {backgroundColor: 'white'}]} - /> - )} - - <Animated.View style={[{flex: 1}, appAnimation]}> - {props.children} - </Animated.View> - </MaskedView> + </> + ) : ( + <MaskedView + style={[StyleSheet.absoluteFillObject]} + maskElement={ + <Animated.View + style={[ + { + // Transparent background because mask is based off alpha channel. + backgroundColor: 'transparent', + flex: 1, + justifyContent: 'center', + alignItems: 'center', + transform: [{translateY: -(insets.top / 2)}, {scale: 0.1}], // scale from 1000px to 100px + }, + ]}> + <AnimatedLogo style={[logoAnimations]} /> + </Animated.View> + }> + {!isAnimationComplete && ( + <View + style={[ + StyleSheet.absoluteFillObject, + {backgroundColor: 'white'}, + ]} + /> + )} + <Animated.View style={[{flex: 1}, appAnimation]}> + {props.children} + </Animated.View> + </MaskedView> + )} </View> ) } |