import { View, ViewStyle } from "react-native"; import { CardWithIconWidget, CardWithListItemsWidget, ComparisonWidget, ExpandableListWidget, FAB, FooterWithCardWidget, GridWithCardWidget, HeaderLottieAnimationWidget, HeaderWithAssetsWidget, HeroSectionWidget, ListItemWidget, SelectCardWithDetailListWidget, SelectCardWithTagListItems, SliderWidget, SpacerWidget, SumInsuredWidget, TableWidget, TitleRightTitleWithContentListWidget, TitleSubtitleWithAssetWidget, TitleWidget, TitleWithAssetBackgroundWidget, TitleWithAssetsWidget, TitleWithColumnWidget, TitleWithHorizontalCarouselListWidget, TitleWithListWidget, SelectCardWithFooterWidget, } from "../../../components/widgets"; import { GenericActionPayload } from "../actions/GenericAction"; import { CARD_WITH_ICON_WIDGET, CARD_WITH_LIST_ITEMS_WIDGET, COMPARISON_WIDGET, EXPANDABLE_LIST_WIDGET, FAB_REQUEST_TO_CALLBACK, FOOTER_WITH_CARD_WIDGET, GRID_WITH_CARD_WIDGET, HEADER_LOTTIE_ANIMATION_WIDGET, HEADER_WITH_ASSETS_WIDGET, HERO_SECTION_WIDGET, LIST_ITEM_WITH_ICON_WIDGET, SELECT_CARD_WITH_DETAIL_LIST_WIDGET, SLIDER_WIDGET, SPACER_WIDGET, SUM_INSURED_WIDGET, TABLE_WIDGET, TITLE_RIGHT_TITLE_WITH_CONTENT_LIST_WIDGET, TITLE_SUBTITLE_WITH_ASSET_WIDGET, TITLE_WIDGET, TITLE_WITH_ASSETS_WIDGET, TITLE_WITH_ASSET_BACKGROUND_WIDGET, TITLE_WITH_COLUMN_WIDGET, TITLE_WITH_LIST_WIDGET, TITLE_WITH_HORIZONTAL_CAROUSEL_LIST_WIDGET, SELECT_CARD_WITH_TAG_LIST_ITEMS_WIDGET, SELECT_CARD_WITH_FOOTER_WIDGET, } from "../constants"; import { CtaData } from "../interface"; import { GenericWidgetData, Widget } from "../interface/widgets/Widget"; import { SumInsuredWidgetData } from "../interface/widgets/widgetData/SumInsuredWidgetData"; import { ScreenState } from "../screen/BaseScreen"; import React from "react"; export const GetWidgetView = { getWidget: ( widget: Widget, handleActions: ( value?: any | undefined | null, actionPayload?: GenericActionPayload, ) => void, widgetIndex: number, handleClick?: (ctaData: CtaData) => void, screenState?: ScreenState | null, ): JSX.Element => { const { widgetName, widgetData, widgetStyle, widgetId } = widget; return resolveWidgetView( widgetId, widgetName, widgetData, widgetStyle, handleActions, widgetIndex, handleClick, screenState, ); }, }; function resolveWidgetView( widgetId: string, widgetName: string, widgetData: GenericWidgetData, widgetStyle: ViewStyle, handleActions: ( value?: any | undefined | null, screenActionPayload?: GenericActionPayload, ) => void, widgetIndex: number, handleClick?: (ctaData: CtaData) => void, screenState?: ScreenState | null, ) { switch (widgetName) { case SLIDER_WIDGET: return ( ); case TITLE_WIDGET: return ( ); case SUM_INSURED_WIDGET: return ( ); case TITLE_WITH_LIST_WIDGET: return ( ); case COMPARISON_WIDGET: return ( ); case TITLE_WITH_ASSETS_WIDGET: return ( ); case FOOTER_WITH_CARD_WIDGET: return ( ); case HEADER_WITH_ASSETS_WIDGET: return ( ); case HEADER_LOTTIE_ANIMATION_WIDGET: return ( ); case GRID_WITH_CARD_WIDGET: return ( ); case TITLE_SUBTITLE_WITH_ASSET_WIDGET: return ( ); case FAB_REQUEST_TO_CALLBACK: return ( ); case TITLE_WITH_COLUMN_WIDGET: return ( ); case TITLE_WITH_ASSET_BACKGROUND_WIDGET: return ( ); case CARD_WITH_ICON_WIDGET: return ( ); case SPACER_WIDGET: return ( ); case SELECT_CARD_WITH_DETAIL_LIST_WIDGET: return ( ); case TABLE_WIDGET: return ( ); case HERO_SECTION_WIDGET: return ( ); case LIST_ITEM_WITH_ICON_WIDGET: return ( ); case CARD_WITH_LIST_ITEMS_WIDGET: return ( ); case TITLE_WITH_HORIZONTAL_CAROUSEL_LIST_WIDGET: return ( ); case TITLE_RIGHT_TITLE_WITH_CONTENT_LIST_WIDGET: return ( ); case SELECT_CARD_WITH_TAG_LIST_ITEMS_WIDGET: return ( ); case EXPANDABLE_LIST_WIDGET: return ( ); case SELECT_CARD_WITH_FOOTER_WIDGET: return ( ); default: return ; } }