import { View, ViewStyle, type ViewProps } from 'react-native'; import { useThemeColor } from '@/hooks/use-theme-color'; export type ThemedViewProps = ViewProps & { lightColor?: string; darkColor?: string; lvl?:number; border?:number; opacity?:string; shadow?: boolean; }; //nb : pour border ne pas oublier de mettre en plus "borderWidth" dans le style du composant /!\ export function ThemedView({ style, lightColor, darkColor,lvl=1,border=-1,opacity="FF",shadow=false, ...otherProps }: ThemedViewProps) { var lvlStr:string = "background"; var borderColor =""; if(lvl>=0 && lvl<6){ lvlStr+=lvl; } else lvlStr+='5'; const backgroundColor = useThemeColor({ light: lightColor, dark: darkColor },lvlStr as 'background0'|'background1'|'background2'|'background3'|'background4'|'background5')+opacity; if(border!=-1){ var borderStr = ""; if(border>=0 && border<6){ borderStr="background"+border; borderColor = useThemeColor({ light: lightColor, dark: darkColor },borderStr as 'background0'|'background1'|'background2'|'background3'|'background4'|'background5'); } else{ borderColor = backgroundColor } } const shadowStyle: ViewStyle = { //android elevation: 10, //iOS shadowColor: '#000', shadowOffset: { width: 0, height: 4 }, shadowOpacity: 0.2, shadowRadius: 6, } return ; }