@delmaredigital/payload-better-auth 0.3.7 → 0.3.9
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/README.md +12 -1
- package/dist/adapter/collections.d.ts.map +1 -1
- package/dist/adapter/collections.js +126 -88
- package/dist/adapter/collections.js.map +1 -1
- package/dist/adapter/index.js +197 -150
- package/dist/adapter/index.js.map +1 -1
- package/dist/components/BeforeLogin.d.ts +1 -1
- package/dist/components/BeforeLogin.d.ts.map +1 -1
- package/dist/components/BeforeLogin.js +15 -7
- package/dist/components/BeforeLogin.js.map +1 -1
- package/dist/components/LoginView.d.ts +2 -2
- package/dist/components/LoginView.d.ts.map +1 -1
- package/dist/components/LoginView.js +660 -218
- package/dist/components/LoginView.js.map +1 -1
- package/dist/components/LoginViewWrapper.d.ts +1 -1
- package/dist/components/LoginViewWrapper.d.ts.map +1 -1
- package/dist/components/LoginViewWrapper.js +14 -4
- package/dist/components/LoginViewWrapper.js.map +1 -1
- package/dist/components/LogoutButton.d.ts +1 -1
- package/dist/components/LogoutButton.d.ts.map +1 -1
- package/dist/components/LogoutButton.js +19 -11
- package/dist/components/LogoutButton.js.map +1 -1
- package/dist/components/PasskeyRegisterButton.d.ts +2 -2
- package/dist/components/PasskeyRegisterButton.d.ts.map +1 -1
- package/dist/components/PasskeyRegisterButton.js +20 -16
- package/dist/components/PasskeyRegisterButton.js.map +1 -1
- package/dist/components/PasskeySignInButton.d.ts +2 -2
- package/dist/components/PasskeySignInButton.d.ts.map +1 -1
- package/dist/components/PasskeySignInButton.js +14 -12
- package/dist/components/PasskeySignInButton.js.map +1 -1
- package/dist/components/auth/ForgotPasswordView.d.ts +1 -1
- package/dist/components/auth/ForgotPasswordView.d.ts.map +1 -1
- package/dist/components/auth/ForgotPasswordView.js +133 -43
- package/dist/components/auth/ForgotPasswordView.js.map +1 -1
- package/dist/components/auth/ResetPasswordView.d.ts +1 -1
- package/dist/components/auth/ResetPasswordView.d.ts.map +1 -1
- package/dist/components/auth/ResetPasswordView.js +154 -50
- package/dist/components/auth/ResetPasswordView.js.map +1 -1
- package/dist/components/auth/index.js +2 -2
- package/dist/components/auth/index.js.map +1 -1
- package/dist/components/management/ApiKeysManagementClient.d.ts +2 -2
- package/dist/components/management/ApiKeysManagementClient.d.ts.map +1 -1
- package/dist/components/management/ApiKeysManagementClient.js +539 -222
- package/dist/components/management/ApiKeysManagementClient.js.map +1 -1
- package/dist/components/management/PasskeysManagementClient.d.ts +2 -2
- package/dist/components/management/PasskeysManagementClient.d.ts.map +1 -1
- package/dist/components/management/PasskeysManagementClient.js +215 -92
- package/dist/components/management/PasskeysManagementClient.js.map +1 -1
- package/dist/components/management/SecurityNavLinks.d.ts +1 -1
- package/dist/components/management/SecurityNavLinks.d.ts.map +1 -1
- package/dist/components/management/SecurityNavLinks.js +51 -24
- package/dist/components/management/SecurityNavLinks.js.map +1 -1
- package/dist/components/management/TwoFactorManagementClient.d.ts +2 -2
- package/dist/components/management/TwoFactorManagementClient.d.ts.map +1 -1
- package/dist/components/management/TwoFactorManagementClient.js +270 -111
- package/dist/components/management/TwoFactorManagementClient.js.map +1 -1
- package/dist/components/management/index.js +2 -2
- package/dist/components/management/index.js.map +1 -1
- package/dist/components/management/views/ApiKeysView.d.ts +1 -1
- package/dist/components/management/views/ApiKeysView.d.ts.map +1 -1
- package/dist/components/management/views/ApiKeysView.js +19 -4
- package/dist/components/management/views/ApiKeysView.js.map +1 -1
- package/dist/components/management/views/PasskeysView.d.ts +1 -1
- package/dist/components/management/views/PasskeysView.d.ts.map +1 -1
- package/dist/components/management/views/PasskeysView.js +16 -4
- package/dist/components/management/views/PasskeysView.js.map +1 -1
- package/dist/components/management/views/TwoFactorView.d.ts +1 -1
- package/dist/components/management/views/TwoFactorView.d.ts.map +1 -1
- package/dist/components/management/views/TwoFactorView.js +16 -4
- package/dist/components/management/views/TwoFactorView.js.map +1 -1
- package/dist/components/management/views/index.js +2 -2
- package/dist/components/management/views/index.js.map +1 -1
- package/dist/components/twoFactor/TwoFactorSetupView.d.ts +1 -1
- package/dist/components/twoFactor/TwoFactorSetupView.d.ts.map +1 -1
- package/dist/components/twoFactor/TwoFactorSetupView.js +240 -87
- package/dist/components/twoFactor/TwoFactorSetupView.js.map +1 -1
- package/dist/components/twoFactor/TwoFactorVerifyView.d.ts +1 -1
- package/dist/components/twoFactor/TwoFactorVerifyView.d.ts.map +1 -1
- package/dist/components/twoFactor/TwoFactorVerifyView.js +108 -45
- package/dist/components/twoFactor/TwoFactorVerifyView.js.map +1 -1
- package/dist/components/twoFactor/index.js +2 -2
- package/dist/components/twoFactor/index.js.map +1 -1
- package/dist/exports/client.js +9 -10
- package/dist/exports/client.js.map +1 -1
- package/dist/exports/components.js +2 -2
- package/dist/exports/components.js.map +1 -1
- package/dist/exports/management.js +3 -3
- package/dist/exports/management.js.map +1 -1
- package/dist/exports/rsc.js +2 -2
- package/dist/exports/rsc.js.map +1 -1
- package/dist/generated-types.js +4 -2
- package/dist/generated-types.js.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/plugin/index.js +198 -162
- package/dist/plugin/index.js.map +1 -1
- package/dist/scripts/generate-types.js +66 -50
- package/dist/scripts/generate-types.js.map +1 -1
- package/dist/types/apiKey.js +7 -2
- package/dist/types/apiKey.js.map +1 -1
- package/dist/types/betterAuth.js +23 -2
- package/dist/types/betterAuth.js.map +1 -1
- package/dist/utils/access.js +78 -81
- package/dist/utils/access.js.map +1 -1
- package/dist/utils/apiKeyAccess.js +65 -72
- package/dist/utils/apiKeyAccess.js.map +1 -1
- package/dist/utils/betterAuthDefaults.js +8 -8
- package/dist/utils/betterAuthDefaults.js.map +1 -1
- package/dist/utils/detectAuthConfig.js +8 -11
- package/dist/utils/detectAuthConfig.js.map +1 -1
- package/dist/utils/detectEnabledPlugins.js +6 -7
- package/dist/utils/detectEnabledPlugins.js.map +1 -1
- package/dist/utils/firstUserAdmin.js +18 -20
- package/dist/utils/firstUserAdmin.js.map +1 -1
- package/dist/utils/generateScopes.js +40 -41
- package/dist/utils/generateScopes.js.map +1 -1
- package/dist/utils/session.js +8 -9
- package/dist/utils/session.js.map +1 -1
- package/package.json +27 -13
|
@@ -6,8 +6,7 @@ import { useRouter, useSearchParams } from 'next/navigation.js';
|
|
|
6
6
|
* Reset password page component for setting a new password.
|
|
7
7
|
* Expects a token in the URL query parameter.
|
|
8
8
|
* Uses Better Auth's resetPassword endpoint.
|
|
9
|
-
*/
|
|
10
|
-
export function ResetPasswordView({ logo, title = 'Reset Password', afterResetPath = '/admin/login', minPasswordLength = 8, }) {
|
|
9
|
+
*/ export function ResetPasswordView({ logo, title = 'Reset Password', afterResetPath = '/admin/login', minPasswordLength = 8 }) {
|
|
11
10
|
const router = useRouter();
|
|
12
11
|
const searchParams = useSearchParams();
|
|
13
12
|
const [password, setPassword] = useState('');
|
|
@@ -16,15 +15,16 @@ export function ResetPasswordView({ logo, title = 'Reset Password', afterResetPa
|
|
|
16
15
|
const [success, setSuccess] = useState(false);
|
|
17
16
|
const [loading, setLoading] = useState(false);
|
|
18
17
|
const [token, setToken] = useState(null);
|
|
19
|
-
useEffect(()
|
|
18
|
+
useEffect(()=>{
|
|
20
19
|
const tokenParam = searchParams.get('token');
|
|
21
20
|
if (!tokenParam) {
|
|
22
21
|
setError('Invalid or missing reset token. Please request a new password reset link.');
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
22
|
+
} else {
|
|
25
23
|
setToken(tokenParam);
|
|
26
24
|
}
|
|
27
|
-
}, [
|
|
25
|
+
}, [
|
|
26
|
+
searchParams
|
|
27
|
+
]);
|
|
28
28
|
async function handleSubmit(e) {
|
|
29
29
|
e.preventDefault();
|
|
30
30
|
setError(null);
|
|
@@ -44,55 +44,75 @@ export function ResetPasswordView({ logo, title = 'Reset Password', afterResetPa
|
|
|
44
44
|
try {
|
|
45
45
|
const response = await fetch('/api/auth/reset-password', {
|
|
46
46
|
method: 'POST',
|
|
47
|
-
headers: {
|
|
47
|
+
headers: {
|
|
48
|
+
'Content-Type': 'application/json'
|
|
49
|
+
},
|
|
48
50
|
credentials: 'include',
|
|
49
51
|
body: JSON.stringify({
|
|
50
52
|
token,
|
|
51
|
-
newPassword: password
|
|
52
|
-
})
|
|
53
|
+
newPassword: password
|
|
54
|
+
})
|
|
53
55
|
});
|
|
54
56
|
if (response.ok) {
|
|
55
57
|
setSuccess(true);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const data = await response.json().catch(() => ({}));
|
|
58
|
+
} else {
|
|
59
|
+
const data = await response.json().catch(()=>({}));
|
|
59
60
|
setError(data.message || data.error?.message || 'Failed to reset password. The link may have expired.');
|
|
60
61
|
}
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
62
|
+
} catch {
|
|
63
63
|
setError('An error occurred. Please try again.');
|
|
64
|
-
}
|
|
65
|
-
finally {
|
|
64
|
+
} finally{
|
|
66
65
|
setLoading(false);
|
|
67
66
|
}
|
|
68
67
|
}
|
|
69
68
|
if (success) {
|
|
70
|
-
return
|
|
69
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
70
|
+
style: {
|
|
71
71
|
minHeight: '100vh',
|
|
72
72
|
display: 'flex',
|
|
73
73
|
alignItems: 'center',
|
|
74
74
|
justifyContent: 'center',
|
|
75
75
|
background: 'var(--theme-bg)',
|
|
76
|
-
padding: 'var(--base)'
|
|
77
|
-
},
|
|
76
|
+
padding: 'var(--base)'
|
|
77
|
+
},
|
|
78
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
79
|
+
style: {
|
|
78
80
|
background: 'var(--theme-elevation-50)',
|
|
79
81
|
padding: 'calc(var(--base) * 2)',
|
|
80
82
|
borderRadius: 'var(--style-radius-m)',
|
|
81
83
|
boxShadow: '0 2px 20px rgba(0, 0, 0, 0.1)',
|
|
82
84
|
width: '100%',
|
|
83
85
|
maxWidth: '400px',
|
|
84
|
-
textAlign: 'center'
|
|
85
|
-
},
|
|
86
|
+
textAlign: 'center'
|
|
87
|
+
},
|
|
88
|
+
children: [
|
|
89
|
+
logo && /*#__PURE__*/ _jsx("div", {
|
|
90
|
+
style: {
|
|
91
|
+
marginBottom: 'calc(var(--base) * 1.5)'
|
|
92
|
+
},
|
|
93
|
+
children: logo
|
|
94
|
+
}),
|
|
95
|
+
/*#__PURE__*/ _jsx("h1", {
|
|
96
|
+
style: {
|
|
86
97
|
color: 'var(--theme-success-500)',
|
|
87
98
|
fontSize: 'var(--font-size-h3)',
|
|
88
99
|
fontWeight: 600,
|
|
89
|
-
margin: '0 0 var(--base) 0'
|
|
90
|
-
},
|
|
100
|
+
margin: '0 0 var(--base) 0'
|
|
101
|
+
},
|
|
102
|
+
children: "Password Reset!"
|
|
103
|
+
}),
|
|
104
|
+
/*#__PURE__*/ _jsx("p", {
|
|
105
|
+
style: {
|
|
91
106
|
color: 'var(--theme-text)',
|
|
92
107
|
opacity: 0.8,
|
|
93
108
|
marginBottom: 'calc(var(--base) * 1.5)',
|
|
94
|
-
fontSize: 'var(--font-size-small)'
|
|
95
|
-
},
|
|
109
|
+
fontSize: 'var(--font-size-small)'
|
|
110
|
+
},
|
|
111
|
+
children: "Your password has been successfully reset. You can now log in with your new password."
|
|
112
|
+
}),
|
|
113
|
+
/*#__PURE__*/ _jsx("button", {
|
|
114
|
+
onClick: ()=>router.push(afterResetPath),
|
|
115
|
+
style: {
|
|
96
116
|
padding: 'calc(var(--base) * 0.75) calc(var(--base) * 1.5)',
|
|
97
117
|
background: 'var(--theme-elevation-800)',
|
|
98
118
|
border: 'none',
|
|
@@ -100,46 +120,89 @@ export function ResetPasswordView({ logo, title = 'Reset Password', afterResetPa
|
|
|
100
120
|
color: 'var(--theme-elevation-50)',
|
|
101
121
|
fontSize: 'var(--font-size-base)',
|
|
102
122
|
fontWeight: 500,
|
|
103
|
-
cursor: 'pointer'
|
|
104
|
-
},
|
|
123
|
+
cursor: 'pointer'
|
|
124
|
+
},
|
|
125
|
+
children: "Go to Login"
|
|
126
|
+
})
|
|
127
|
+
]
|
|
128
|
+
})
|
|
129
|
+
});
|
|
105
130
|
}
|
|
106
|
-
return
|
|
131
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
132
|
+
style: {
|
|
107
133
|
minHeight: '100vh',
|
|
108
134
|
display: 'flex',
|
|
109
135
|
alignItems: 'center',
|
|
110
136
|
justifyContent: 'center',
|
|
111
137
|
background: 'var(--theme-bg)',
|
|
112
|
-
padding: 'var(--base)'
|
|
113
|
-
},
|
|
138
|
+
padding: 'var(--base)'
|
|
139
|
+
},
|
|
140
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
141
|
+
style: {
|
|
114
142
|
background: 'var(--theme-elevation-50)',
|
|
115
143
|
padding: 'calc(var(--base) * 2)',
|
|
116
144
|
borderRadius: 'var(--style-radius-m)',
|
|
117
145
|
boxShadow: '0 2px 20px rgba(0, 0, 0, 0.1)',
|
|
118
146
|
width: '100%',
|
|
119
|
-
maxWidth: '400px'
|
|
120
|
-
},
|
|
147
|
+
maxWidth: '400px'
|
|
148
|
+
},
|
|
149
|
+
children: [
|
|
150
|
+
logo && /*#__PURE__*/ _jsx("div", {
|
|
151
|
+
style: {
|
|
121
152
|
textAlign: 'center',
|
|
122
|
-
marginBottom: 'calc(var(--base) * 1.5)'
|
|
123
|
-
},
|
|
153
|
+
marginBottom: 'calc(var(--base) * 1.5)'
|
|
154
|
+
},
|
|
155
|
+
children: logo
|
|
156
|
+
}),
|
|
157
|
+
/*#__PURE__*/ _jsx("h1", {
|
|
158
|
+
style: {
|
|
124
159
|
color: 'var(--theme-text)',
|
|
125
160
|
fontSize: 'var(--font-size-h3)',
|
|
126
161
|
fontWeight: 600,
|
|
127
162
|
marginBottom: 'calc(var(--base) * 0.5)',
|
|
128
163
|
textAlign: 'center',
|
|
129
|
-
margin: '0 0 calc(var(--base) * 0.5) 0'
|
|
130
|
-
},
|
|
164
|
+
margin: '0 0 calc(var(--base) * 0.5) 0'
|
|
165
|
+
},
|
|
166
|
+
children: title
|
|
167
|
+
}),
|
|
168
|
+
/*#__PURE__*/ _jsx("p", {
|
|
169
|
+
style: {
|
|
131
170
|
color: 'var(--theme-text)',
|
|
132
171
|
opacity: 0.7,
|
|
133
172
|
fontSize: 'var(--font-size-small)',
|
|
134
173
|
textAlign: 'center',
|
|
135
|
-
marginBottom: 'calc(var(--base) * 1.5)'
|
|
136
|
-
},
|
|
174
|
+
marginBottom: 'calc(var(--base) * 1.5)'
|
|
175
|
+
},
|
|
176
|
+
children: "Enter your new password below."
|
|
177
|
+
}),
|
|
178
|
+
/*#__PURE__*/ _jsxs("form", {
|
|
179
|
+
onSubmit: handleSubmit,
|
|
180
|
+
children: [
|
|
181
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
182
|
+
style: {
|
|
183
|
+
marginBottom: 'var(--base)'
|
|
184
|
+
},
|
|
185
|
+
children: [
|
|
186
|
+
/*#__PURE__*/ _jsx("label", {
|
|
187
|
+
htmlFor: "password",
|
|
188
|
+
style: {
|
|
137
189
|
display: 'block',
|
|
138
190
|
color: 'var(--theme-text)',
|
|
139
191
|
marginBottom: 'calc(var(--base) * 0.5)',
|
|
140
192
|
fontSize: 'var(--font-size-small)',
|
|
141
|
-
fontWeight: 500
|
|
142
|
-
},
|
|
193
|
+
fontWeight: 500
|
|
194
|
+
},
|
|
195
|
+
children: "New Password"
|
|
196
|
+
}),
|
|
197
|
+
/*#__PURE__*/ _jsx("input", {
|
|
198
|
+
id: "password",
|
|
199
|
+
type: "password",
|
|
200
|
+
value: password,
|
|
201
|
+
onChange: (e)=>setPassword(e.target.value),
|
|
202
|
+
required: true,
|
|
203
|
+
minLength: minPasswordLength,
|
|
204
|
+
autoComplete: "new-password",
|
|
205
|
+
style: {
|
|
143
206
|
width: '100%',
|
|
144
207
|
padding: 'calc(var(--base) * 0.75)',
|
|
145
208
|
background: 'var(--theme-input-bg)',
|
|
@@ -148,14 +211,36 @@ export function ResetPasswordView({ logo, title = 'Reset Password', afterResetPa
|
|
|
148
211
|
color: 'var(--theme-text)',
|
|
149
212
|
fontSize: 'var(--font-size-base)',
|
|
150
213
|
outline: 'none',
|
|
151
|
-
boxSizing: 'border-box'
|
|
152
|
-
}
|
|
214
|
+
boxSizing: 'border-box'
|
|
215
|
+
}
|
|
216
|
+
})
|
|
217
|
+
]
|
|
218
|
+
}),
|
|
219
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
220
|
+
style: {
|
|
221
|
+
marginBottom: 'calc(var(--base) * 1.5)'
|
|
222
|
+
},
|
|
223
|
+
children: [
|
|
224
|
+
/*#__PURE__*/ _jsx("label", {
|
|
225
|
+
htmlFor: "confirmPassword",
|
|
226
|
+
style: {
|
|
153
227
|
display: 'block',
|
|
154
228
|
color: 'var(--theme-text)',
|
|
155
229
|
marginBottom: 'calc(var(--base) * 0.5)',
|
|
156
230
|
fontSize: 'var(--font-size-small)',
|
|
157
|
-
fontWeight: 500
|
|
158
|
-
},
|
|
231
|
+
fontWeight: 500
|
|
232
|
+
},
|
|
233
|
+
children: "Confirm Password"
|
|
234
|
+
}),
|
|
235
|
+
/*#__PURE__*/ _jsx("input", {
|
|
236
|
+
id: "confirmPassword",
|
|
237
|
+
type: "password",
|
|
238
|
+
value: confirmPassword,
|
|
239
|
+
onChange: (e)=>setConfirmPassword(e.target.value),
|
|
240
|
+
required: true,
|
|
241
|
+
minLength: minPasswordLength,
|
|
242
|
+
autoComplete: "new-password",
|
|
243
|
+
style: {
|
|
159
244
|
width: '100%',
|
|
160
245
|
padding: 'calc(var(--base) * 0.75)',
|
|
161
246
|
background: 'var(--theme-input-bg)',
|
|
@@ -164,16 +249,27 @@ export function ResetPasswordView({ logo, title = 'Reset Password', afterResetPa
|
|
|
164
249
|
color: 'var(--theme-text)',
|
|
165
250
|
fontSize: 'var(--font-size-base)',
|
|
166
251
|
outline: 'none',
|
|
167
|
-
boxSizing: 'border-box'
|
|
168
|
-
}
|
|
252
|
+
boxSizing: 'border-box'
|
|
253
|
+
}
|
|
254
|
+
})
|
|
255
|
+
]
|
|
256
|
+
}),
|
|
257
|
+
error && /*#__PURE__*/ _jsx("div", {
|
|
258
|
+
style: {
|
|
169
259
|
color: 'var(--theme-error-500)',
|
|
170
260
|
marginBottom: 'var(--base)',
|
|
171
261
|
fontSize: 'var(--font-size-small)',
|
|
172
262
|
padding: 'calc(var(--base) * 0.5)',
|
|
173
263
|
background: 'var(--theme-error-50)',
|
|
174
264
|
borderRadius: 'var(--style-radius-s)',
|
|
175
|
-
border: '1px solid var(--theme-error-200)'
|
|
176
|
-
},
|
|
265
|
+
border: '1px solid var(--theme-error-200)'
|
|
266
|
+
},
|
|
267
|
+
children: error
|
|
268
|
+
}),
|
|
269
|
+
/*#__PURE__*/ _jsx("button", {
|
|
270
|
+
type: "submit",
|
|
271
|
+
disabled: loading || !token,
|
|
272
|
+
style: {
|
|
177
273
|
width: '100%',
|
|
178
274
|
padding: 'calc(var(--base) * 0.75)',
|
|
179
275
|
background: 'var(--theme-elevation-800)',
|
|
@@ -184,8 +280,16 @@ export function ResetPasswordView({ logo, title = 'Reset Password', afterResetPa
|
|
|
184
280
|
fontWeight: 500,
|
|
185
281
|
cursor: loading || !token ? 'not-allowed' : 'pointer',
|
|
186
282
|
opacity: loading || !token ? 0.7 : 1,
|
|
187
|
-
transition: 'opacity 150ms ease'
|
|
188
|
-
},
|
|
283
|
+
transition: 'opacity 150ms ease'
|
|
284
|
+
},
|
|
285
|
+
children: loading ? 'Resetting...' : 'Reset Password'
|
|
286
|
+
})
|
|
287
|
+
]
|
|
288
|
+
})
|
|
289
|
+
]
|
|
290
|
+
})
|
|
291
|
+
});
|
|
189
292
|
}
|
|
190
293
|
export default ResetPasswordView;
|
|
294
|
+
|
|
191
295
|
//# sourceMappingURL=ResetPasswordView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResetPasswordView.js","sourceRoot":"","sources":["../../../src/components/auth/ResetPasswordView.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/auth/ResetPasswordView.tsx"],"sourcesContent":["'use client'\n\nimport { useState, useEffect, type FormEvent } from 'react'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\n\nexport type ResetPasswordViewProps = {\n /** Custom logo element */\n logo?: React.ReactNode\n /** Page title. Default: 'Reset Password' */\n title?: string\n /** Path to redirect after successful reset. Default: '/admin/login' */\n afterResetPath?: string\n /** Minimum password length. Default: 8 */\n minPasswordLength?: number\n}\n\n/**\n * Reset password page component for setting a new password.\n * Expects a token in the URL query parameter.\n * Uses Better Auth's resetPassword endpoint.\n */\nexport function ResetPasswordView({\n logo,\n title = 'Reset Password',\n afterResetPath = '/admin/login',\n minPasswordLength = 8,\n}: ResetPasswordViewProps) {\n const router = useRouter()\n const searchParams = useSearchParams()\n const [password, setPassword] = useState('')\n const [confirmPassword, setConfirmPassword] = useState('')\n const [error, setError] = useState<string | null>(null)\n const [success, setSuccess] = useState(false)\n const [loading, setLoading] = useState(false)\n const [token, setToken] = useState<string | null>(null)\n\n useEffect(() => {\n const tokenParam = searchParams.get('token')\n if (!tokenParam) {\n setError('Invalid or missing reset token. Please request a new password reset link.')\n } else {\n setToken(tokenParam)\n }\n }, [searchParams])\n\n async function handleSubmit(e: FormEvent) {\n e.preventDefault()\n setError(null)\n\n if (password.length < minPasswordLength) {\n setError(`Password must be at least ${minPasswordLength} characters.`)\n return\n }\n\n if (password !== confirmPassword) {\n setError('Passwords do not match.')\n return\n }\n\n if (!token) {\n setError('Invalid reset token.')\n return\n }\n\n setLoading(true)\n\n try {\n const response = await fetch('/api/auth/reset-password', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n credentials: 'include',\n body: JSON.stringify({\n token,\n newPassword: password,\n }),\n })\n\n if (response.ok) {\n setSuccess(true)\n } else {\n const data = await response.json().catch(() => ({}))\n setError(data.message || data.error?.message || 'Failed to reset password. The link may have expired.')\n }\n } catch {\n setError('An error occurred. Please try again.')\n } finally {\n setLoading(false)\n }\n }\n\n if (success) {\n return (\n <div\n style={{\n minHeight: '100vh',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background: 'var(--theme-bg)',\n padding: 'var(--base)',\n }}\n >\n <div\n style={{\n background: 'var(--theme-elevation-50)',\n padding: 'calc(var(--base) * 2)',\n borderRadius: 'var(--style-radius-m)',\n boxShadow: '0 2px 20px rgba(0, 0, 0, 0.1)',\n width: '100%',\n maxWidth: '400px',\n textAlign: 'center',\n }}\n >\n {logo && (\n <div style={{ marginBottom: 'calc(var(--base) * 1.5)' }}>\n {logo}\n </div>\n )}\n\n <h1\n style={{\n color: 'var(--theme-success-500)',\n fontSize: 'var(--font-size-h3)',\n fontWeight: 600,\n margin: '0 0 var(--base) 0',\n }}\n >\n Password Reset!\n </h1>\n\n <p\n style={{\n color: 'var(--theme-text)',\n opacity: 0.8,\n marginBottom: 'calc(var(--base) * 1.5)',\n fontSize: 'var(--font-size-small)',\n }}\n >\n Your password has been successfully reset. You can now log in with your new password.\n </p>\n\n <button\n onClick={() => router.push(afterResetPath)}\n style={{\n padding: 'calc(var(--base) * 0.75) calc(var(--base) * 1.5)',\n background: 'var(--theme-elevation-800)',\n border: 'none',\n borderRadius: 'var(--style-radius-s)',\n color: 'var(--theme-elevation-50)',\n fontSize: 'var(--font-size-base)',\n fontWeight: 500,\n cursor: 'pointer',\n }}\n >\n Go to Login\n </button>\n </div>\n </div>\n )\n }\n\n return (\n <div\n style={{\n minHeight: '100vh',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background: 'var(--theme-bg)',\n padding: 'var(--base)',\n }}\n >\n <div\n style={{\n background: 'var(--theme-elevation-50)',\n padding: 'calc(var(--base) * 2)',\n borderRadius: 'var(--style-radius-m)',\n boxShadow: '0 2px 20px rgba(0, 0, 0, 0.1)',\n width: '100%',\n maxWidth: '400px',\n }}\n >\n {logo && (\n <div\n style={{\n textAlign: 'center',\n marginBottom: 'calc(var(--base) * 1.5)',\n }}\n >\n {logo}\n </div>\n )}\n\n <h1\n style={{\n color: 'var(--theme-text)',\n fontSize: 'var(--font-size-h3)',\n fontWeight: 600,\n marginBottom: 'calc(var(--base) * 0.5)',\n textAlign: 'center',\n margin: '0 0 calc(var(--base) * 0.5) 0',\n }}\n >\n {title}\n </h1>\n\n <p\n style={{\n color: 'var(--theme-text)',\n opacity: 0.7,\n fontSize: 'var(--font-size-small)',\n textAlign: 'center',\n marginBottom: 'calc(var(--base) * 1.5)',\n }}\n >\n Enter your new password below.\n </p>\n\n <form onSubmit={handleSubmit}>\n <div style={{ marginBottom: 'var(--base)' }}>\n <label\n htmlFor=\"password\"\n style={{\n display: 'block',\n color: 'var(--theme-text)',\n marginBottom: 'calc(var(--base) * 0.5)',\n fontSize: 'var(--font-size-small)',\n fontWeight: 500,\n }}\n >\n New Password\n </label>\n <input\n id=\"password\"\n type=\"password\"\n value={password}\n onChange={(e) => setPassword(e.target.value)}\n required\n minLength={minPasswordLength}\n autoComplete=\"new-password\"\n style={{\n width: '100%',\n padding: 'calc(var(--base) * 0.75)',\n background: 'var(--theme-input-bg)',\n border: '1px solid var(--theme-elevation-150)',\n borderRadius: 'var(--style-radius-s)',\n color: 'var(--theme-text)',\n fontSize: 'var(--font-size-base)',\n outline: 'none',\n boxSizing: 'border-box',\n }}\n />\n </div>\n\n <div style={{ marginBottom: 'calc(var(--base) * 1.5)' }}>\n <label\n htmlFor=\"confirmPassword\"\n style={{\n display: 'block',\n color: 'var(--theme-text)',\n marginBottom: 'calc(var(--base) * 0.5)',\n fontSize: 'var(--font-size-small)',\n fontWeight: 500,\n }}\n >\n Confirm Password\n </label>\n <input\n id=\"confirmPassword\"\n type=\"password\"\n value={confirmPassword}\n onChange={(e) => setConfirmPassword(e.target.value)}\n required\n minLength={minPasswordLength}\n autoComplete=\"new-password\"\n style={{\n width: '100%',\n padding: 'calc(var(--base) * 0.75)',\n background: 'var(--theme-input-bg)',\n border: '1px solid var(--theme-elevation-150)',\n borderRadius: 'var(--style-radius-s)',\n color: 'var(--theme-text)',\n fontSize: 'var(--font-size-base)',\n outline: 'none',\n boxSizing: 'border-box',\n }}\n />\n </div>\n\n {error && (\n <div\n style={{\n color: 'var(--theme-error-500)',\n marginBottom: 'var(--base)',\n fontSize: 'var(--font-size-small)',\n padding: 'calc(var(--base) * 0.5)',\n background: 'var(--theme-error-50)',\n borderRadius: 'var(--style-radius-s)',\n border: '1px solid var(--theme-error-200)',\n }}\n >\n {error}\n </div>\n )}\n\n <button\n type=\"submit\"\n disabled={loading || !token}\n style={{\n width: '100%',\n padding: 'calc(var(--base) * 0.75)',\n background: 'var(--theme-elevation-800)',\n border: 'none',\n borderRadius: 'var(--style-radius-s)',\n color: 'var(--theme-elevation-50)',\n fontSize: 'var(--font-size-base)',\n fontWeight: 500,\n cursor: loading || !token ? 'not-allowed' : 'pointer',\n opacity: loading || !token ? 0.7 : 1,\n transition: 'opacity 150ms ease',\n }}\n >\n {loading ? 'Resetting...' : 'Reset Password'}\n </button>\n </form>\n </div>\n </div>\n )\n}\n\nexport default ResetPasswordView\n"],"names":["useState","useEffect","useRouter","useSearchParams","ResetPasswordView","logo","title","afterResetPath","minPasswordLength","router","searchParams","password","setPassword","confirmPassword","setConfirmPassword","error","setError","success","setSuccess","loading","setLoading","token","setToken","tokenParam","get","handleSubmit","e","preventDefault","length","response","fetch","method","headers","credentials","body","JSON","stringify","newPassword","ok","data","json","catch","message","div","style","minHeight","display","alignItems","justifyContent","background","padding","borderRadius","boxShadow","width","maxWidth","textAlign","marginBottom","h1","color","fontSize","fontWeight","margin","p","opacity","button","onClick","push","border","cursor","form","onSubmit","label","htmlFor","input","id","type","value","onChange","target","required","minLength","autoComplete","outline","boxSizing","disabled","transition"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Password reset UI components
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
|
-
*/
|
|
6
|
-
export { ForgotPasswordView } from './ForgotPasswordView.js';
|
|
5
|
+
*/ export { ForgotPasswordView } from './ForgotPasswordView.js';
|
|
7
6
|
export { ResetPasswordView } from './ResetPasswordView.js';
|
|
7
|
+
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/auth/index.ts"],"sourcesContent":["/**\n * Password reset UI components\n *\n * @packageDocumentation\n */\n\nexport { ForgotPasswordView, type ForgotPasswordViewProps } from './ForgotPasswordView.js'\nexport { ResetPasswordView, type ResetPasswordViewProps } from './ResetPasswordView.js'\n"],"names":["ForgotPasswordView","ResetPasswordView"],"mappings":"AAAA;;;;CAIC,GAED,SAASA,kBAAkB,QAAsC,0BAAyB;AAC1F,SAASC,iBAAiB,QAAqC,yBAAwB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type PayloadAuthClient } from '../../exports/client';
|
|
1
|
+
import { type PayloadAuthClient } from '../../exports/client.js';
|
|
2
2
|
import type { AvailableScope } from '../../types/apiKey.js';
|
|
3
3
|
export type ApiKeysManagementClientProps = {
|
|
4
4
|
/** Optional pre-configured auth client */
|
|
@@ -14,6 +14,6 @@ export type ApiKeysManagementClientProps = {
|
|
|
14
14
|
* Client component for API keys management.
|
|
15
15
|
* Lists, creates, and deletes API keys with scope selection.
|
|
16
16
|
*/
|
|
17
|
-
export declare function ApiKeysManagementClient({ authClient: providedClient, title, availableScopes, defaultScopes, }?: ApiKeysManagementClientProps): import("react
|
|
17
|
+
export declare function ApiKeysManagementClient({ authClient: providedClient, title, availableScopes, defaultScopes, }?: ApiKeysManagementClientProps): import("react").JSX.Element;
|
|
18
18
|
export default ApiKeysManagementClient;
|
|
19
19
|
//# sourceMappingURL=ApiKeysManagementClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiKeysManagementClient.d.ts","sourceRoot":"","sources":["../../../src/components/management/ApiKeysManagementClient.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"ApiKeysManagementClient.d.ts","sourceRoot":"","sources":["../../../src/components/management/ApiKeysManagementClient.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAwB3D,MAAM,MAAM,4BAA4B,GAAG;IACzC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yEAAyE;IACzE,eAAe,CAAC,EAAE,cAAc,EAAE,CAAA;IAClC,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAkDD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,UAAU,EAAE,cAAc,EAC1B,KAAkB,EAClB,eAAoB,EACpB,aAAkB,GACnB,GAAE,4BAAiC,+BA+yBnC;AAyED,eAAe,uBAAuB,CAAA"}
|