diff --git a/.changeset/pretty-pumpkins-admire.md b/.changeset/pretty-pumpkins-admire.md new file mode 100644 index 00000000..dfb23f33 --- /dev/null +++ b/.changeset/pretty-pumpkins-admire.md @@ -0,0 +1,6 @@ +--- +'@supabase/auth-ui-shared': patch +'@supabase/auth-ui-react': patch +--- + +Fix check for blank email address on magic links diff --git a/packages/react/src/components/Auth/interfaces/MagicLink.tsx b/packages/react/src/components/Auth/interfaces/MagicLink.tsx index a0b047a8..a1537a5d 100644 --- a/packages/react/src/components/Auth/interfaces/MagicLink.tsx +++ b/packages/react/src/components/Auth/interfaces/MagicLink.tsx @@ -36,6 +36,12 @@ function MagicLink({ setError('') setMessage('') setLoading(true) + + if (email.length === 0) { + setError(i18n?.magic_link?.empty_email_address as string) + setLoading(false) + return + } const { error } = await supabaseClient.auth.signInWithOtp({ email, options: { emailRedirectTo: redirectTo }, @@ -60,9 +66,10 @@ function MagicLink({ type="email" autoFocus placeholder={labels?.email_input_placeholder} - onChange={(e: React.ChangeEvent) => + onChange={(e: React.ChangeEvent) => { + if (setError) setError('') setEmail(e.target.value) - } + }} appearance={appearance} /> diff --git a/packages/shared/src/types.ts b/packages/shared/src/types.ts index 7e9ee137..d578b6dd 100644 --- a/packages/shared/src/types.ts +++ b/packages/shared/src/types.ts @@ -137,6 +137,7 @@ export type I18nVariables = { loading_button_label?: string link_text?: string confirmation_text?: string + empty_email_address?: string } forgotten_password?: { email_label?: string