diff --git a/apps/web/src/components/auth-form.tsx b/apps/web/src/components/auth-form.tsx index b04f02f..0f08635 100644 --- a/apps/web/src/components/auth-form.tsx +++ b/apps/web/src/components/auth-form.tsx @@ -10,9 +10,10 @@ type AuthFormProps = { error: string | null; googleOAuthEnabled: boolean; onSubmit: (payload: { name?: string; email: string; password: string }) => Promise; + onFieldChange?: () => void; }; -export function AuthForm({ mode, isSubmitting, error, googleOAuthEnabled, onSubmit }: AuthFormProps) { +export function AuthForm({ mode, isSubmitting, error, googleOAuthEnabled, onSubmit, onFieldChange }: AuthFormProps) { const [name, setName] = useState(''); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); @@ -37,18 +38,27 @@ export function AuthForm({ mode, isSubmitting, error, googleOAuthEnabled, onSubm {mode === 'register' && (
- setName(event.target.value)} required /> + { + setName(event.target.value); + onFieldChange?.(); + }} required />
)}
- setEmail(event.target.value)} required /> + { + setEmail(event.target.value); + onFieldChange?.(); + }} required />
- setPassword(event.target.value)} required /> + { + setPassword(event.target.value); + onFieldChange?.(); + }} required />
- {error &&

{error}

} + {error &&

{error}

} diff --git a/apps/web/src/pages/login-page.tsx b/apps/web/src/pages/login-page.tsx index 4123020..94aef67 100644 --- a/apps/web/src/pages/login-page.tsx +++ b/apps/web/src/pages/login-page.tsx @@ -30,7 +30,11 @@ export function LoginPage() { isSubmitting={mutation.isPending} error={error} googleOAuthEnabled={Boolean(meQuery.data?.features.googleOAuthEnabled)} - onSubmit={async ({ email, password }) => mutation.mutateAsync({ email, password })} + onSubmit={async ({ email, password }) => { + setError(null); + return mutation.mutateAsync({ email, password }); + }} + onFieldChange={() => setError(null)} />

Belum punya akun? Daftar diff --git a/apps/web/src/pages/register-page.tsx b/apps/web/src/pages/register-page.tsx index b162b2c..ddf2670 100644 --- a/apps/web/src/pages/register-page.tsx +++ b/apps/web/src/pages/register-page.tsx @@ -30,7 +30,11 @@ export function RegisterPage() { isSubmitting={mutation.isPending} error={error} googleOAuthEnabled={Boolean(meQuery.data?.features.googleOAuthEnabled)} - onSubmit={async ({ name, email, password }) => mutation.mutateAsync({ name: name ?? '', email, password })} + onSubmit={async ({ name, email, password }) => { + setError(null); + return mutation.mutateAsync({ name: name ?? '', email, password }); + }} + onFieldChange={() => setError(null)} />

Sudah punya akun? Masuk