All files / src/components/pages/auth/auth-button index.tsx

0% Statements 0/23
0% Branches 0/1
0% Functions 0/1
0% Lines 0/23

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                                               
import { type AnyFormState } from '@tanstack/react-form';

import { Button } from '@/components/ui';

interface Props {
  state: AnyFormState;
  type: 'login' | 'signup';
  canSubmitAll?: boolean;
}

export const AuthSubmitButton = ({ state, type, canSubmitAll = true }: Props) => {
  const { canSubmit, isSubmitting, isPristine } = state;

  const disabled = !canSubmit || isSubmitting || isPristine || !canSubmitAll;

  const buttonName = type === 'login' ? '로그인하기' : '회원가입하기';

  return (
    <Button disabled={disabled} size='md' type='submit' variant='primary'>
      {buttonName}
    </Button>
  );
};