62 lines
2.0 KiB
TypeScript
62 lines
2.0 KiB
TypeScript
import { TouchableOpacity, View } from "react-native";
|
|
import { commonStyles } from "../../../App/Container/Navi-Insurance/Styles";
|
|
import { GenericActionPayload } from "../../../App/common/actions/GenericAction";
|
|
import { CtaData } from "../../../App/common/interface";
|
|
import { CardWithIconWidgetData } from "../../../App/common/interface/widgets/widgetData/CardWithIconWidgetData";
|
|
import { StyledImage } from "../../StyledImage";
|
|
import CtaButton from "../../reusable/cta-button/CtaButton";
|
|
import { StyledText } from "../styled-text/StyledText";
|
|
import { styles } from "./CardWithIconWidgetStyle";
|
|
const CardWithIconWidget = ({
|
|
widgetData,
|
|
handleActions,
|
|
handleClick,
|
|
}: {
|
|
widgetData: CardWithIconWidgetData;
|
|
handleActions: (
|
|
value?: any | undefined | null,
|
|
screenActionPayload?: GenericActionPayload,
|
|
) => void;
|
|
handleClick?: (cta: CtaData) => void;
|
|
}) => {
|
|
const cardClick = () => {
|
|
handleClick && widgetData.cta && handleClick(widgetData.cta);
|
|
};
|
|
return (
|
|
<TouchableOpacity
|
|
style={styles.background}
|
|
onPress={cardClick}
|
|
activeOpacity={1}
|
|
>
|
|
<View style={styles.columnContainer}>
|
|
{widgetData.title?.text && (
|
|
<StyledText textFieldData={widgetData.title} />
|
|
)}
|
|
{widgetData.title?.text && widgetData.subtitle && (
|
|
<View style={commonStyles.verticalSpacer4} />
|
|
)}
|
|
{widgetData.subtitle?.text && (
|
|
<StyledText textFieldData={widgetData.subtitle} />
|
|
)}
|
|
{widgetData.button && widgetData.subtitle && (
|
|
<View style={commonStyles.verticalSpacer16} />
|
|
)}
|
|
{widgetData.button && (
|
|
<CtaButton style={widgetData.button.buttonStyle}>
|
|
{widgetData.button.title && (
|
|
<StyledText textFieldData={widgetData.button.title} />
|
|
)}
|
|
</CtaButton>
|
|
)}
|
|
</View>
|
|
<View>
|
|
{widgetData.rightIcon && (
|
|
<StyledImage imageFieldData={widgetData.rightIcon} />
|
|
)}
|
|
</View>
|
|
</TouchableOpacity>
|
|
);
|
|
};
|
|
|
|
export default CardWithIconWidget;
|