182 lines
3.2 KiB
TypeScript
182 lines
3.2 KiB
TypeScript
import { Widget, GenericWidgetData } from "./widgets/Widget";
|
|
|
|
export interface MemberDetailsRootObject {
|
|
applicationResponse: ApplicationResponse;
|
|
currentScreenCta: CurrentScreenCta;
|
|
currentScreenDefinition: CurrentScreenDefinition;
|
|
}
|
|
|
|
interface CurrentScreenDefinition {
|
|
screenData: ScreenData;
|
|
}
|
|
|
|
interface ScreenData {
|
|
metaData: ScreenMetaData;
|
|
screenStructure: ScreenStructure;
|
|
}
|
|
|
|
interface ScreenStructure {
|
|
drawer: Drawer;
|
|
footer: Footer;
|
|
header: Header;
|
|
content: Content;
|
|
renderActions: RenderActions;
|
|
systemBackCta: SystemBackCta;
|
|
floatingActionButton: Drawer;
|
|
}
|
|
|
|
interface SystemBackCta {
|
|
actions: Action2[];
|
|
}
|
|
|
|
interface Action2 {
|
|
type: string;
|
|
ctaData: Cta;
|
|
}
|
|
|
|
interface RenderActions {
|
|
preRenderAction: Drawer;
|
|
postRenderAction: PostRenderAction;
|
|
}
|
|
|
|
interface PostRenderAction {
|
|
actions: Action[];
|
|
}
|
|
|
|
interface Action {
|
|
type: string;
|
|
isNeededForFirebase: boolean;
|
|
isNeededForAppsflyer: boolean;
|
|
predefinedEventProperties: PredefinedEventProperty[];
|
|
}
|
|
|
|
interface PredefinedEventProperty {
|
|
propertyName: string;
|
|
propertyValue: string;
|
|
}
|
|
|
|
interface Content {
|
|
widgets: Widget[];
|
|
backgroundColor: string;
|
|
}
|
|
|
|
interface InfoDisplayWidgetData extends GenericWidgetData {
|
|
cardData?: Container;
|
|
titleData?: Banner;
|
|
leftIconData?: LeftBottomEndTextIcon;
|
|
}
|
|
|
|
interface NameDobWidget extends GenericWidgetData {
|
|
endInput?: EndInput;
|
|
labelTitle?: Banner;
|
|
startInput?: StartInput;
|
|
outputFields?: OutputFields;
|
|
}
|
|
interface OutputFields {
|
|
endInputField: string;
|
|
startInputField: string;
|
|
}
|
|
interface StartInput {
|
|
hint: string;
|
|
style: Drawer;
|
|
keyboardType: string;
|
|
}
|
|
|
|
interface EndInput {
|
|
hint: string;
|
|
style: Drawer;
|
|
endIconUrl: string;
|
|
}
|
|
|
|
interface Header {
|
|
widgetId: string;
|
|
widgetData: HeaderWidgetData;
|
|
widgetType: string;
|
|
}
|
|
|
|
interface HeaderWidgetData {
|
|
backIconData: LeftBottomEndTextIcon;
|
|
endTitleData: Banner;
|
|
middleTitleData: Banner;
|
|
}
|
|
|
|
interface Footer {
|
|
widgetId: string;
|
|
widgetData: FooterWidgetData;
|
|
widgetName: string;
|
|
widgetType: string;
|
|
}
|
|
|
|
interface FooterWidgetData {
|
|
banner: Banner;
|
|
progress: Progress;
|
|
rightCta: RightCta;
|
|
leftBottomText: Banner;
|
|
leftTopStrikedText: Banner;
|
|
leftTopUnstrikedText: Banner;
|
|
leftBottomEndTextIcon: LeftBottomEndTextIcon;
|
|
}
|
|
|
|
interface LeftBottomEndTextIcon {
|
|
style: Drawer;
|
|
iconUrl: string;
|
|
}
|
|
|
|
interface RightCta {
|
|
title: Banner;
|
|
container: Container;
|
|
}
|
|
|
|
interface Container {
|
|
style: Drawer;
|
|
}
|
|
|
|
interface Progress {
|
|
style: Drawer;
|
|
progress: string;
|
|
}
|
|
|
|
interface Banner {
|
|
text: string;
|
|
style: Drawer;
|
|
}
|
|
|
|
interface Drawer {}
|
|
|
|
interface CurrentScreenCta {
|
|
cta: Cta;
|
|
shouldPoll: boolean;
|
|
shouldRender: boolean;
|
|
screenMetaData: ScreenMetaData;
|
|
screenPollingConfigs: ScreenPollingConfigs;
|
|
}
|
|
|
|
interface ScreenPollingConfigs {
|
|
initialDelay: number;
|
|
interval: number;
|
|
numOfRetries: number;
|
|
}
|
|
|
|
interface ScreenMetaData {
|
|
screenName: string;
|
|
screenType: string;
|
|
}
|
|
|
|
interface Cta {
|
|
url: string;
|
|
parameters: Parameter[];
|
|
}
|
|
|
|
interface Parameter {
|
|
key: string;
|
|
value: string;
|
|
}
|
|
|
|
interface ApplicationResponse {
|
|
applicationType: string;
|
|
applicationId: string;
|
|
applicantType: string;
|
|
applicationStatus: string;
|
|
configVersion: string;
|
|
}
|