@questlabs/react-native-sdk
Version:
Quest react native sdk
91 lines (85 loc) • 2.18 kB
text/typescript
import { TextStyle, ViewStyle } from "react-native";
export interface Props {
campaignVariationId?: string;
questId?: string;
questUserId?: string;
userToken?: string;
showDetailed?: boolean;
// style?: styles;
onClose?: () => void;
isModal?: boolean;
//new addition
actions: ICriteria[];
loading?: boolean;
title: string;
description: string;
onClick?: (actionId: string) => void;
isOffline?: boolean;
onError?: (
event: "VERIFY_ACTION" | "CLAIM_ACTION" | "INVAILD_LINK",
message: string,
data?: {}
) => void;
styleConfig?: styleConfig;
showProgressBar?: boolean;
showFooter?: boolean;
}
export interface ICriteria {
actionId: string;
title: string;
postlink: string;
imageUrl: string;
description: string;
demoLink?: string;
demoButtonText?: string;
buttonText?: string;
completed: boolean;
}
export interface IQuestDetails {
title: string;
descriptions: string;
}
export interface styleConfig {
Form?: ViewStyle;
Heading?: TextStyle;
Description?: TextStyle;
PrimaryButton?: ViewStyle | TextStyle;
SecondaryButton?: ViewStyle | TextStyle;
Footer?: {
FooterStyle?: ViewStyle;
FooterText?: TextStyle;
FooterIcon?: TextStyle;
};
Card?: ViewStyle;
ProgressBar?: {
barColor?: string;
ProgressText?: string;
barParentColor?: string;
};
CardContainer?: ViewStyle;
Icon?: ViewStyle;
TopBar?: ViewStyle;
Arrow?: {
Background?: string;
IconColor?: string;
CompletedBackground?: string;
CompletedIconColor?: string;
};
}
// export interface styles {
// cardHeaderText?: TextStyle;
// startNowButtonView?: ViewStyle;
// headerText?: TextStyle;
// mainView?: ViewStyle;
// cardView?: ViewStyle;
// buttonView?: ViewStyle;
// cardDesciptionText?: TextStyle;
// startNowButton?: TextStyle;
// descriptionText?: TextStyle;
// progressBarTextStyle?: TextStyle;
// progressBar?: ViewStyle;
// progressBarInnerStyle?: ViewStyle;
// visitWebButtonView?: ViewStyle;
// visitWebButton?: TextStyle;
// footerView?: ViewStyle;
// }