forked from LaconicNetwork/icns-frontend
Add loading state to register button on final check modal
This commit is contained in:
parent
eead90d4b9
commit
5fac2f9156
@ -17,6 +17,7 @@ interface Props {
|
|||||||
isModalOpen: boolean;
|
isModalOpen: boolean;
|
||||||
onCloseModal: () => void;
|
onCloseModal: () => void;
|
||||||
onClickRegisterButton: () => Promise<void>;
|
onClickRegisterButton: () => Promise<void>;
|
||||||
|
isLoadingRegistration?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const FinalCheckModal: FunctionComponent<Props> = (props) => {
|
export const FinalCheckModal: FunctionComponent<Props> = (props) => {
|
||||||
@ -26,6 +27,7 @@ export const FinalCheckModal: FunctionComponent<Props> = (props) => {
|
|||||||
isModalOpen,
|
isModalOpen,
|
||||||
onCloseModal,
|
onCloseModal,
|
||||||
onClickRegisterButton,
|
onClickRegisterButton,
|
||||||
|
isLoadingRegistration,
|
||||||
} = props;
|
} = props;
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
@ -89,7 +91,10 @@ export const FinalCheckModal: FunctionComponent<Props> = (props) => {
|
|||||||
Use a different account
|
Use a different account
|
||||||
</SecondaryButton>
|
</SecondaryButton>
|
||||||
<RegisterButton>
|
<RegisterButton>
|
||||||
<PrimaryButton onClick={onClickRegisterButton}>
|
<PrimaryButton
|
||||||
|
onClick={onClickRegisterButton}
|
||||||
|
isLoading={isLoadingRegistration}
|
||||||
|
>
|
||||||
Register
|
Register
|
||||||
</PrimaryButton>
|
</PrimaryButton>
|
||||||
</RegisterButton>
|
</RegisterButton>
|
||||||
|
@ -9,10 +9,11 @@ interface PrimaryButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|||||||
export const PrimaryButton: FunctionComponent<PrimaryButtonProps> = ({
|
export const PrimaryButton: FunctionComponent<PrimaryButtonProps> = ({
|
||||||
children,
|
children,
|
||||||
isLoading,
|
isLoading,
|
||||||
|
disabled,
|
||||||
...props
|
...props
|
||||||
}) => {
|
}) => {
|
||||||
return (
|
return (
|
||||||
<StyledPrimaryButton {...props}>
|
<StyledPrimaryButton {...props} disabled={disabled || isLoading}>
|
||||||
{isLoading ? (
|
{isLoading ? (
|
||||||
<SpinnerWrapper>
|
<SpinnerWrapper>
|
||||||
<Spinner />
|
<Spinner />
|
||||||
@ -61,6 +62,7 @@ const StyledPrimaryButton = styled.button`
|
|||||||
|
|
||||||
&:disabled {
|
&:disabled {
|
||||||
background-color: ${color.orange["300"]};
|
background-color: ${color.orange["300"]};
|
||||||
|
cursor: not-allowed;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
|
@ -267,8 +267,6 @@ export default function VerificationPage() {
|
|||||||
const onClickRegistration = () => {
|
const onClickRegistration = () => {
|
||||||
amplitude.track("click register button");
|
amplitude.track("click register button");
|
||||||
|
|
||||||
console.log(isOwner);
|
|
||||||
|
|
||||||
if (isOwner) {
|
if (isOwner) {
|
||||||
handleRegistration();
|
handleRegistration();
|
||||||
} else {
|
} else {
|
||||||
@ -448,6 +446,7 @@ export default function VerificationPage() {
|
|||||||
isModalOpen={isModalOpen}
|
isModalOpen={isModalOpen}
|
||||||
onCloseModal={() => setModalOpen(false)}
|
onCloseModal={() => setModalOpen(false)}
|
||||||
onClickRegisterButton={handleRegistration}
|
onClickRegisterButton={handleRegistration}
|
||||||
|
isLoadingRegistration={isLoadingRegistration}
|
||||||
/>
|
/>
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user