Files
super-app/App/common/interface/index.ts
Mayank Singh 9527976c41 TP-64336 | Multi plan feature (#10813)
Co-authored-by: sangaraboinarishvik <rishvik.vardhan@navi.com>
2024-05-14 18:10:14 +00:00

62 lines
1.3 KiB
TypeScript

import { ImageName } from "../constants";
export type CtaData = {
url: string;
type?: string;
parameters?: Array<LineItem>;
data?: any;
finish?: boolean;
screenKey?: string;
analyticsEventProperties?: AnalyticsEvent;
};
export type AnalyticsEvent = {
name: string;
properties?: Map<string, string>;
};
type LineItem = {
key?: string;
value?: string | null;
data?: any | null;
};
export interface BaseNavigator {
navigate(navigationRef: any, ctaData: CtaData): any;
goBack(navigationRef: any): any;
push(navigationRef: any, ctaData: CtaData): any;
performNavigation(navigation: any, type: any, ctaData: CtaData): any;
}
export enum NavigationType {
NAVIGATE = "navigate",
GO_BACK = "goBack",
PUSH = "push",
}
export interface CtaParameter {
key: string;
value: string | undefined | null;
}
export interface StaticHeaderProperties {
leftIcon?: keyof typeof ImageName;
rightIcon?: keyof typeof ImageName;
leftIconCta?: CtaData | null;
rightIconCta?: CtaData | null;
}
export enum ParameterType {
PRE_QUOTE_ID = "preQuoteId",
QUOTE_ID = "quoteId",
NAVIGATOR_TYPE = "RnNavigatorType",
}
export enum CtaType {
DEEP_LINK = "DEEP_LINK",
DISMISS_MODAL = "DISMISS_MODAL",
USE_ROOT_DEEPLINK_NAVIGATOR = "USE_ROOT_DEEPLINK_NAVIGATOR",
RN_NAVIGATOR = "RN_NAVIGATOR",
}