@better-auth-ui/heroui 1.6.16 → 1.6.17

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.
package/dist/index.js CHANGED
@@ -1300,8 +1300,16 @@ function ht({ className: e, variant: t, ...n }) {
1300
1300
  });
1301
1301
  }
1302
1302
  function gt({ className: e, variant: t, ...n }) {
1303
- let { authClient: r, localization: i } = m(), { data: a } = C(r), { mutate: o, isPending: s } = x(r, { onSuccess: () => Y.success(i.auth.passwordResetEmailSent) }), c = () => {
1304
- a?.user.email && o({ email: a.user.email });
1303
+ let { authClient: r, localization: i, plugins: a } = m(), { data: o } = C(r), { fetchOptions: s, resetFetchOptions: c } = v(), { mutate: l, isPending: u } = x(r, {
1304
+ onError: () => {
1305
+ c();
1306
+ },
1307
+ onSuccess: () => Y.success(i.auth.passwordResetEmailSent)
1308
+ }), d = a.find((e) => e.captchaComponent)?.captchaComponent, f = () => {
1309
+ o?.user.email && l({
1310
+ email: o.user.email,
1311
+ fetchOptions: s
1312
+ });
1305
1313
  };
1306
1314
  return /* @__PURE__ */ $("div", { children: [/* @__PURE__ */ Q("h2", {
1307
1315
  className: J("text-sm font-semibold mb-3"),
@@ -1318,15 +1326,18 @@ function gt({ className: e, variant: t, ...n }) {
1318
1326
  }), /* @__PURE__ */ Q("p", {
1319
1327
  className: "text-muted text-xs mt-0.5",
1320
1328
  children: i.settings.setPasswordDescription
1321
- })] }), /* @__PURE__ */ $(k, {
1322
- size: "sm",
1323
- isPending: s,
1324
- isDisabled: !a,
1325
- onPress: c,
1326
- children: [s && /* @__PURE__ */ Q(G, {
1327
- color: "current",
1328
- size: "sm"
1329
- }), i.auth.sendResetLink]
1329
+ })] }), /* @__PURE__ */ $("div", {
1330
+ className: "flex flex-col gap-3 items-start sm:items-end",
1331
+ children: [d && /* @__PURE__ */ Q("div", { children: d }), /* @__PURE__ */ $(k, {
1332
+ size: "sm",
1333
+ isPending: u,
1334
+ isDisabled: !o?.user.email,
1335
+ onPress: f,
1336
+ children: [u && /* @__PURE__ */ Q(G, {
1337
+ color: "current",
1338
+ size: "sm"
1339
+ }), i.auth.sendResetLink]
1340
+ })]
1330
1341
  })]
1331
1342
  })
1332
1343
  })] });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@better-auth-ui/heroui",
3
- "version": "1.6.16",
3
+ "version": "1.6.17",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "vite build",
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  useAuth,
3
3
  useChangePassword,
4
+ useFetchOptions,
4
5
  useListAccounts,
5
6
  useRequestPasswordReset,
6
7
  useSession
@@ -73,19 +74,27 @@ function SetPassword({
73
74
  variant,
74
75
  ...props
75
76
  }: Omit<CardProps, "children">) {
76
- const { authClient, localization } = useAuth()
77
+ const { authClient, localization, plugins } = useAuth()
77
78
  const { data: session } = useSession(authClient)
79
+ const { fetchOptions, resetFetchOptions } = useFetchOptions()
78
80
 
79
81
  const { mutate: requestPasswordReset, isPending } = useRequestPasswordReset(
80
82
  authClient,
81
83
  {
84
+ onError: () => {
85
+ resetFetchOptions()
86
+ },
82
87
  onSuccess: () => toast.success(localization.auth.passwordResetEmailSent)
83
88
  }
84
89
  )
85
90
 
91
+ const Captcha = plugins.find(
92
+ (plugin) => plugin.captchaComponent
93
+ )?.captchaComponent
94
+
86
95
  const handleSetPassword = () => {
87
96
  if (!session?.user.email) return
88
- requestPasswordReset({ email: session.user.email })
97
+ requestPasswordReset({ email: session.user.email, fetchOptions })
89
98
  }
90
99
 
91
100
  return (
@@ -106,15 +115,19 @@ function SetPassword({
106
115
  </p>
107
116
  </div>
108
117
 
109
- <Button
110
- size="sm"
111
- isPending={isPending}
112
- isDisabled={!session}
113
- onPress={handleSetPassword}
114
- >
115
- {isPending && <Spinner color="current" size="sm" />}
116
- {localization.auth.sendResetLink}
117
- </Button>
118
+ <div className="flex flex-col gap-3 items-start sm:items-end">
119
+ {Captcha && <div>{Captcha}</div>}
120
+
121
+ <Button
122
+ size="sm"
123
+ isPending={isPending}
124
+ isDisabled={!session?.user.email}
125
+ onPress={handleSetPassword}
126
+ >
127
+ {isPending && <Spinner color="current" size="sm" />}
128
+ {localization.auth.sendResetLink}
129
+ </Button>
130
+ </div>
118
131
  </Card.Content>
119
132
  </Card>
120
133
  </div>