import React, {useCallback} from 'react' import {StyleSheet, TouchableOpacity, useWindowDimensions} from 'react-native' import { View, Text, useMergedProps, useBlossomTheme, } from '@react-native-blossom-ui/components' import {SnackbarViewProps} from './types' function SnackbarView(props: SnackbarViewProps) { const {colors, isDark} = useBlossomTheme() const {width: screenWidth} = useWindowDimensions() const { text, actionText, textStyle, actionTextStyle, onActionPress, numberOfLines = 2, theme = 'dark', containerStyle, } = useMergedProps('SnackbarView', props, { colors, isDark, }) const getBackgroundColor = useCallback(() => { const themeColorMap: Record = { light: colors.bgLight100, dark: colors.bgDark800, auto: isDark ? colors.bgDark800 : colors.bgLight100, } return themeColorMap[theme] }, [colors.bgLight100, colors.bgDark800, isDark, theme]) const getTextColor = useCallback(() => { const themeColorMap: Record = { light: colors.bgDark800, dark: colors.bgLight100, auto: isDark ? colors.bgLight100 : colors.bgDark800, } return themeColorMap[theme] }, [colors.bgLight100, colors.bgDark800, isDark, theme]) return ( {text} {actionText && ( {actionText} )} ) } export default SnackbarView const styles = StyleSheet.create({ container: { gap: 16, padding: 16, borderRadius: 4, flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', }, textStyle: { flex: 1, }, })