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 ;
}
}