@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/components/PasskeySignInButton.tsx"],"sourcesContent":["'use client'\n\nimport { useState, type ButtonHTMLAttributes } from 'react'\nimport {\n createPayloadAuthClient,\n type PayloadAuthClient,\n} from '../exports/client.js'\n\nexport type PasskeySignInButtonProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onClick'\n> & {\n /** Optional pre-configured auth client */\n authClient?: PayloadAuthClient\n /** Callback when sign-in succeeds */\n onSuccess?: (user: { id: string; email: string; role?: string }) => void\n /** Callback when sign-in fails */\n onError?: (error: string) => void\n /** Button text when idle. Default: 'Sign in with Passkey' */\n label?: string\n /** Button text when loading. Default: 'Authenticating...' */\n loadingLabel?: string\n}\n\n/**\n * Standalone passkey sign-in button component.\n * Handles the WebAuthn authentication flow with Better Auth.\n *\n * @example\n * ```tsx\n * import { PasskeySignInButton } from '@delmaredigital/payload-better-auth/components'\n *\n * function LoginForm() {\n * return (\n * <PasskeySignInButton\n * onSuccess={(user) => {\n * router.push('/dashboard')\n * }}\n * onError={(error) => {\n * setError(error)\n * }}\n * />\n * )\n * }\n * ```\n */\nexport function PasskeySignInButton({\n authClient: providedClient,\n onSuccess,\n onError,\n label = 'Sign in with Passkey',\n loadingLabel = 'Authenticating...',\n disabled,\n children,\n ...buttonProps\n}: PasskeySignInButtonProps) {\n const [loading, setLoading] = useState(false)\n\n async function handleClick() {\n setLoading(true)\n\n try {\n const client = providedClient ?? createPayloadAuthClient()\n const result = await client.signIn.passkey()\n\n if (result.error) {\n onError?.(result.error.message ?? 'Passkey authentication failed')\n } else if (result.data?.user) {\n onSuccess?.(result.data.user as { id: string; email: string; role?: string })\n }\n } catch (err) {\n if (err instanceof Error && err.name === 'NotAllowedError') {\n onError?.('Passkey authentication was cancelled or not allowed')\n } else {\n onError?.(\n err instanceof Error ? err.message : 'Passkey authentication failed'\n )\n }\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <button\n type=\"button\"\n onClick={handleClick}\n disabled={disabled || loading}\n {...buttonProps}\n >\n {children ?? (loading ? loadingLabel : label)}\n </button>\n )\n}\n\nexport default PasskeySignInButton\n"],"names":["useState","createPayloadAuthClient","PasskeySignInButton","authClient","providedClient","onSuccess","onError","label","loadingLabel","disabled","children","buttonProps","loading","setLoading","handleClick","client","result","signIn","passkey","error","message","data","user","err","Error","name","button","type","onClick"],"mappings":"AAAA;;AAEA,SAASA,QAAQ,QAAmC,QAAO;AAC3D,SACEC,uBAAuB,QAElB,uBAAsB;AAkB7B;;;;;;;;;;;;;;;;;;;;;CAqBC,GACD,OAAO,SAASC,oBAAoB,EAClCC,YAAYC,cAAc,EAC1BC,SAAS,EACTC,OAAO,EACPC,QAAQ,sBAAsB,EAC9BC,eAAe,mBAAmB,EAClCC,QAAQ,EACRC,QAAQ,EACR,GAAGC,aACsB;IACzB,MAAM,CAACC,SAASC,WAAW,GAAGb,SAAS;IAEvC,eAAec;QACbD,WAAW;QAEX,IAAI;YACF,MAAME,SAASX,kBAAkBH;YACjC,MAAMe,SAAS,MAAMD,OAAOE,MAAM,CAACC,OAAO;YAE1C,IAAIF,OAAOG,KAAK,EAAE;gBAChBb,UAAUU,OAAOG,KAAK,CAACC,OAAO,IAAI;YACpC,OAAO,IAAIJ,OAAOK,IAAI,EAAEC,MAAM;gBAC5BjB,YAAYW,OAAOK,IAAI,CAACC,IAAI;YAC9B;QACF,EAAE,OAAOC,KAAK;YACZ,IAAIA,eAAeC,SAASD,IAAIE,IAAI,KAAK,mBAAmB;gBAC1DnB,UAAU;YACZ,OAAO;gBACLA,UACEiB,eAAeC,QAAQD,IAAIH,OAAO,GAAG;YAEzC;QACF,SAAU;YACRP,WAAW;QACb;IACF;IAEA,qBACE,KAACa;QACCC,MAAK;QACLC,SAASd;QACTL,UAAUA,YAAYG;QACrB,GAAGD,WAAW;kBAEdD,YAAaE,CAAAA,UAAUJ,eAAeD,KAAI;;AAGjD;AAEA,eAAeL,oBAAmB"}
|
|
@@ -12,6 +12,6 @@ export type ForgotPasswordViewProps = {
|
|
|
12
12
|
* Forgot password page component for requesting a password reset email.
|
|
13
13
|
* Uses Better Auth's forgetPassword endpoint.
|
|
14
14
|
*/
|
|
15
|
-
export declare function ForgotPasswordView({ logo, title, loginPath, successMessage, }: ForgotPasswordViewProps): import("react
|
|
15
|
+
export declare function ForgotPasswordView({ logo, title, loginPath, successMessage, }: ForgotPasswordViewProps): import("react").JSX.Element;
|
|
16
16
|
export default ForgotPasswordView;
|
|
17
17
|
//# sourceMappingURL=ForgotPasswordView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgotPasswordView.d.ts","sourceRoot":"","sources":["../../../src/components/auth/ForgotPasswordView.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,uBAAuB,GAAG;IACpC,0BAA0B;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,KAAyB,EACzB,SAA0B,EAC1B,cAAgG,GACjG,EAAE,uBAAuB
|
|
1
|
+
{"version":3,"file":"ForgotPasswordView.d.ts","sourceRoot":"","sources":["../../../src/components/auth/ForgotPasswordView.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,uBAAuB,GAAG;IACpC,0BAA0B;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,KAAyB,EACzB,SAA0B,EAC1B,cAAgG,GACjG,EAAE,uBAAuB,+BAuPzB;AAED,eAAe,kBAAkB,CAAA"}
|
|
@@ -4,8 +4,7 @@ import { useState } from 'react';
|
|
|
4
4
|
/**
|
|
5
5
|
* Forgot password page component for requesting a password reset email.
|
|
6
6
|
* Uses Better Auth's forgetPassword endpoint.
|
|
7
|
-
*/
|
|
8
|
-
export function ForgotPasswordView({ logo, title = 'Forgot Password', loginPath = '/admin/login', successMessage = 'If an account exists with this email, you will receive a password reset link.', }) {
|
|
7
|
+
*/ export function ForgotPasswordView({ logo, title = 'Forgot Password', loginPath = '/admin/login', successMessage = 'If an account exists with this email, you will receive a password reset link.' }) {
|
|
9
8
|
const [email, setEmail] = useState('');
|
|
10
9
|
const [error, setError] = useState(null);
|
|
11
10
|
const [success, setSuccess] = useState(false);
|
|
@@ -17,97 +16,159 @@ export function ForgotPasswordView({ logo, title = 'Forgot Password', loginPath
|
|
|
17
16
|
try {
|
|
18
17
|
const response = await fetch('/api/auth/forget-password', {
|
|
19
18
|
method: 'POST',
|
|
20
|
-
headers: {
|
|
19
|
+
headers: {
|
|
20
|
+
'Content-Type': 'application/json'
|
|
21
|
+
},
|
|
21
22
|
credentials: 'include',
|
|
22
23
|
body: JSON.stringify({
|
|
23
24
|
email,
|
|
24
|
-
redirectTo: `${window.location.origin}/admin/reset-password
|
|
25
|
-
})
|
|
25
|
+
redirectTo: `${window.location.origin}/admin/reset-password`
|
|
26
|
+
})
|
|
26
27
|
});
|
|
27
28
|
if (response.ok) {
|
|
28
29
|
setSuccess(true);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
30
|
+
} else {
|
|
31
31
|
// Always show success message to prevent email enumeration
|
|
32
32
|
setSuccess(true);
|
|
33
33
|
}
|
|
34
|
-
}
|
|
35
|
-
catch {
|
|
34
|
+
} catch {
|
|
36
35
|
setError('An error occurred. Please try again.');
|
|
37
|
-
}
|
|
38
|
-
finally {
|
|
36
|
+
} finally{
|
|
39
37
|
setLoading(false);
|
|
40
38
|
}
|
|
41
39
|
}
|
|
42
40
|
if (success) {
|
|
43
|
-
return
|
|
41
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
42
|
+
style: {
|
|
44
43
|
minHeight: '100vh',
|
|
45
44
|
display: 'flex',
|
|
46
45
|
alignItems: 'center',
|
|
47
46
|
justifyContent: 'center',
|
|
48
47
|
background: 'var(--theme-bg)',
|
|
49
|
-
padding: 'var(--base)'
|
|
50
|
-
},
|
|
48
|
+
padding: 'var(--base)'
|
|
49
|
+
},
|
|
50
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
51
|
+
style: {
|
|
51
52
|
background: 'var(--theme-elevation-50)',
|
|
52
53
|
padding: 'calc(var(--base) * 2)',
|
|
53
54
|
borderRadius: 'var(--style-radius-m)',
|
|
54
55
|
boxShadow: '0 2px 20px rgba(0, 0, 0, 0.1)',
|
|
55
56
|
width: '100%',
|
|
56
57
|
maxWidth: '400px',
|
|
57
|
-
textAlign: 'center'
|
|
58
|
-
},
|
|
58
|
+
textAlign: 'center'
|
|
59
|
+
},
|
|
60
|
+
children: [
|
|
61
|
+
logo && /*#__PURE__*/ _jsx("div", {
|
|
62
|
+
style: {
|
|
63
|
+
marginBottom: 'calc(var(--base) * 1.5)'
|
|
64
|
+
},
|
|
65
|
+
children: logo
|
|
66
|
+
}),
|
|
67
|
+
/*#__PURE__*/ _jsx("h1", {
|
|
68
|
+
style: {
|
|
59
69
|
color: 'var(--theme-text)',
|
|
60
70
|
fontSize: 'var(--font-size-h3)',
|
|
61
71
|
fontWeight: 600,
|
|
62
|
-
margin: '0 0 var(--base) 0'
|
|
63
|
-
},
|
|
72
|
+
margin: '0 0 var(--base) 0'
|
|
73
|
+
},
|
|
74
|
+
children: "Check Your Email"
|
|
75
|
+
}),
|
|
76
|
+
/*#__PURE__*/ _jsx("p", {
|
|
77
|
+
style: {
|
|
64
78
|
color: 'var(--theme-text)',
|
|
65
79
|
opacity: 0.8,
|
|
66
80
|
marginBottom: 'calc(var(--base) * 1.5)',
|
|
67
|
-
fontSize: 'var(--font-size-small)'
|
|
68
|
-
},
|
|
81
|
+
fontSize: 'var(--font-size-small)'
|
|
82
|
+
},
|
|
83
|
+
children: successMessage
|
|
84
|
+
}),
|
|
85
|
+
/*#__PURE__*/ _jsx("a", {
|
|
86
|
+
href: loginPath,
|
|
87
|
+
style: {
|
|
69
88
|
color: 'var(--theme-elevation-800)',
|
|
70
89
|
fontSize: 'var(--font-size-small)',
|
|
71
|
-
textDecoration: 'underline'
|
|
72
|
-
},
|
|
90
|
+
textDecoration: 'underline'
|
|
91
|
+
},
|
|
92
|
+
children: "Back to login"
|
|
93
|
+
})
|
|
94
|
+
]
|
|
95
|
+
})
|
|
96
|
+
});
|
|
73
97
|
}
|
|
74
|
-
return
|
|
98
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
99
|
+
style: {
|
|
75
100
|
minHeight: '100vh',
|
|
76
101
|
display: 'flex',
|
|
77
102
|
alignItems: 'center',
|
|
78
103
|
justifyContent: 'center',
|
|
79
104
|
background: 'var(--theme-bg)',
|
|
80
|
-
padding: 'var(--base)'
|
|
81
|
-
},
|
|
105
|
+
padding: 'var(--base)'
|
|
106
|
+
},
|
|
107
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
108
|
+
style: {
|
|
82
109
|
background: 'var(--theme-elevation-50)',
|
|
83
110
|
padding: 'calc(var(--base) * 2)',
|
|
84
111
|
borderRadius: 'var(--style-radius-m)',
|
|
85
112
|
boxShadow: '0 2px 20px rgba(0, 0, 0, 0.1)',
|
|
86
113
|
width: '100%',
|
|
87
|
-
maxWidth: '400px'
|
|
88
|
-
},
|
|
114
|
+
maxWidth: '400px'
|
|
115
|
+
},
|
|
116
|
+
children: [
|
|
117
|
+
logo && /*#__PURE__*/ _jsx("div", {
|
|
118
|
+
style: {
|
|
89
119
|
textAlign: 'center',
|
|
90
|
-
marginBottom: 'calc(var(--base) * 1.5)'
|
|
91
|
-
},
|
|
120
|
+
marginBottom: 'calc(var(--base) * 1.5)'
|
|
121
|
+
},
|
|
122
|
+
children: logo
|
|
123
|
+
}),
|
|
124
|
+
/*#__PURE__*/ _jsx("h1", {
|
|
125
|
+
style: {
|
|
92
126
|
color: 'var(--theme-text)',
|
|
93
127
|
fontSize: 'var(--font-size-h3)',
|
|
94
128
|
fontWeight: 600,
|
|
95
129
|
marginBottom: 'calc(var(--base) * 0.5)',
|
|
96
130
|
textAlign: 'center',
|
|
97
|
-
margin: '0 0 calc(var(--base) * 0.5) 0'
|
|
98
|
-
},
|
|
131
|
+
margin: '0 0 calc(var(--base) * 0.5) 0'
|
|
132
|
+
},
|
|
133
|
+
children: title
|
|
134
|
+
}),
|
|
135
|
+
/*#__PURE__*/ _jsx("p", {
|
|
136
|
+
style: {
|
|
99
137
|
color: 'var(--theme-text)',
|
|
100
138
|
opacity: 0.7,
|
|
101
139
|
fontSize: 'var(--font-size-small)',
|
|
102
140
|
textAlign: 'center',
|
|
103
|
-
marginBottom: 'calc(var(--base) * 1.5)'
|
|
104
|
-
},
|
|
141
|
+
marginBottom: 'calc(var(--base) * 1.5)'
|
|
142
|
+
},
|
|
143
|
+
children: "Enter your email and we'll send you a reset link."
|
|
144
|
+
}),
|
|
145
|
+
/*#__PURE__*/ _jsxs("form", {
|
|
146
|
+
onSubmit: handleSubmit,
|
|
147
|
+
children: [
|
|
148
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
149
|
+
style: {
|
|
150
|
+
marginBottom: 'calc(var(--base) * 1.5)'
|
|
151
|
+
},
|
|
152
|
+
children: [
|
|
153
|
+
/*#__PURE__*/ _jsx("label", {
|
|
154
|
+
htmlFor: "email",
|
|
155
|
+
style: {
|
|
105
156
|
display: 'block',
|
|
106
157
|
color: 'var(--theme-text)',
|
|
107
158
|
marginBottom: 'calc(var(--base) * 0.5)',
|
|
108
159
|
fontSize: 'var(--font-size-small)',
|
|
109
|
-
fontWeight: 500
|
|
110
|
-
},
|
|
160
|
+
fontWeight: 500
|
|
161
|
+
},
|
|
162
|
+
children: "Email"
|
|
163
|
+
}),
|
|
164
|
+
/*#__PURE__*/ _jsx("input", {
|
|
165
|
+
id: "email",
|
|
166
|
+
type: "email",
|
|
167
|
+
value: email,
|
|
168
|
+
onChange: (e)=>setEmail(e.target.value),
|
|
169
|
+
required: true,
|
|
170
|
+
autoComplete: "email",
|
|
171
|
+
style: {
|
|
111
172
|
width: '100%',
|
|
112
173
|
padding: 'calc(var(--base) * 0.75)',
|
|
113
174
|
background: 'var(--theme-input-bg)',
|
|
@@ -116,16 +177,27 @@ export function ForgotPasswordView({ logo, title = 'Forgot Password', loginPath
|
|
|
116
177
|
color: 'var(--theme-text)',
|
|
117
178
|
fontSize: 'var(--font-size-base)',
|
|
118
179
|
outline: 'none',
|
|
119
|
-
boxSizing: 'border-box'
|
|
120
|
-
}
|
|
180
|
+
boxSizing: 'border-box'
|
|
181
|
+
}
|
|
182
|
+
})
|
|
183
|
+
]
|
|
184
|
+
}),
|
|
185
|
+
error && /*#__PURE__*/ _jsx("div", {
|
|
186
|
+
style: {
|
|
121
187
|
color: 'var(--theme-error-500)',
|
|
122
188
|
marginBottom: 'var(--base)',
|
|
123
189
|
fontSize: 'var(--font-size-small)',
|
|
124
190
|
padding: 'calc(var(--base) * 0.5)',
|
|
125
191
|
background: 'var(--theme-error-50)',
|
|
126
192
|
borderRadius: 'var(--style-radius-s)',
|
|
127
|
-
border: '1px solid var(--theme-error-200)'
|
|
128
|
-
},
|
|
193
|
+
border: '1px solid var(--theme-error-200)'
|
|
194
|
+
},
|
|
195
|
+
children: error
|
|
196
|
+
}),
|
|
197
|
+
/*#__PURE__*/ _jsx("button", {
|
|
198
|
+
type: "submit",
|
|
199
|
+
disabled: loading,
|
|
200
|
+
style: {
|
|
129
201
|
width: '100%',
|
|
130
202
|
padding: 'calc(var(--base) * 0.75)',
|
|
131
203
|
background: 'var(--theme-elevation-800)',
|
|
@@ -137,13 +209,31 @@ export function ForgotPasswordView({ logo, title = 'Forgot Password', loginPath
|
|
|
137
209
|
cursor: loading ? 'not-allowed' : 'pointer',
|
|
138
210
|
opacity: loading ? 0.7 : 1,
|
|
139
211
|
transition: 'opacity 150ms ease',
|
|
140
|
-
marginBottom: 'var(--base)'
|
|
141
|
-
},
|
|
212
|
+
marginBottom: 'var(--base)'
|
|
213
|
+
},
|
|
214
|
+
children: loading ? 'Sending...' : 'Send Reset Link'
|
|
215
|
+
}),
|
|
216
|
+
/*#__PURE__*/ _jsx("div", {
|
|
217
|
+
style: {
|
|
218
|
+
textAlign: 'center'
|
|
219
|
+
},
|
|
220
|
+
children: /*#__PURE__*/ _jsx("a", {
|
|
221
|
+
href: loginPath,
|
|
222
|
+
style: {
|
|
142
223
|
color: 'var(--theme-text)',
|
|
143
224
|
opacity: 0.7,
|
|
144
225
|
fontSize: 'var(--font-size-small)',
|
|
145
|
-
textDecoration: 'underline'
|
|
146
|
-
},
|
|
226
|
+
textDecoration: 'underline'
|
|
227
|
+
},
|
|
228
|
+
children: "Back to login"
|
|
229
|
+
})
|
|
230
|
+
})
|
|
231
|
+
]
|
|
232
|
+
})
|
|
233
|
+
]
|
|
234
|
+
})
|
|
235
|
+
});
|
|
147
236
|
}
|
|
148
237
|
export default ForgotPasswordView;
|
|
238
|
+
|
|
149
239
|
//# sourceMappingURL=ForgotPasswordView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgotPasswordView.js","sourceRoot":"","sources":["../../../src/components/auth/ForgotPasswordView.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/auth/ForgotPasswordView.tsx"],"sourcesContent":["'use client'\n\nimport { useState, type FormEvent } from 'react'\n\nexport type ForgotPasswordViewProps = {\n /** Custom logo element */\n logo?: React.ReactNode\n /** Page title. Default: 'Forgot Password' */\n title?: string\n /** Path to login page. Default: '/admin/login' */\n loginPath?: string\n /** Success message to show after email is sent */\n successMessage?: string\n}\n\n/**\n * Forgot password page component for requesting a password reset email.\n * Uses Better Auth's forgetPassword endpoint.\n */\nexport function ForgotPasswordView({\n logo,\n title = 'Forgot Password',\n loginPath = '/admin/login',\n successMessage = 'If an account exists with this email, you will receive a password reset link.',\n}: ForgotPasswordViewProps) {\n const [email, setEmail] = useState('')\n const [error, setError] = useState<string | null>(null)\n const [success, setSuccess] = useState(false)\n const [loading, setLoading] = useState(false)\n\n async function handleSubmit(e: FormEvent) {\n e.preventDefault()\n setLoading(true)\n setError(null)\n\n try {\n const response = await fetch('/api/auth/forget-password', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n credentials: 'include',\n body: JSON.stringify({\n email,\n redirectTo: `${window.location.origin}/admin/reset-password`,\n }),\n })\n\n if (response.ok) {\n setSuccess(true)\n } else {\n // Always show success message to prevent email enumeration\n setSuccess(true)\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-text)',\n fontSize: 'var(--font-size-h3)',\n fontWeight: 600,\n margin: '0 0 var(--base) 0',\n }}\n >\n Check Your Email\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 {successMessage}\n </p>\n\n <a\n href={loginPath}\n style={{\n color: 'var(--theme-elevation-800)',\n fontSize: 'var(--font-size-small)',\n textDecoration: 'underline',\n }}\n >\n Back to login\n </a>\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 email and we'll send you a reset link.\n </p>\n\n <form onSubmit={handleSubmit}>\n <div style={{ marginBottom: 'calc(var(--base) * 1.5)' }}>\n <label\n htmlFor=\"email\"\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 Email\n </label>\n <input\n id=\"email\"\n type=\"email\"\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n required\n autoComplete=\"email\"\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}\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 ? 'not-allowed' : 'pointer',\n opacity: loading ? 0.7 : 1,\n transition: 'opacity 150ms ease',\n marginBottom: 'var(--base)',\n }}\n >\n {loading ? 'Sending...' : 'Send Reset Link'}\n </button>\n\n <div style={{ textAlign: 'center' }}>\n <a\n href={loginPath}\n style={{\n color: 'var(--theme-text)',\n opacity: 0.7,\n fontSize: 'var(--font-size-small)',\n textDecoration: 'underline',\n }}\n >\n Back to login\n </a>\n </div>\n </form>\n </div>\n </div>\n )\n}\n\nexport default ForgotPasswordView\n"],"names":["useState","ForgotPasswordView","logo","title","loginPath","successMessage","email","setEmail","error","setError","success","setSuccess","loading","setLoading","handleSubmit","e","preventDefault","response","fetch","method","headers","credentials","body","JSON","stringify","redirectTo","window","location","origin","ok","div","style","minHeight","display","alignItems","justifyContent","background","padding","borderRadius","boxShadow","width","maxWidth","textAlign","marginBottom","h1","color","fontSize","fontWeight","margin","p","opacity","a","href","textDecoration","form","onSubmit","label","htmlFor","input","id","type","value","onChange","target","required","autoComplete","border","outline","boxSizing","button","disabled","cursor","transition"],"mappings":"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"}
|
|
@@ -13,6 +13,6 @@ export type ResetPasswordViewProps = {
|
|
|
13
13
|
* Expects a token in the URL query parameter.
|
|
14
14
|
* Uses Better Auth's resetPassword endpoint.
|
|
15
15
|
*/
|
|
16
|
-
export declare function ResetPasswordView({ logo, title, afterResetPath, minPasswordLength, }: ResetPasswordViewProps): import("react
|
|
16
|
+
export declare function ResetPasswordView({ logo, title, afterResetPath, minPasswordLength, }: ResetPasswordViewProps): import("react").JSX.Element;
|
|
17
17
|
export default ResetPasswordView;
|
|
18
18
|
//# sourceMappingURL=ResetPasswordView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResetPasswordView.d.ts","sourceRoot":"","sources":["../../../src/components/auth/ResetPasswordView.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,sBAAsB,GAAG;IACnC,0BAA0B;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,KAAwB,EACxB,cAA+B,EAC/B,iBAAqB,GACtB,EAAE,sBAAsB
|
|
1
|
+
{"version":3,"file":"ResetPasswordView.d.ts","sourceRoot":"","sources":["../../../src/components/auth/ResetPasswordView.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,sBAAsB,GAAG;IACnC,0BAA0B;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,KAAwB,EACxB,cAA+B,EAC/B,iBAAqB,GACtB,EAAE,sBAAsB,+BA8SxB;AAED,eAAe,iBAAiB,CAAA"}
|