import { type FC } from "react"; import { TouchableOpacity, View } from "react-native"; import type IRowCardProps from "./type"; import stylesheet, { useStyles } from "./stylesheet"; import { NCoreUIKitTheme } from "../../core/hooks"; import Text from "../text"; const RowCard: FC = ({ rightContentContainerStyle, rightIcon: CustomRightIcon, leftContentContainerStyle, isTransparentBackground, type = "first-based", rightContainerStyle, rightSubTitleStyle, leftContainerStyle, rightSubTitleColor, leftSubTitleStyle, icon: CustomIcon, rightTitleColor, rightTitleStyle, rightIconStyle, leftTitleStyle, subTitleColor, rightSubTitle, customTheme, titleColor, rightTitle, iconStyle, subTitle, onPress, style, title }) => { const { radiuses, colors, spaces } = NCoreUIKitTheme.useContext(customTheme); const { rightIconContainer: rightIconContainerDynamicStyle, rightContainer: rightContainerDynamicStyle, leftContainer: leftContainerDynamicStyle, iconContainer: iconContainerDynamicStyle, rightSubTitle: rightSubTitleDynamicStyle, rightTitle: rightTitleDynamicStyle, container: containerDynamicStyle, subTitle: subTitleDynamicStyle, title: titleDynamicStyle } = useStyles({ isTransparentBackground, radiuses, subTitle, spaces, colors, type }); const renderRightIcon = () => { if(!CustomRightIcon) { return null; } return ; }; const renderLeftIcon = () => { if(!CustomIcon) { return null; } return ; }; const renderLeftSubTitle = () => { if(!subTitle) { return null; } return {subTitle} ; }; const renderLeftContent = () => { return {title} {renderLeftSubTitle()} ; }; const renderLeft = () => { return {renderLeftContent()} ; }; const renderRightSubTitle = () => { if(!rightSubTitle) { return null; } return {rightSubTitle} ; }; const renderRightContent = () => { return {rightTitle} {renderRightSubTitle()} ; }; const renderRight = () => { return {renderRightContent()} ; }; return { if(onPress) { onPress(); } }} > {renderLeftIcon()} {renderLeft()} {renderRight()} {renderRightIcon()} ; }; export default RowCard;