@vilio/auth-module 0.0.3 → 0.0.5
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/actions/basic.d.ts +1 -0
- package/dist/actions/basic.d.ts.map +1 -0
- package/dist/actions/basic.js +45 -0
- package/dist/actions/basic.js.map +1 -0
- package/dist/actions/email.d.ts +1 -0
- package/dist/actions/email.d.ts.map +1 -0
- package/dist/actions/email.js +138 -0
- package/dist/actions/email.js.map +1 -0
- package/dist/actions/index.d.ts +1 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +3 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +3 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/{index.mjs → index.js} +10 -9
- package/dist/index.js.map +1 -0
- package/dist/routes.d.ts +1 -0
- package/dist/routes.d.ts.map +1 -0
- package/dist/routes.js +51 -0
- package/dist/routes.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/forgot-password/components.d.ts +2 -2
- package/dist/ui/forgot-password/components.d.ts.map +1 -0
- package/dist/ui/forgot-password/components.js +42 -0
- package/dist/ui/forgot-password/components.js.map +1 -0
- package/dist/ui/forgot-password/page.d.ts +2 -2
- package/dist/ui/forgot-password/page.d.ts.map +1 -0
- package/dist/ui/forgot-password/page.js +6 -0
- package/dist/ui/forgot-password/page.js.map +1 -0
- package/dist/ui/layout.d.ts +2 -1
- package/dist/ui/layout.d.ts.map +1 -0
- package/dist/ui/layout.js +13 -0
- package/dist/ui/layout.js.map +1 -0
- package/dist/ui/reset-password/components.d.ts +2 -2
- package/dist/ui/reset-password/components.d.ts.map +1 -0
- package/dist/ui/reset-password/components.js +43 -0
- package/dist/ui/reset-password/components.js.map +1 -0
- package/dist/ui/reset-password/page.d.ts +2 -2
- package/dist/ui/reset-password/page.d.ts.map +1 -0
- package/dist/ui/reset-password/page.js +20 -0
- package/dist/ui/reset-password/page.js.map +1 -0
- package/dist/ui/reset-password/verify-email/components.d.ts +2 -2
- package/dist/ui/reset-password/verify-email/components.d.ts.map +1 -0
- package/dist/ui/reset-password/verify-email/components.js +38 -0
- package/dist/ui/reset-password/verify-email/components.js.map +1 -0
- package/dist/ui/reset-password/verify-email/page.d.ts +2 -2
- package/dist/ui/reset-password/verify-email/page.d.ts.map +1 -0
- package/dist/ui/reset-password/verify-email/page.js +19 -0
- package/dist/ui/reset-password/verify-email/page.js.map +1 -0
- package/dist/ui/signin/components.d.ts +2 -1
- package/dist/ui/signin/components.d.ts.map +1 -0
- package/dist/ui/signin/components.js +49 -0
- package/dist/ui/signin/components.js.map +1 -0
- package/dist/ui/signin/page.d.ts +2 -2
- package/dist/ui/signin/page.d.ts.map +1 -0
- package/dist/ui/signin/page.js +21 -0
- package/dist/ui/signin/page.js.map +1 -0
- package/dist/ui/signup/components.d.ts +2 -1
- package/dist/ui/signup/components.d.ts.map +1 -0
- package/dist/ui/signup/components.js +49 -0
- package/dist/ui/signup/components.js.map +1 -0
- package/dist/ui/signup/page.d.ts +2 -2
- package/dist/ui/signup/page.d.ts.map +1 -0
- package/dist/ui/signup/page.js +15 -0
- package/dist/ui/signup/page.js.map +1 -0
- package/dist/ui/verify-email/components.d.ts +3 -2
- package/dist/ui/verify-email/components.d.ts.map +1 -0
- package/dist/ui/verify-email/components.js +55 -0
- package/dist/ui/verify-email/components.js.map +1 -0
- package/dist/ui/verify-email/page.d.ts +2 -2
- package/dist/ui/verify-email/page.d.ts.map +1 -0
- package/dist/ui/verify-email/page.js +18 -0
- package/dist/ui/verify-email/page.js.map +1 -0
- package/dist/validation.d.ts +1 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +42 -0
- package/dist/validation.js.map +1 -0
- package/locales/en/global.json +2 -1
- package/locales/pl/global.json +2 -1
- package/package.json +17 -28
- package/dist/actions/basic.cjs +0 -46
- package/dist/actions/basic.mjs +0 -32
- package/dist/actions/email.cjs +0 -209
- package/dist/actions/email.mjs +0 -186
- package/dist/actions/index.cjs +0 -27
- package/dist/actions/index.mjs +0 -2
- package/dist/index.cjs +0 -22
- package/dist/intl.d.ts +0 -9
- package/dist/routes.cjs +0 -46
- package/dist/routes.mjs +0 -48
- package/dist/types.cjs +0 -1
- package/dist/types.mjs +0 -0
- package/dist/ui/forgot-password/components.cjs +0 -91
- package/dist/ui/forgot-password/components.mjs +0 -63
- package/dist/ui/forgot-password/page.cjs +0 -13
- package/dist/ui/forgot-password/page.mjs +0 -5
- package/dist/ui/layout.cjs +0 -39
- package/dist/ui/layout.mjs +0 -18
- package/dist/ui/reset-password/components.cjs +0 -109
- package/dist/ui/reset-password/components.mjs +0 -84
- package/dist/ui/reset-password/page.cjs +0 -29
- package/dist/ui/reset-password/page.mjs +0 -21
- package/dist/ui/reset-password/verify-email/components.cjs +0 -106
- package/dist/ui/reset-password/verify-email/components.mjs +0 -62
- package/dist/ui/reset-password/verify-email/page.cjs +0 -31
- package/dist/ui/reset-password/verify-email/page.mjs +0 -21
- package/dist/ui/signin/components.cjs +0 -172
- package/dist/ui/signin/components.mjs +0 -134
- package/dist/ui/signin/page.cjs +0 -41
- package/dist/ui/signin/page.mjs +0 -39
- package/dist/ui/signup/components.cjs +0 -193
- package/dist/ui/signup/components.mjs +0 -150
- package/dist/ui/signup/page.cjs +0 -37
- package/dist/ui/signup/page.mjs +0 -35
- package/dist/ui/verify-email/components.cjs +0 -129
- package/dist/ui/verify-email/components.mjs +0 -76
- package/dist/ui/verify-email/page.cjs +0 -29
- package/dist/ui/verify-email/page.mjs +0 -21
- package/dist/validation.cjs +0 -43
- package/dist/validation.mjs +0 -37
package/dist/actions/basic.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/actions/basic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAmBzE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAU7E;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CAG1D"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use server";
|
|
2
|
+
import { signIn, signOut, signUp } from "@vilio/core/server";
|
|
3
|
+
import { redirect } from "next/navigation";
|
|
4
|
+
/**
|
|
5
|
+
* Modern Login Action delegating to Core Auth
|
|
6
|
+
*/
|
|
7
|
+
export async function loginAction(data) {
|
|
8
|
+
const result = await signIn(data);
|
|
9
|
+
console.log("[LoginAction] SignIn result:", JSON.stringify(result, null, 2));
|
|
10
|
+
if (result.status === "ERROR") {
|
|
11
|
+
return { success: false, message: result.message };
|
|
12
|
+
}
|
|
13
|
+
// Handle challenges or forced redirects
|
|
14
|
+
if (result.redirect) {
|
|
15
|
+
return redirect(result.redirect);
|
|
16
|
+
}
|
|
17
|
+
// Success flow
|
|
18
|
+
if (result.status === "SUCCESS") {
|
|
19
|
+
return redirect("/");
|
|
20
|
+
}
|
|
21
|
+
return { success: false, message: "Invalid authentication state" };
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Modern Signup Action delegating to Core Auth
|
|
25
|
+
*/
|
|
26
|
+
export async function signupAction(data) {
|
|
27
|
+
try {
|
|
28
|
+
await signUp(data);
|
|
29
|
+
return redirect("/verify-email");
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
return {
|
|
33
|
+
success: false,
|
|
34
|
+
message: error.message || "Failed to create account",
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Modern Logout Action delegating to Core Auth
|
|
40
|
+
*/
|
|
41
|
+
export async function logoutAction() {
|
|
42
|
+
await signOut();
|
|
43
|
+
return redirect("/signin");
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=basic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../src/actions/basic.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAgB;IAChD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7E,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC;IAED,wCAAwC;IACxC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,eAAe;IACf,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAmB;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,QAAQ,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,0BAA0B;SACrD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,OAAO,EAAE,CAAC;IAChB,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/actions/email.d.ts
CHANGED
|
@@ -5,3 +5,4 @@ export declare function verifyPasswordResetEmailAction(data: VerifyEmailInput):
|
|
|
5
5
|
export declare function verifyEmailAction(data: VerifyEmailInput): Promise<ActionResult>;
|
|
6
6
|
export declare function resendEmailVerificationCodeAction(): Promise<ActionResult>;
|
|
7
7
|
export declare function resetPasswordAction(data: ResetPasswordInput): Promise<ActionResult>;
|
|
8
|
+
//# sourceMappingURL=email.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/actions/email.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAmCrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,YAAY,CAAC,CAwBvB;AAED,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,YAAY,CAAC,CAyBvB;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,YAAY,CAAC,CA2DvB;AAED,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,YAAY,CAAC,CAkC/E;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,YAAY,CAAC,CAuCvB"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use server";
|
|
2
|
+
import { forgotPasswordSchema, resetPasswordSchema, verifyEmailSchema, } from "@vilio/core";
|
|
3
|
+
import { checkSecurity, createEmailVerificationRequest, createPasswordResetSession, createSession, deleteEmailVerificationRequestCookie, deletePasswordResetSessionTokenCookie, deleteUserEmailVerificationRequest, eventBus, generateSessionToken, getCurrentPasswordResetSession, getCurrentSession, getUserEmailVerificationRequestFromRequest, getUserFromEmail, invalidateUserPasswordResetSessions, invalidateUserSessions, runEmailVerificationValidators, runPasswordResetValidators, sendPasswordResetEmail, sendVerificationEmail, setEmailVerificationRequestCookie, setPasswordResetSessionAsEmailVerified, setPasswordResetSessionTokenCookie, setSessionTokenCookie, updateUserEmailAndSetEmailAsVerified, updateUserPassword, verifyPasswordStrength, } from "@vilio/core/server";
|
|
4
|
+
import { redirect } from "next/navigation";
|
|
5
|
+
export async function forgotPasswordAction(data) {
|
|
6
|
+
const { email } = await forgotPasswordSchema.parseAsync(data);
|
|
7
|
+
const user = await getUserFromEmail(email);
|
|
8
|
+
if (!user) {
|
|
9
|
+
return { success: false, message: "Not found user with this email" };
|
|
10
|
+
}
|
|
11
|
+
await invalidateUserPasswordResetSessions(user.id);
|
|
12
|
+
const sessionToken = await generateSessionToken();
|
|
13
|
+
const session = await createPasswordResetSession(sessionToken, user.id, user.email);
|
|
14
|
+
await sendPasswordResetEmail(session.email, session.code);
|
|
15
|
+
await setPasswordResetSessionTokenCookie(sessionToken, session.expiresAt);
|
|
16
|
+
await eventBus.publish("auth:password-reset:requested", {
|
|
17
|
+
userId: user.id,
|
|
18
|
+
email: user.email,
|
|
19
|
+
});
|
|
20
|
+
return redirect("/reset-password/verify-email");
|
|
21
|
+
}
|
|
22
|
+
export async function verifyPasswordResetEmailAction(data) {
|
|
23
|
+
const { session, user } = await getCurrentPasswordResetSession();
|
|
24
|
+
if (!session || !user) {
|
|
25
|
+
return { success: false, message: "Not authenticated" };
|
|
26
|
+
}
|
|
27
|
+
if (session.emailVerified) {
|
|
28
|
+
return { success: false, message: "Email already verified" };
|
|
29
|
+
}
|
|
30
|
+
const { code } = verifyEmailSchema.parse(data);
|
|
31
|
+
if (session.code !== code) {
|
|
32
|
+
return { success: false, message: "Incorrect code" };
|
|
33
|
+
}
|
|
34
|
+
await setPasswordResetSessionAsEmailVerified(session.id);
|
|
35
|
+
// Security requirements check (EXTENSIBLE - handles 2FA redirect automatically)
|
|
36
|
+
const security = await checkSecurity(session, user);
|
|
37
|
+
if (!security.satisfied && security.redirect) {
|
|
38
|
+
return redirect(security.redirect);
|
|
39
|
+
}
|
|
40
|
+
return redirect("/reset-password");
|
|
41
|
+
}
|
|
42
|
+
export async function verifyEmailAction(data) {
|
|
43
|
+
const { session, user } = await getCurrentSession();
|
|
44
|
+
if (!session || !user) {
|
|
45
|
+
return { success: false, message: "Not authenticated" };
|
|
46
|
+
}
|
|
47
|
+
let verificationRequest = await getUserEmailVerificationRequestFromRequest();
|
|
48
|
+
if (!verificationRequest) {
|
|
49
|
+
return { success: false, message: "Verification request not found" };
|
|
50
|
+
}
|
|
51
|
+
const { code } = verifyEmailSchema.parse(data);
|
|
52
|
+
if (Date.now() >= verificationRequest.expiresAt.getTime()) {
|
|
53
|
+
verificationRequest = await createEmailVerificationRequest(user.id, verificationRequest.email);
|
|
54
|
+
await sendVerificationEmail(verificationRequest.email, verificationRequest.code);
|
|
55
|
+
await setEmailVerificationRequestCookie(verificationRequest);
|
|
56
|
+
return {
|
|
57
|
+
success: false,
|
|
58
|
+
message: "The verification code was expired. We sent another code to your inbox.",
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
if (verificationRequest.code !== code)
|
|
62
|
+
return { success: false, message: "Incorrect code" };
|
|
63
|
+
// Modular Interception Point
|
|
64
|
+
const interception = await runEmailVerificationValidators(user.id);
|
|
65
|
+
if (interception) {
|
|
66
|
+
if (interception.status === "CHALLENGE_REQUIRED") {
|
|
67
|
+
return redirect(interception.redirect || "/signin");
|
|
68
|
+
}
|
|
69
|
+
if (interception.status === "ERROR") {
|
|
70
|
+
return { success: false, message: interception.message };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
await deleteUserEmailVerificationRequest(user.id);
|
|
74
|
+
await invalidateUserPasswordResetSessions(user.id);
|
|
75
|
+
await updateUserEmailAndSetEmailAsVerified(user.id, verificationRequest.email);
|
|
76
|
+
await deleteEmailVerificationRequestCookie();
|
|
77
|
+
await eventBus.publish("auth:email-verified", {
|
|
78
|
+
userId: user.id,
|
|
79
|
+
email: verificationRequest.email,
|
|
80
|
+
});
|
|
81
|
+
return redirect("/");
|
|
82
|
+
}
|
|
83
|
+
export async function resendEmailVerificationCodeAction() {
|
|
84
|
+
const { session, user } = await getCurrentSession();
|
|
85
|
+
if (!session || !user) {
|
|
86
|
+
return { success: false, message: "Not authenticated" };
|
|
87
|
+
}
|
|
88
|
+
let verificationRequest = await getUserEmailVerificationRequestFromRequest();
|
|
89
|
+
if (!verificationRequest) {
|
|
90
|
+
if (user.emailVerifiedAt) {
|
|
91
|
+
return { success: false, message: "Email already verified" };
|
|
92
|
+
}
|
|
93
|
+
verificationRequest = await createEmailVerificationRequest(user.id, user.email);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
verificationRequest = await createEmailVerificationRequest(user.id, verificationRequest.email);
|
|
97
|
+
}
|
|
98
|
+
await sendVerificationEmail(verificationRequest.email, verificationRequest.code);
|
|
99
|
+
await setEmailVerificationRequestCookie(verificationRequest);
|
|
100
|
+
await eventBus.publish("auth:verification-requested", {
|
|
101
|
+
userId: user.id,
|
|
102
|
+
email: verificationRequest.email,
|
|
103
|
+
});
|
|
104
|
+
return { success: true, message: "A new code was sent to your inbox." };
|
|
105
|
+
}
|
|
106
|
+
export async function resetPasswordAction(data) {
|
|
107
|
+
const { session: passwordResetSession, user } = await getCurrentPasswordResetSession();
|
|
108
|
+
if (!passwordResetSession || !user) {
|
|
109
|
+
return { success: false, message: "Not authenticated" };
|
|
110
|
+
}
|
|
111
|
+
if (!passwordResetSession.emailVerified) {
|
|
112
|
+
return { success: false, message: "Forbidden" };
|
|
113
|
+
}
|
|
114
|
+
const { password } = resetPasswordSchema.parse(data);
|
|
115
|
+
if (!(await verifyPasswordStrength(password))) {
|
|
116
|
+
return { success: false, message: "Weak password" };
|
|
117
|
+
}
|
|
118
|
+
// Modular Interception Point
|
|
119
|
+
const interception = await runPasswordResetValidators(user.id);
|
|
120
|
+
if (interception) {
|
|
121
|
+
if (interception.status === "CHALLENGE_REQUIRED") {
|
|
122
|
+
return redirect(interception.redirect || "/signin");
|
|
123
|
+
}
|
|
124
|
+
if (interception.status === "ERROR") {
|
|
125
|
+
return { success: false, message: interception.message };
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
await invalidateUserPasswordResetSessions(user.id);
|
|
129
|
+
await invalidateUserSessions(user.id);
|
|
130
|
+
await updateUserPassword(user.id, password);
|
|
131
|
+
const sessionToken = await generateSessionToken();
|
|
132
|
+
const session = await createSession(sessionToken, user.id, {});
|
|
133
|
+
await setSessionTokenCookie(sessionToken, session.expiresAt);
|
|
134
|
+
await deletePasswordResetSessionTokenCookie();
|
|
135
|
+
await eventBus.publish("auth:password-reset:completed", { userId: user.id });
|
|
136
|
+
return redirect("/");
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=email.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/actions/email.ts"],"names":[],"mappings":"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"}
|
package/dist/actions/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAM9C,QAAA,MAAM,UAAU,EAAE,OAUjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import localesEn from "../locales/en/global.json" with { type: "json" };
|
|
2
2
|
import localesPl from "../locales/pl/global.json" with { type: "json" };
|
|
3
3
|
import manifest from "../manifest.json";
|
|
4
|
-
import { publicRoutes } from "./routes
|
|
4
|
+
import { publicRoutes } from "./routes";
|
|
5
5
|
const authModule = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
manifest,
|
|
7
|
+
translations: {
|
|
8
|
+
en: localesEn,
|
|
9
|
+
pl: localesPl,
|
|
10
|
+
},
|
|
11
|
+
routes: {
|
|
12
|
+
public: publicRoutes,
|
|
13
|
+
},
|
|
14
14
|
};
|
|
15
15
|
export default authModule;
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxE,OAAO,SAAS,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxE,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,UAAU,GAAY;IAC1B,QAAQ;IAER,YAAY,EAAE;QACZ,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;KACd;IACD,MAAM,EAAE;QACN,MAAM,EAAE,YAAY;KACrB;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/dist/routes.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAiB5D,eAAO,MAAM,YAAY,EAAE,qBAAqB,EAuC/C,CAAC"}
|
package/dist/routes.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import dynamic from "next/dynamic";
|
|
2
|
+
// Layout
|
|
3
|
+
const AuthLayout = dynamic(() => import("./ui/layout"));
|
|
4
|
+
// Pages
|
|
5
|
+
const SignInPage = dynamic(() => import("./ui/signin/page"));
|
|
6
|
+
const SignUpPage = dynamic(() => import("./ui/signup/page"));
|
|
7
|
+
const ForgotPasswordPage = dynamic(() => import("./ui/forgot-password/page"));
|
|
8
|
+
const ResetPasswordPage = dynamic(() => import("./ui/reset-password/page"));
|
|
9
|
+
const VerifyEmailPage = dynamic(() => import("./ui/verify-email/page"));
|
|
10
|
+
const ResetPasswordVerifyEmailPage = dynamic(() => import("./ui/reset-password/verify-email/page"));
|
|
11
|
+
export const publicRoutes = [
|
|
12
|
+
{
|
|
13
|
+
id: "auth:signin",
|
|
14
|
+
path: "/signin",
|
|
15
|
+
component: SignInPage,
|
|
16
|
+
layout: AuthLayout,
|
|
17
|
+
auth: false,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
id: "auth:signup",
|
|
21
|
+
path: "/signup",
|
|
22
|
+
component: SignUpPage,
|
|
23
|
+
layout: AuthLayout,
|
|
24
|
+
auth: false,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
path: "/forgot-password",
|
|
28
|
+
component: ForgotPasswordPage,
|
|
29
|
+
layout: AuthLayout,
|
|
30
|
+
auth: false,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
path: "/reset-password",
|
|
34
|
+
component: ResetPasswordPage,
|
|
35
|
+
layout: AuthLayout,
|
|
36
|
+
auth: false,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
path: "/verify-email",
|
|
40
|
+
component: VerifyEmailPage,
|
|
41
|
+
layout: AuthLayout,
|
|
42
|
+
auth: false,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
path: "/reset-password/verify-email",
|
|
46
|
+
component: ResetPasswordVerifyEmailPage,
|
|
47
|
+
layout: AuthLayout,
|
|
48
|
+
auth: false,
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
//# sourceMappingURL=routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,cAAc,CAAC;AAGnC,SAAS;AACT,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AAExD,QAAQ;AACR,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC7D,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAC9E,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;AAC5E,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;AACxE,MAAM,4BAA4B,GAAG,OAAO,CAC1C,GAAG,EAAE,CAAC,MAAM,CAAC,uCAAuC,CAAC,CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAA4B;IACnD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,UAAU;QACrB,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,KAAK;KACZ;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,UAAU;QACrB,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,KAAK;KACZ;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,kBAAkB;QAC7B,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,KAAK;KACZ;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,KAAK;KACZ;IACD;QACE,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,eAAe;QAC1B,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,KAAK;KACZ;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,SAAS,EAAE,4BAA4B;QACvC,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,KAAK;KACZ;CACF,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;SACN,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;KAC1B,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,CAAC;CACZ"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare function ForgotPasswordForm(): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
//# sourceMappingURL=components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/ui/forgot-password/components.tsx"],"names":[],"mappings":"AAsBA,wBAAgB,kBAAkB,4CA8EjC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** biome-ignore-all lint/correctness/noUnusedImports: <all> */
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { zodResolver } from "@hookform/resolvers/zod";
|
|
5
|
+
import { useTranslation } from "@vilio/intl";
|
|
6
|
+
import { Button } from "@vilio/ui/components/button";
|
|
7
|
+
import { Field, FieldError, FieldGroup } from "@vilio/ui/components/field";
|
|
8
|
+
import { Input } from "@vilio/ui/components/input";
|
|
9
|
+
import { Label } from "@vilio/ui/components/label";
|
|
10
|
+
import { cn } from "@vilio/ui/lib/utils";
|
|
11
|
+
import { Loader } from "@vilio/ui/shared/loader";
|
|
12
|
+
import { AlertCircle } from "lucide-react";
|
|
13
|
+
import { useState } from "react";
|
|
14
|
+
import { Controller, useForm } from "react-hook-form";
|
|
15
|
+
import { toast } from "sonner";
|
|
16
|
+
import { forgotPasswordAction } from "../../actions/index";
|
|
17
|
+
import { forgotPasswordSchema, } from "../../validation";
|
|
18
|
+
export function ForgotPasswordForm() {
|
|
19
|
+
const [generalError, setGeneralError] = useState("");
|
|
20
|
+
const { t } = useTranslation();
|
|
21
|
+
const form = useForm({
|
|
22
|
+
resolver: zodResolver(forgotPasswordSchema),
|
|
23
|
+
});
|
|
24
|
+
async function onSubmit(data) {
|
|
25
|
+
setGeneralError("");
|
|
26
|
+
try {
|
|
27
|
+
const response = await forgotPasswordAction(data);
|
|
28
|
+
if (response.error) {
|
|
29
|
+
setGeneralError(response.message || t("error_occurred"));
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
toast(response.message);
|
|
33
|
+
}
|
|
34
|
+
catch (_error) {
|
|
35
|
+
setGeneralError(t("error_occurred"));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return (_jsxs("div", { className: cn("flex flex-col space-y-6"), children: [_jsxs("div", { className: "space-y-2 text-center", children: [_jsx("h1", { className: "text-3xl font-semibold", children: t("Forgot Password") }), _jsx("p", { className: "text-muted-foreground", children: t("Enter your email address and we'll send you a link to reset your password.") })] }), _jsxs("div", { className: "grid gap-5", children: [generalError && (_jsxs("div", { className: "flex gap-2 p-3 bg-red-50 border border-red-200 rounded-lg", children: [_jsx(AlertCircle, { className: "w-4 h-4 text-red-600 flex-shrink-0 mt-0.5" }), _jsx("p", { className: "text-sm text-red-600", children: generalError })] })), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "flex flex-col gap-4", children: [_jsx(FieldGroup, { className: "w-full mx-auto", children: _jsx(Controller, { name: "email", control: form.control, render: ({ field, fieldState }) => (_jsxs(Field, { className: "w-full", "data-invalid": fieldState.invalid, children: [_jsx(Label, { htmlFor: "email", children: t("Email address") }), _jsx(Input, { ...field, placeholder: "m@example.com", autoFocus: true }), fieldState.invalid && (_jsx(FieldError, { errors: [fieldState.error] }))] })) }) }), _jsxs(Button, { disabled: form.formState.isSubmitting, className: "w-full", children: [form.formState.isSubmitting
|
|
39
|
+
? t("Please wait...")
|
|
40
|
+
: t("Send reset link"), form.formState.isSubmitting && _jsx(Loader, { variant: "dark" })] })] })] })] }));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/ui/forgot-password/components.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export default function Page(): Promise<import("react/jsx-runtime").JSX.Element>;
|
|
2
|
+
//# sourceMappingURL=page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../src/ui/forgot-password/page.tsx"],"names":[],"mappings":"AAGA,wBAA8B,IAAI,qDAEjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/ui/forgot-password/page.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI;IAChC,OAAO,KAAC,kBAAkB,KAAG,CAAC;AAChC,CAAC"}
|
package/dist/ui/layout.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/ui/layout.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,GACT,EAAE,QAAQ,CAAC;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC,2CAwBD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// import type { Metadata } from "next";import * as React from "react"
|
|
3
|
+
import { Logo } from "@vilio/ui/brand/logo";
|
|
4
|
+
import Image from "next/image";
|
|
5
|
+
import Link from "next/link";
|
|
6
|
+
// export const metadata: Metadata = {
|
|
7
|
+
// title: "Auth App",
|
|
8
|
+
// description: "Generated by create next app",
|
|
9
|
+
// };
|
|
10
|
+
export default function RootLayout({ children, }) {
|
|
11
|
+
return (_jsxs("div", { className: "grid min-h-svh grid-cols-1 lg:grid-cols-2", children: [_jsxs("div", { className: "flex flex-col gap-4 p-6 md:p-10", children: [_jsx("div", { className: "flex justify-center gap-2", children: _jsx(Link, { href: "/", className: "flex items-center gap-2 font-medium", children: _jsx(Logo, {}) }) }), _jsx("div", { className: "flex flex-1 items-center justify-center", children: _jsx("div", { className: "w-full max-w-xs", children: children }) })] }), _jsx("div", { className: "bg-muted relative hidden lg:block", children: _jsx(Image, { width: 100, height: 100, src: "/placeholder.svg", alt: "Image", className: "absolute inset-0 h-full w-full object-cover dark:brightness-[0.2] dark:grayscale" }) })] }));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/ui/layout.tsx"],"names":[],"mappings":";AAAA,sEAAsE;AAEtE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,sCAAsC;AACtC,uBAAuB;AACvB,iDAAiD;AACjD,KAAK;AAEL,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,GAGR;IACA,OAAO,CACL,eAAK,SAAS,EAAC,2CAA2C,aACxD,eAAK,SAAS,EAAC,iCAAiC,aAC9C,cAAK,SAAS,EAAC,2BAA2B,YACxC,KAAC,IAAI,IAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAC,qCAAqC,YAC5D,KAAC,IAAI,KAAG,GACH,GACH,EACN,cAAK,SAAS,EAAC,yCAAyC,YACtD,cAAK,SAAS,EAAC,iBAAiB,YAAE,QAAQ,GAAO,GAC7C,IACF,EACN,cAAK,SAAS,EAAC,mCAAmC,YAChD,KAAC,KAAK,IACJ,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,GAAG,EAAC,kBAAkB,EACtB,GAAG,EAAC,OAAO,EACX,SAAS,EAAC,kFAAkF,GAC5F,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare function ResetPasswordForm(): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
//# sourceMappingURL=components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/ui/reset-password/components.tsx"],"names":[],"mappings":"AA+BA,wBAAgB,iBAAiB,4CAgGhC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** biome-ignore-all lint/correctness/noUnusedImports: <all> */
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { zodResolver } from "@hookform/resolvers/zod";
|
|
5
|
+
import { useTranslation } from "@vilio/intl";
|
|
6
|
+
import { Button } from "@vilio/ui/components/button";
|
|
7
|
+
import { CardDescription, CardHeader, CardTitle, } from "@vilio/ui/components/card";
|
|
8
|
+
import { Field, FieldError, FieldGroup, } from "@vilio/ui/components/field";
|
|
9
|
+
import { Input } from "@vilio/ui/components/input";
|
|
10
|
+
import { Label } from "@vilio/ui/components/label";
|
|
11
|
+
import { cn } from "@vilio/ui/lib/utils";
|
|
12
|
+
import { Loader } from "@vilio/ui/shared/loader";
|
|
13
|
+
import { AlertCircle } from "lucide-react";
|
|
14
|
+
import { useState } from "react";
|
|
15
|
+
import { Controller, useForm } from "react-hook-form";
|
|
16
|
+
import { toast } from "sonner";
|
|
17
|
+
import { resetPasswordAction } from "../../actions/index";
|
|
18
|
+
import { resetPasswordSchema } from "../../validation";
|
|
19
|
+
export function ResetPasswordForm() {
|
|
20
|
+
const [generalError, setGeneralError] = useState("");
|
|
21
|
+
const { t } = useTranslation();
|
|
22
|
+
const form = useForm({
|
|
23
|
+
resolver: zodResolver(resetPasswordSchema),
|
|
24
|
+
});
|
|
25
|
+
async function onSubmit(data) {
|
|
26
|
+
setGeneralError("");
|
|
27
|
+
try {
|
|
28
|
+
const response = await resetPasswordAction(data);
|
|
29
|
+
if (response.error) {
|
|
30
|
+
setGeneralError(response.message || t("error_occurred"));
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
toast(response.message);
|
|
34
|
+
}
|
|
35
|
+
catch (_error) {
|
|
36
|
+
// setGeneralError(t("error_occurred"));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return (_jsxs("div", { className: cn("flex flex-col space-y-3"), children: [_jsxs(CardHeader, { className: "text-center", children: [_jsx(CardTitle, { className: "text-xl", children: t("Reset password") }), _jsx(CardDescription, { children: t("Enter your new password below.") })] }), _jsxs("div", { className: "flex flex-col gap-6", children: [generalError && (_jsxs("div", { className: "flex gap-2 p-3 bg-red-50 border border-red-200 rounded-lg", children: [_jsx(AlertCircle, { className: "w-4 h-4 text-red-600 flex-shrink-0 mt-0.5" }), _jsx("p", { className: "text-sm text-red-600", children: generalError })] })), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "flex flex-col gap-4", children: [_jsxs(FieldGroup, { className: "w-full mx-auto", children: [_jsx(Controller, { name: "password", control: form.control, render: ({ field, fieldState }) => (_jsxs(Field, { className: "w-full", "data-invalid": fieldState.invalid, children: [_jsx(Label, { htmlFor: "password", children: t("New Password") }), _jsx(Input, { ...field, id: "password", type: "password", placeholder: "********", autoFocus: true }), fieldState.invalid && (_jsx(FieldError, { errors: [fieldState.error] }))] })) }), _jsx(Controller, { name: "confirm", control: form.control, render: ({ field, fieldState }) => (_jsxs(Field, { className: "w-full", "data-invalid": fieldState.invalid, children: [_jsx(Label, { htmlFor: "confirm", children: t("Confirm Password") }), _jsx(Input, { ...field, id: "confirm", type: "password", placeholder: "********" }), fieldState.invalid && (_jsx(FieldError, { errors: [fieldState.error] }))] })) })] }), _jsxs(Button, { disabled: form.formState.isSubmitting, className: "w-full", children: [form.formState.isSubmitting
|
|
40
|
+
? t("Please wait...")
|
|
41
|
+
: t("Reset password"), form.formState.isSubmitting && _jsx(Loader, { variant: "dark" }), " "] })] })] })] }));
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/ui/reset-password/components.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export default function Page(): Promise<import("react/jsx-runtime").JSX.Element>;
|
|
2
|
+
//# sourceMappingURL=page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../src/ui/reset-password/page.tsx"],"names":[],"mappings":"AAQA,wBAA8B,IAAI,qDAgBjC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { checkSecurity, getCurrentPasswordResetSession, } from "@vilio/core/server";
|
|
3
|
+
import { redirect } from "next/navigation";
|
|
4
|
+
import { ResetPasswordForm } from "./components";
|
|
5
|
+
export default async function Page() {
|
|
6
|
+
const { session, user } = await getCurrentPasswordResetSession();
|
|
7
|
+
if (session === null || user === null) {
|
|
8
|
+
return redirect("/forgot-password");
|
|
9
|
+
}
|
|
10
|
+
if (!session.emailVerified) {
|
|
11
|
+
return redirect("/reset-password/verify-email");
|
|
12
|
+
}
|
|
13
|
+
// Security requirements check (for 2FA during reset)
|
|
14
|
+
const security = await checkSecurity(session, user);
|
|
15
|
+
if (!security.satisfied && security.redirect) {
|
|
16
|
+
return redirect(security.redirect);
|
|
17
|
+
}
|
|
18
|
+
return _jsx(ResetPasswordForm, {});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/ui/reset-password/page.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI;IAChC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,8BAA8B,EAAE,CAAC;IACjE,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,qDAAqD;IACrD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,KAAC,iBAAiB,KAAG,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../src/ui/reset-password/verify-email/components.tsx"],"names":[],"mappings":"AAyBA,wBAAgB,kCAAkC,CAAC,EAAE,KAAU,EAAE;;CAAA,2CAoFhE"}
|