@insforge/react 1.0.6 → 1.0.9-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1773,7 +1773,7 @@ function useInsforge() {
1773
1773
  sendVerificationEmail: () => Promise.resolve(null),
1774
1774
  sendResetPasswordEmail: () => Promise.resolve(null),
1775
1775
  resetPassword: () => Promise.resolve(null),
1776
- verifyEmail: () => Promise.resolve(null),
1776
+ verifyEmail: () => Promise.resolve({ error: "SSR mode" }),
1777
1777
  exchangeResetPasswordToken: () => Promise.resolve({ error: { message: "SSR mode" } }),
1778
1778
  loginWithOAuth: () => Promise.resolve(),
1779
1779
  getPublicAuthConfig: () => Promise.resolve(null),
@@ -3645,7 +3645,7 @@ function SignInForm({
3645
3645
  ] })
3646
3646
  ] });
3647
3647
  }
3648
- function SignIn({ onError, ...uiProps }) {
3648
+ function SignIn({ onSuccess, onError, ...uiProps }) {
3649
3649
  const { signIn, verifyEmail, loginWithOAuth } = useInsforge();
3650
3650
  const { authConfig } = usePublicAuthConfig();
3651
3651
  const [email, setEmail] = React2.useState("");
@@ -3670,19 +3670,12 @@ function SignIn({ onError, ...uiProps }) {
3670
3670
  }
3671
3671
  throw new Error(result.error);
3672
3672
  }
3673
- const { user, accessToken, redirectTo } = result;
3674
- const csrfToken = result.csrfToken;
3675
- if (user) {
3676
- const finalUrl = new URL(redirectTo || redirectUrl || "", window.location.origin);
3677
- finalUrl.searchParams.set("access_token", accessToken);
3678
- finalUrl.searchParams.set("user_id", user.id);
3679
- finalUrl.searchParams.set("email", user.email);
3680
- finalUrl.searchParams.set("name", user.profile?.name || "");
3681
- if (csrfToken) {
3682
- finalUrl.searchParams.set("csrf_token", csrfToken);
3683
- }
3684
- window.location.href = finalUrl.toString();
3673
+ const { redirectTo, user, accessToken, csrfToken } = result;
3674
+ if (onSuccess) {
3675
+ onSuccess(accessToken, user, csrfToken);
3685
3676
  }
3677
+ const finalUrl = new URL(redirectTo || redirectUrl || "", window.location.origin);
3678
+ window.location.href = finalUrl.toString();
3686
3679
  } catch (err) {
3687
3680
  const errorMessage = err instanceof Error ? err.message : "Sign in failed";
3688
3681
  setError(errorMessage);
@@ -3697,17 +3690,10 @@ function SignIn({ onError, ...uiProps }) {
3697
3690
  setError("");
3698
3691
  try {
3699
3692
  const result = await verifyEmail(code, email);
3700
- if (!result) {
3693
+ if ("error" in result) {
3701
3694
  throw new Error("Verification failed");
3702
3695
  }
3703
3696
  const finalUrl = new URL(result.redirectTo || redirectUrl || "", window.location.origin);
3704
- finalUrl.searchParams.set("access_token", result.accessToken);
3705
- finalUrl.searchParams.set("user_id", result.user.id);
3706
- finalUrl.searchParams.set("email", result.user.email);
3707
- finalUrl.searchParams.set("name", result.user.profile?.name || "");
3708
- if (result.csrfToken) {
3709
- finalUrl.searchParams.set("csrf_token", result.csrfToken);
3710
- }
3711
3697
  window.location.href = finalUrl.toString();
3712
3698
  } catch (err) {
3713
3699
  const errorMessage = err instanceof Error ? err.message : "Invalid verification code";
@@ -3867,7 +3853,7 @@ function createPasswordSchema(options) {
3867
3853
  return schema;
3868
3854
  }
3869
3855
  createPasswordSchema();
3870
- function SignUp({ onError, ...uiProps }) {
3856
+ function SignUp({ onSuccess, onError, ...uiProps }) {
3871
3857
  const { signUp, verifyEmail, loginWithOAuth } = useInsforge();
3872
3858
  const { authConfig } = usePublicAuthConfig();
3873
3859
  const [email, setEmail] = React2.useState("");
@@ -3913,21 +3899,17 @@ function SignUp({ onError, ...uiProps }) {
3913
3899
  if ("error" in result) {
3914
3900
  throw new Error(result.error);
3915
3901
  }
3916
- if (result.requireEmailVerification && !result.accessToken) {
3902
+ if (result.requireEmailVerification) {
3917
3903
  setStep("awaiting-verification");
3918
3904
  setLoading(false);
3919
3905
  return;
3920
3906
  }
3921
- if (result.accessToken && result.user) {
3922
- const csrfToken = result.csrfToken;
3923
- const finalUrl = new URL(result.redirectTo || redirectUrl || "", window.location.origin);
3924
- finalUrl.searchParams.set("access_token", result.accessToken);
3925
- finalUrl.searchParams.set("user_id", result.user.id);
3926
- finalUrl.searchParams.set("email", result.user.email);
3927
- finalUrl.searchParams.set("name", result.user.profile?.name || "");
3928
- if (csrfToken) {
3929
- finalUrl.searchParams.set("csrf_token", csrfToken);
3907
+ const { redirectTo, user, accessToken, csrfToken } = result;
3908
+ if (accessToken && user) {
3909
+ if (onSuccess) {
3910
+ onSuccess(accessToken, user, csrfToken);
3930
3911
  }
3912
+ const finalUrl = new URL(redirectTo || redirectUrl || "", window.location.origin);
3931
3913
  window.location.href = finalUrl.toString();
3932
3914
  }
3933
3915
  } catch (err) {
@@ -3944,17 +3926,10 @@ function SignUp({ onError, ...uiProps }) {
3944
3926
  setError("");
3945
3927
  try {
3946
3928
  const result = await verifyEmail(code, email);
3947
- if (!result) {
3929
+ if ("error" in result) {
3948
3930
  throw new Error("Verification failed");
3949
3931
  }
3950
3932
  const finalUrl = new URL(result.redirectTo || redirectUrl || "", window.location.origin);
3951
- finalUrl.searchParams.set("access_token", result.accessToken);
3952
- finalUrl.searchParams.set("user_id", result.user.id);
3953
- finalUrl.searchParams.set("email", result.user.email);
3954
- finalUrl.searchParams.set("name", result.user.profile?.name || "");
3955
- if (result.csrfToken) {
3956
- finalUrl.searchParams.set("csrf_token", result.csrfToken);
3957
- }
3958
3933
  window.location.href = finalUrl.toString();
3959
3934
  } catch (err) {
3960
3935
  const errorMessage = err instanceof Error ? err.message : "Invalid verification code";
@@ -4528,8 +4503,8 @@ function VerifyEmail({ token: token2, onSuccess, onError, ...uiProps }) {
4528
4503
  }
4529
4504
  try {
4530
4505
  const result = await verifyEmail(token2);
4531
- if (!result?.accessToken) {
4532
- const errorMessage = result ? "Verification succeeded but no access token received" : "Email verification failed";
4506
+ if ("error" in result) {
4507
+ const errorMessage = result.error || "Email verification failed";
4533
4508
  setError(errorMessage);
4534
4509
  setStatus("error");
4535
4510
  if (onError) {