import { Contract } from 'ethers' /* ================ Props ================ */ export interface RefreshQRCodeProps { isShowToast?: boolean } export interface LoginWithDappProps { email: string password: string isWebLogin?: boolean } export interface SignUpWithDappProps { email: string password: string parentCode?: string } export interface SignUpWithBPlusResp { email: string } export interface SendEmailForgotPasswordProps { email: string } export interface ResetPasswordProps { email: string token: string password: string repeatPassword?: string } export interface ActiveAccountProps { code: string email: string } export interface ConnectWalletProps { email: string password: string } export interface VerifyInformationChangeProps { code: string email: string } export interface IncreaseAllowanceProps { TokenContract: Contract spenderAddress: string increaseAllowanceValue: string callback: () => void } export interface AdjustedBalanceProps { adjustedBalance: number balance?: string decimal?: string isTokenBEP20?: boolean tokenAddress?: string tokenName?: string tokenSymbol: string } export interface GetAdjustedBalances { account: string } export interface UpdateProfileProps { userId: string userData: { oldEmail?: string email: string password: string repeatPassword: string bio?: BioProps } } export interface UpdateProfileResponse { userData: UserProps } export interface CheckEmailProps { email: string } export interface ResendEmailActiveProps { email: string } export interface BioProps { avatar?: string introduce?: string facebookLink?: string twitterLink?: string instagramLink?: string } export interface IdentificationInformationProps { front: string back: string selfiePhoto: string } export interface UserProps { qrCode: string accessToken: string refreshToken: string timeExpired: string nonce: number email: string emailWaitUpdate: string primaryPhoneNumber: string primaryAddress: string bio: BioProps identificationInformation: IdentificationInformationProps firstName: string lastName: string middleName: string roles: string publicAddress: string verified: boolean statusKYCs: string parentCode: string jobs: string activated: boolean locked: boolean gender: string status: string yourReferralCode: string dob: string createdAt: string id: string username?: string coverImage?: string } /* ================ State ================ */ export interface UserState { loading: { loadingLoginWithEmail: boolean loadingLoginWithMetamask: boolean loadingSignUp: boolean loadingActiveAccount: boolean loadingSendEmailForgotPassword: boolean loadingResetPassword: boolean loadingRefreshQRCode: boolean loadingGetAdjustedBalances: boolean loadingIncreaseAllowance: boolean loadingUpdateProfile: boolean loadingVerifyInformationChange: boolean loadingCheckEmail: boolean loadingConnectWallet: boolean loadingResendEmailActive: boolean } userData?: UserProps | any isSuccess: { isRegisterSuccess: boolean isActiveAccountSuccess: boolean isConnectWalletSuccess: boolean isSendMailForgotPasswordSuccess: boolean isResetPasswordSuccess: boolean isCheckMailSuccess: boolean isUpdateProfileSuccess: boolean isVerifyInformationChangeSuccess: boolean } adjustedBalances: AdjustedBalanceProps[] }