Skip to content

Commit aff499c

Browse files
committed
adds loader in otp component
1 parent da12b5f commit aff499c

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

packages/modal/src/ui/components/Login/LoginOtp/LoginOtp.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,14 @@ function OtpInput(props: OtpInputProps) {
5858
</p>
5959
</div>
6060
</div>
61-
<Otp length={6} onComplete={handleOtpComplete} error={Boolean(errorMessage)} helperText={errorMessage} disabled={otpLoading} />
61+
<Otp
62+
length={6}
63+
onComplete={handleOtpComplete}
64+
error={Boolean(errorMessage)}
65+
helperText={errorMessage}
66+
loading={otpLoading}
67+
disabled={otpLoading}
68+
/>
6269
</div>
6370
</>
6471
);

packages/modal/src/ui/components/Otp/Otp.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ import { useTranslation } from "react-i18next";
33

44
import i18n from "../../localeImport";
55
import { cn } from "../../utils";
6+
import PulseLoader from "../PulseLoader";
67
import { OtpProps } from "./Otp.type";
78

89
const OtpInput = forwardRef<HTMLDivElement, OtpProps>(
910
(
1011
{
1112
length,
12-
resendTimer,
13+
loading,
14+
resendTimer = 60,
1315
onComplete,
1416
onChange,
1517
error = false,
@@ -179,9 +181,14 @@ const OtpInput = forwardRef<HTMLDivElement, OtpProps>(
179181
))}
180182
</form>
181183
{helperText && <p className={helperTextClass}>{helperText}</p>}
182-
{showCta && (
184+
{loading && (
185+
<div className="w3a--mt-3">
186+
<PulseLoader />
187+
</div>
188+
)}
189+
{showCta && !loading && (
183190
<div className={cn("w3a--flex w3a--items-center w3a--mt-3", classes?.ctaContainer)}>
184-
{timer > 0 && showTimer && !disabled ? (
191+
{timer > 0 && showTimer ? (
185192
<span className={cn("w3a--text-xs w3a--text-app-gray-500 dark:w3a--text-app-gray-400", classes?.timerText)}>
186193
{t("modal.resendTimer", { timer: timer })}
187194
</span>
@@ -190,7 +197,7 @@ const OtpInput = forwardRef<HTMLDivElement, OtpProps>(
190197
type="button"
191198
className={cn("w3a--text-xs w3a--p-0 w3a--text-app-primary-600 dark:w3a--text-app-primary-500", classes?.resendBtnText)}
192199
onClick={handleResendClick}
193-
disabled={(timer > 0 && showTimer) || disabled}
200+
disabled={timer > 0 && showTimer}
194201
>
195202
{resendBtnText || t("modal.resendCode")}
196203
</button>

packages/modal/src/ui/components/Otp/Otp.type.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export type OtpClassesType =
1414

1515
export interface OtpProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "onChange" | "placeholder"> {
1616
length: number;
17+
loading?: boolean;
1718
resendTimer?: number;
1819
error?: boolean;
1920
success?: boolean;

0 commit comments

Comments
 (0)