Files
super-app/components/widgets/hero-section-widget/HeroSectionWidget.tsx
2024-09-24 17:39:17 +00:00

47 lines
1.5 KiB
TypeScript

import { View } from "react-native";
import { NaviLinearGradient } from "../../../App/common/hooks/useGradient";
import { HeroSectionWidgetProps } from "../../../App/common/interface/widgets/widgetData/HeroSectionWidgetData";
import { StyledImage } from "../../StyledImage";
import { StyledText } from "../styled-text/StyledText";
import styles from "./HeroSectionWidgetStyles";
const HeroSectionWidget = ({
widgetData,
widgetStyle,
handleActions,
handleClick,
widgetIndex,
}: HeroSectionWidgetProps) => {
return (
<NaviLinearGradient
gradientColors={widgetData?.backgroundGradient}
orientation={widgetData?.gradientOrientation}
>
<View style={styles.container}>
<View style={styles.rowContainer}>
<View style={styles.columnContainer}>
{widgetData?.title?.text && (
<StyledText textFieldData={widgetData?.title} />
)}
{widgetData?.subtitle?.text && (
<StyledText textFieldData={widgetData?.subtitle} />
)}
</View>
{widgetData?.image?.url && (
<StyledImage imageFieldData={widgetData?.image} />
)}
</View>
<View style={styles.calloutContainer}>
{widgetData?.callout?.title?.text && (
<View style={widgetData?.callout?.calloutStyle}>
<StyledText textFieldData={widgetData?.callout?.title} />
</View>
)}
</View>
</View>
</NaviLinearGradient>
);
};
export default HeroSectionWidget;