fix: shadows ugly on ios

This commit is contained in:
Jakob Stornig 2023-12-06 11:34:06 +01:00
parent 27d0d45129
commit c1bea51576

View file

@ -1,12 +1,38 @@
import { View, Text, StyleSheet } from 'react-native' import { View, Text, StyleSheet, Platform } from 'react-native'
import React from 'react' import React from 'react'
import { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes' import { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes'
import { useThemeColor } from '../../../hooks/hooks' import { useThemeColor } from '../../../hooks/hooks'
import { SHADOWS } from '../../../constants/theme' import { SHADOWS } from '../../../constants/theme'
function generateBoxShadowStyle(
xOffset: number,
yOffset: number,
shadowColorIos: string,
shadowOpacity: number,
shadowRadius: number,
elevation: number,
shadowColorAndroid: string
):void {
if(Platform.OS === 'ios'){
styles.boxShadow = {
shadowColor: shadowColorIos,
shadowOffset : {width: xOffset, height: yOffset},
shadowOpacity,
shadowRadius,
backgroundColor: useThemeColor("backgroundColor")
}
}else if (Platform.OS === 'android'){
styles.boxShadow = {
elevation: elevation,
shadowColor: shadowColorAndroid,
};
}
}
export default function CustomCard(props : ViewProps) { export default function CustomCard(props : ViewProps) {
generateBoxShadowStyle(1, 1, '#171717', 0.2, 20, 10, '#171717')
return ( return (
<View style={[styles.container, SHADOWS.light, props.style]}> <View style={[styles.container, styles.boxShadow, props.style]}>
{props.children} {props.children}
</View> </View>
) )
@ -18,6 +44,7 @@ const styles = StyleSheet.create({
alignItems: "stretch", alignItems: "stretch",
alignContent: "space-between", alignContent: "space-between",
borderRadius: 20, borderRadius: 20,
marginHorizontal: 10 marginHorizontal: 10,
} },
boxShadow: {},
}) })