@hhgtech/hhg-components
Version:
Hello Health Group common components
63 lines (62 loc) • 2.68 kB
TypeScript
import { UserInfo } from "../../types";
export type SSOV2StoreType = {
userInfo?: UserInfo;
abTestFlow?: 'A' | 'B';
setABTestFlow: (flow?: 'A' | 'B') => void;
setUserInfo: (userInfo?: UserInfo) => void;
isOpen: boolean;
setOpen: (isOpen: boolean) => void;
returnUrl?: string;
setReturnUrl: (returnUrl: string) => void;
mounted?: boolean;
setMounted: (mounted: boolean) => void;
source?: string;
setSource: (source: string) => void;
setupSource?: string;
setSetupSource: (source: string) => void;
triggerLogin: (params?: {
source?: string;
returnUrl?: string;
legalTextType?: 'community' | 'default';
forceReloadOnClose?: boolean;
}) => void;
triggerCareEmailPhoneVerify: (params?: {
source?: string;
returnUrl?: string;
skipForceSetup?: boolean;
legalTextType?: 'community' | 'default';
}) => void;
triggerCommunityEmailVerify: (params?: {
source?: string;
returnUrl?: string;
skipForceSetup?: boolean;
legalTextType?: 'community' | 'default';
forceReloadOnClose?: boolean;
}) => void;
overrideClose?: () => void;
onCloseProp?: () => void;
setOnCloseProp: (onClose: () => void) => void;
forceReloadOnClose?: boolean;
flowData?: {
method?: 'email' | 'sms' | 'zalo' | 'google' | 'facebook' | 'phone' | 'whatsapp';
flow?: 'login' | 'signup';
isVerifyPhone?: boolean;
/** These data is fetched from API to use in the email flow */
metaData?: {
is_birthday?: boolean;
is_gender?: boolean;
is_name?: boolean;
is_pass?: boolean;
is_phone_verified?: boolean;
};
};
};
export declare const useSSOV2Store: import("zustand").UseBoundStore<import("zustand").StoreApi<SSOV2StoreType>>;
export declare const redirect: (returnUrl?: string, source?: string, forceReload?: boolean) => boolean;
export declare const IS_SSOV2_ENABLED: (locale?: string) => boolean;
export declare const getSSOFlowFromUserProfile: (userInfo: UserInfo) => any;
export declare const isUserFinishedSetup: (userInfo: UserInfo) => any;
export declare const isFlowFinishedSetup: (flowData: SSOV2StoreType['flowData']) => boolean;
export declare const isUserNeedPassword: (flowData?: SSOV2StoreType['flowData'], userInfo?: UserInfo) => boolean;
export declare const isPhoneNotVerifedYet: (userInfo?: UserInfo) => boolean;
export declare const isLoginWithPhoneNotVerifedYet: (flowData?: SSOV2StoreType['flowData'], userInfo?: UserInfo) => boolean;