@solidstarters/solid-core-ui 1.1.9 → 1.1.10
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/components/auth/SolidForgotPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidForgotPassword.js +1 -4
- package/dist/components/auth/SolidForgotPassword.js.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.d.ts +5 -0
- package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -0
- package/dist/components/auth/SolidInitialLoginOtp.js +122 -0
- package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -0
- package/dist/components/auth/SolidInitiateRegisterOtp.d.ts +5 -0
- package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -0
- package/dist/components/auth/SolidInitiateRegisterOtp.js +122 -0
- package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -0
- package/dist/components/auth/SolidLogin.d.ts.map +1 -1
- package/dist/components/auth/SolidLogin.js +62 -19
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -1
- package/dist/components/auth/SolidOTPVerify.js +12 -9
- package/dist/components/auth/SolidOTPVerify.js.map +1 -1
- package/dist/components/auth/SolidRegister.d.ts.map +1 -1
- package/dist/components/auth/SolidRegister.js +123 -75
- package/dist/components/auth/SolidRegister.js.map +1 -1
- package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidResetPassword.js +11 -9
- package/dist/components/auth/SolidResetPassword.js.map +1 -1
- package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
- package/dist/components/common/SocialMediaLogin.js +4 -2
- package/dist/components/common/SocialMediaLogin.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/redux/api/authApi.d.ts +5 -1
- package/dist/redux/api/authApi.d.ts.map +1 -1
- package/dist/redux/api/authApi.js +37 -1
- package/dist/redux/api/authApi.js.map +1 -1
- package/package.json +1 -1
- package/src/components/auth/SolidForgotPassword.tsx +0 -2
- package/src/components/auth/SolidInitialLoginOtp.tsx +134 -0
- package/src/components/auth/SolidInitiateRegisterOtp.tsx +134 -0
- package/src/components/auth/SolidLogin.tsx +72 -17
- package/src/components/auth/SolidOTPVerify.tsx +9 -6
- package/src/components/auth/SolidRegister.tsx +205 -154
- package/src/components/auth/SolidResetPassword.tsx +9 -7
- package/src/components/common/SocialMediaLogin.tsx +6 -1
- package/src/index.ts +7 -2
- package/src/redux/api/authApi.ts +48 -8
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export declare const authApi: import("@reduxjs/toolkit/query/react").Api<import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, {
|
|
2
|
+
initateLogin: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">;
|
|
3
|
+
confirmOtpLogin: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">;
|
|
2
4
|
register: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">;
|
|
5
|
+
initateRegister: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">;
|
|
6
|
+
confirmOtpRegister: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">;
|
|
3
7
|
registerPrivate: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">;
|
|
4
8
|
updateUser: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">;
|
|
5
9
|
forgotPassword: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">;
|
|
@@ -8,5 +12,5 @@ export declare const authApi: import("@reduxjs/toolkit/query/react").Api<import(
|
|
|
8
12
|
confirmForgotPassword: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">;
|
|
9
13
|
changePassword: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">;
|
|
10
14
|
}, "authApi", never, typeof import("@reduxjs/toolkit/query/react").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
|
11
|
-
export declare const useRegisterMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useRegisterPrivateMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useUpdateUserMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useForgotPasswordMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useResetPasswordMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useInitiateChangePasswordMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useConfirmForgotPasswordMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useChangePasswordMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>;
|
|
15
|
+
export declare const useRegisterMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useRegisterPrivateMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useUpdateUserMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useForgotPasswordMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useResetPasswordMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useInitiateChangePasswordMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useConfirmForgotPasswordMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useChangePasswordMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useInitateLoginMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useConfirmOtpLoginMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useInitateRegisterMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>, useConfirmOtpRegisterMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "authApi">>;
|
|
12
16
|
//# sourceMappingURL=authApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authApi.d.ts","sourceRoot":"","sources":["../../../src/redux/api/authApi.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"authApi.d.ts","sourceRoot":"","sources":["../../../src/redux/api/authApi.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO;;;;;;;;;;;;;uJA+GlB,CAAC;AAEH,eAAO,MACL,mBAAmB,gZACnB,0BAA0B,gZAC1B,qBAAqB,gZACrB,yBAAyB,gZACzB,wBAAwB,gZACxB,iCAAiC,gZACjC,gCAAgC,gZAChC,yBAAyB,gZACzB,uBAAuB,gZACvB,0BAA0B,gZAC1B,0BAA0B,gZAC1B,6BAA6B,8YACpB,CAAC"}
|
|
@@ -4,6 +4,24 @@ export var authApi = createApi({
|
|
|
4
4
|
reducerPath: "authApi",
|
|
5
5
|
baseQuery: baseQueryWithAuth,
|
|
6
6
|
endpoints: function (builder) { return ({
|
|
7
|
+
initateLogin: builder.mutation({
|
|
8
|
+
query: function (body) {
|
|
9
|
+
return {
|
|
10
|
+
url: "/iam/otp/login/initiate",
|
|
11
|
+
method: "POST",
|
|
12
|
+
body: body,
|
|
13
|
+
};
|
|
14
|
+
},
|
|
15
|
+
}),
|
|
16
|
+
confirmOtpLogin: builder.mutation({
|
|
17
|
+
query: function (body) {
|
|
18
|
+
return {
|
|
19
|
+
url: "/iam/otp/login/confirm",
|
|
20
|
+
method: "POST",
|
|
21
|
+
body: body,
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
}),
|
|
7
25
|
register: builder.mutation({
|
|
8
26
|
query: function (body) {
|
|
9
27
|
return {
|
|
@@ -13,6 +31,24 @@ export var authApi = createApi({
|
|
|
13
31
|
};
|
|
14
32
|
},
|
|
15
33
|
}),
|
|
34
|
+
initateRegister: builder.mutation({
|
|
35
|
+
query: function (body) {
|
|
36
|
+
return {
|
|
37
|
+
url: "/iam/otp/register/initiate",
|
|
38
|
+
method: "POST",
|
|
39
|
+
body: body,
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
}),
|
|
43
|
+
confirmOtpRegister: builder.mutation({
|
|
44
|
+
query: function (body) {
|
|
45
|
+
return {
|
|
46
|
+
url: "/iam/otp/register/confirm",
|
|
47
|
+
method: "POST",
|
|
48
|
+
body: body,
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
}),
|
|
16
52
|
registerPrivate: builder.mutation({
|
|
17
53
|
query: function (body) {
|
|
18
54
|
return {
|
|
@@ -80,5 +116,5 @@ export var authApi = createApi({
|
|
|
80
116
|
}),
|
|
81
117
|
}); },
|
|
82
118
|
});
|
|
83
|
-
export var useRegisterMutation = authApi.useRegisterMutation, useRegisterPrivateMutation = authApi.useRegisterPrivateMutation, useUpdateUserMutation = authApi.useUpdateUserMutation, useForgotPasswordMutation = authApi.useForgotPasswordMutation, useResetPasswordMutation = authApi.useResetPasswordMutation, useInitiateChangePasswordMutation = authApi.useInitiateChangePasswordMutation, useConfirmForgotPasswordMutation = authApi.useConfirmForgotPasswordMutation, useChangePasswordMutation = authApi.useChangePasswordMutation;
|
|
119
|
+
export var useRegisterMutation = authApi.useRegisterMutation, useRegisterPrivateMutation = authApi.useRegisterPrivateMutation, useUpdateUserMutation = authApi.useUpdateUserMutation, useForgotPasswordMutation = authApi.useForgotPasswordMutation, useResetPasswordMutation = authApi.useResetPasswordMutation, useInitiateChangePasswordMutation = authApi.useInitiateChangePasswordMutation, useConfirmForgotPasswordMutation = authApi.useConfirmForgotPasswordMutation, useChangePasswordMutation = authApi.useChangePasswordMutation, useInitateLoginMutation = authApi.useInitateLoginMutation, useConfirmOtpLoginMutation = authApi.useConfirmOtpLoginMutation, useInitateRegisterMutation = authApi.useInitateRegisterMutation, useConfirmOtpRegisterMutation = authApi.useConfirmOtpRegisterMutation;
|
|
84
120
|
//# sourceMappingURL=authApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authApi.js","sourceRoot":"","sources":["../../../src/redux/api/authApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,CAAC,IAAM,OAAO,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,iBAAiB;IAC5B,SAAS,EAAE,UAAC,OAAO,IAAK,OAAA,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;YACzB,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,eAAe;oBACpB,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;QACF,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC;YAChC,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,uBAAuB;oBAC5B,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;QACF,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC3B,KAAK,EAAE,UAAC,EAAY;oBAAV,EAAE,QAAA,EAAE,IAAI,UAAA;gBAAO,OAAA,CAAC;oBACxB,GAAG,EAAE,gBAAS,EAAE,CAAE;oBAClB,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,IAAI;iBACX,CAAC;YAJuB,CAIvB;SACH,CAAC;QACF,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC/B,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,kBAAkB;oBACvB,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;QACF,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC9B,KAAK,YAAC,EAAe;oBAAb,KAAK,WAAA,EAAE,IAAI,UAAA;gBACjB,OAAO;oBACL,GAAG,EAAE,0BAAmB,KAAK,CAAE;oBAC/B,MAAM,EAAE,KAAK;oBACb,IAAI,MAAA;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;QACF,sBAAsB,EAAE,OAAO,CAAC,QAAQ,CAAC;YACvC,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,+BAA+B;oBACpC,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAA;YACH,CAAC;SACF,CAAC;QACF,qBAAqB,EAAE,OAAO,CAAC,QAAQ,CAAC;YACtC,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,8BAA8B;oBACnC,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAA;YACH,CAAC;SACF,CAAC;QACF,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC/B,KAAK,YAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"authApi.js","sourceRoot":"","sources":["../../../src/redux/api/authApi.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -19,8 +19,6 @@ const SolidForgotPassword = () => {
|
|
|
19
19
|
useEffect(() => {
|
|
20
20
|
trigger("") // Fetch settings on mount
|
|
21
21
|
}, [trigger])
|
|
22
|
-
const { layoutConfig } = useContext(LayoutContext);
|
|
23
|
-
const { authLayout } = layoutConfig;
|
|
24
22
|
const toast = useRef<Toast>(null);
|
|
25
23
|
const router = useRouter();
|
|
26
24
|
const showToast = (severity: "success" | "error", summary: string, detail: string) => {
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useConfirmOtpLoginMutation } from "@/redux/api/authApi";
|
|
4
|
+
import { useLazyGetAuthSettingsQuery } from "@/redux/api/solidSettingsApi";
|
|
5
|
+
import { Form, Formik } from "formik";
|
|
6
|
+
import Link from "next/link";
|
|
7
|
+
import { useRouter } from "next/navigation";
|
|
8
|
+
import { Button } from "primereact/button";
|
|
9
|
+
import { InputOtp } from "primereact/inputotp";
|
|
10
|
+
import { Message } from "primereact/message";
|
|
11
|
+
import { Toast } from "primereact/toast";
|
|
12
|
+
import { useEffect, useRef } from "react";
|
|
13
|
+
import * as Yup from "yup";
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
const SolidInitialLoginOtp = ({ email }: { email: string }) => {
|
|
17
|
+
const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
trigger("")
|
|
20
|
+
}, [trigger])
|
|
21
|
+
const [initiateOtpLogin] = useConfirmOtpLoginMutation();
|
|
22
|
+
|
|
23
|
+
const toast = useRef<Toast>(null);
|
|
24
|
+
const router = useRouter();
|
|
25
|
+
|
|
26
|
+
const validationSchema = Yup.object({
|
|
27
|
+
otp: Yup.string()
|
|
28
|
+
.matches(/^\d{6}$/, "OTP must be a 6-digit number")
|
|
29
|
+
.required("OTP is required"),
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const showToast = (severity: "success" | "error", summary: string, detail: string) => {
|
|
33
|
+
toast.current?.show({
|
|
34
|
+
severity,
|
|
35
|
+
summary,
|
|
36
|
+
detail,
|
|
37
|
+
life: 3000,
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const isFormFieldValid = (formik: any, fieldName: string) =>
|
|
42
|
+
formik.touched[fieldName] && formik.errors[fieldName];
|
|
43
|
+
|
|
44
|
+
return (
|
|
45
|
+
<>
|
|
46
|
+
<Toast ref={toast} />
|
|
47
|
+
<div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`} style={{ minWidth: 480 }}>
|
|
48
|
+
{solidSettingsData?.data?.authPagesLayout === 'center' &&
|
|
49
|
+
<div className="flex justify-content-center">
|
|
50
|
+
<div className="solid-logo flex align-items-center gap-3">
|
|
51
|
+
<img
|
|
52
|
+
alt="solid logo"
|
|
53
|
+
src={'/images/SS-Logo-1 1.png'}
|
|
54
|
+
className="position-relative img-fluid"
|
|
55
|
+
/>
|
|
56
|
+
<div>
|
|
57
|
+
<p className="solid-logo-title">
|
|
58
|
+
Solid<br />Starters
|
|
59
|
+
</p>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
}
|
|
64
|
+
<h2 className={`solid-auth-title ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'text-center' : 'text-left'}`}>OTP Verification</h2>
|
|
65
|
+
<p className="solid-auth-subtitle text-sm">
|
|
66
|
+
Please enter the OTP sent to your email to complete verification
|
|
67
|
+
</p>
|
|
68
|
+
<>
|
|
69
|
+
<Formik
|
|
70
|
+
initialValues={{
|
|
71
|
+
otp: "",
|
|
72
|
+
}}
|
|
73
|
+
validationSchema={validationSchema}
|
|
74
|
+
onSubmit={async (values, { setSubmitting }) => {
|
|
75
|
+
try {
|
|
76
|
+
const payload = {
|
|
77
|
+
type: "email",
|
|
78
|
+
identifier: email,
|
|
79
|
+
otp: values.otp
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const response = await initiateOtpLogin(payload).unwrap(); // Call mutation trigger
|
|
83
|
+
|
|
84
|
+
if (response?.statusCode === 200) {
|
|
85
|
+
showToast("success", "Login Successfully", "Login");
|
|
86
|
+
router.push(`/admin/core/solid-core/user/list`);
|
|
87
|
+
} else {
|
|
88
|
+
showToast("error", "Login Error", response.error);
|
|
89
|
+
}
|
|
90
|
+
} catch (err: any) {
|
|
91
|
+
showToast("error", "Login Error", err?.data ? err?.data?.message : "Something Went Wrong");
|
|
92
|
+
} finally {
|
|
93
|
+
setSubmitting(false);
|
|
94
|
+
}
|
|
95
|
+
}}
|
|
96
|
+
>
|
|
97
|
+
{(formik) => (
|
|
98
|
+
<Form>
|
|
99
|
+
<div className="flex flex-column gap-2 px-3">
|
|
100
|
+
<label htmlFor="otp" className="solid-auth-input-label">Enter OTP</label>
|
|
101
|
+
<InputOtp
|
|
102
|
+
value={formik.values.otp}
|
|
103
|
+
onChange={(e) => formik.setFieldValue("otp", e.value)}
|
|
104
|
+
length={6}
|
|
105
|
+
style={{ width: '100%' }}
|
|
106
|
+
/>
|
|
107
|
+
{isFormFieldValid(formik, "otp") && (
|
|
108
|
+
<Message className="text-red-500 text-sm" severity="error" text={formik.errors.otp?.toString()} />
|
|
109
|
+
)}
|
|
110
|
+
<div className="flex align-items-center justify-content-between">
|
|
111
|
+
<Button type="button" icon='pi pi-refresh' iconPos="left" link label="Resend Code" className="px-0 text-sm font-normal" />
|
|
112
|
+
<p className="m-0 text-sm text-color">
|
|
113
|
+
Time left: 00:28
|
|
114
|
+
</p>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
<div className="mt-4">
|
|
118
|
+
<Button type="submit" className="w-full font-light auth-submit-button" label="Verify" disabled={formik.isSubmitting} loading={formik.isSubmitting} />
|
|
119
|
+
</div>
|
|
120
|
+
</Form>
|
|
121
|
+
)}
|
|
122
|
+
</Formik>
|
|
123
|
+
</>
|
|
124
|
+
</div>
|
|
125
|
+
<div className="text-center mt-5">
|
|
126
|
+
<div className="text-sm text-400 secondary-dark-color">
|
|
127
|
+
{'<'} Back to <Link className="font-bold" href="/auth/login">Sign In</Link>
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
</>
|
|
131
|
+
);
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export default SolidInitialLoginOtp;
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useConfirmOtpRegisterMutation } from "@/redux/api/authApi";
|
|
4
|
+
import { useLazyGetAuthSettingsQuery } from "@/redux/api/solidSettingsApi";
|
|
5
|
+
import { Form, Formik } from "formik";
|
|
6
|
+
import Link from "next/link";
|
|
7
|
+
import { useRouter } from "next/navigation";
|
|
8
|
+
import { Button } from "primereact/button";
|
|
9
|
+
import { InputOtp } from "primereact/inputotp";
|
|
10
|
+
import { Message } from "primereact/message";
|
|
11
|
+
import { Toast } from "primereact/toast";
|
|
12
|
+
import { useEffect, useRef } from "react";
|
|
13
|
+
import * as Yup from "yup";
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
const SolidInitiateRegisterOtp = ({ email }: { email: string }) => {
|
|
17
|
+
const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
trigger("")
|
|
20
|
+
}, [trigger])
|
|
21
|
+
const [initiateOtpRegister] = useConfirmOtpRegisterMutation();
|
|
22
|
+
|
|
23
|
+
const toast = useRef<Toast>(null);
|
|
24
|
+
const router = useRouter();
|
|
25
|
+
|
|
26
|
+
const validationSchema = Yup.object({
|
|
27
|
+
otp: Yup.string()
|
|
28
|
+
.matches(/^\d{6}$/, "OTP must be a 6-digit number")
|
|
29
|
+
.required("OTP is required"),
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const showToast = (severity: "success" | "error", summary: string, detail: string) => {
|
|
33
|
+
toast.current?.show({
|
|
34
|
+
severity,
|
|
35
|
+
summary,
|
|
36
|
+
detail,
|
|
37
|
+
life: 3000,
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const isFormFieldValid = (formik: any, fieldName: string) =>
|
|
42
|
+
formik.touched[fieldName] && formik.errors[fieldName];
|
|
43
|
+
|
|
44
|
+
return (
|
|
45
|
+
<>
|
|
46
|
+
<Toast ref={toast} />
|
|
47
|
+
<div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`} style={{ minWidth: 480 }}>
|
|
48
|
+
{solidSettingsData?.data?.authPagesLayout === 'center' &&
|
|
49
|
+
<div className="flex justify-content-center">
|
|
50
|
+
<div className="solid-logo flex align-items-center gap-3">
|
|
51
|
+
<img
|
|
52
|
+
alt="solid logo"
|
|
53
|
+
src={'/images/SS-Logo-1 1.png'}
|
|
54
|
+
className="position-relative img-fluid"
|
|
55
|
+
/>
|
|
56
|
+
<div>
|
|
57
|
+
<p className="solid-logo-title">
|
|
58
|
+
Solid<br />Starters
|
|
59
|
+
</p>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
}
|
|
64
|
+
<h2 className={`solid-auth-title ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'text-center' : 'text-left'}`}>OTP Verification</h2>
|
|
65
|
+
<p className="solid-auth-subtitle text-sm">
|
|
66
|
+
Please enter the OTP sent to your email to complete verification
|
|
67
|
+
</p>
|
|
68
|
+
<>
|
|
69
|
+
<Formik
|
|
70
|
+
initialValues={{
|
|
71
|
+
otp: "",
|
|
72
|
+
}}
|
|
73
|
+
validationSchema={validationSchema}
|
|
74
|
+
onSubmit={async (values, { setSubmitting }) => {
|
|
75
|
+
try {
|
|
76
|
+
const payload = {
|
|
77
|
+
type: "email",
|
|
78
|
+
identifier: email,
|
|
79
|
+
otp: values.otp
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const response = await initiateOtpRegister(payload).unwrap(); // Call mutation trigger
|
|
83
|
+
|
|
84
|
+
if (response?.statusCode === 200) {
|
|
85
|
+
showToast("success", "Login Successfully", "Login");
|
|
86
|
+
router.push(`/auth/login`);
|
|
87
|
+
} else {
|
|
88
|
+
showToast("error", "Login Error", response.error);
|
|
89
|
+
}
|
|
90
|
+
} catch (err: any) {
|
|
91
|
+
showToast("error", "Login Error", err?.data ? err?.data?.message : "Something Went Wrong");
|
|
92
|
+
} finally {
|
|
93
|
+
setSubmitting(false);
|
|
94
|
+
}
|
|
95
|
+
}}
|
|
96
|
+
>
|
|
97
|
+
{(formik) => (
|
|
98
|
+
<Form>
|
|
99
|
+
<div className="flex flex-column gap-2 px-3">
|
|
100
|
+
<label htmlFor="otp" className="solid-auth-input-label">Enter OTP</label>
|
|
101
|
+
<InputOtp
|
|
102
|
+
value={formik.values.otp}
|
|
103
|
+
onChange={(e) => formik.setFieldValue("otp", e.value)}
|
|
104
|
+
length={6}
|
|
105
|
+
style={{ width: '100%' }}
|
|
106
|
+
/>
|
|
107
|
+
{isFormFieldValid(formik, "otp") && (
|
|
108
|
+
<Message className="text-red-500 text-sm" severity="error" text={formik.errors.otp?.toString()} />
|
|
109
|
+
)}
|
|
110
|
+
<div className="flex align-items-center justify-content-between">
|
|
111
|
+
<Button type="button" icon='pi pi-refresh' iconPos="left" link label="Resend Code" className="px-0 text-sm font-normal" />
|
|
112
|
+
<p className="m-0 text-sm text-color">
|
|
113
|
+
Time left: 00:28
|
|
114
|
+
</p>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
<div className="mt-4">
|
|
118
|
+
<Button type="submit" className="w-full font-light auth-submit-button" label="Verify" disabled={formik.isSubmitting} loading={formik.isSubmitting} />
|
|
119
|
+
</div>
|
|
120
|
+
</Form>
|
|
121
|
+
)}
|
|
122
|
+
</Formik>
|
|
123
|
+
</>
|
|
124
|
+
</div>
|
|
125
|
+
<div className="text-center mt-5">
|
|
126
|
+
<div className="text-sm text-400 secondary-dark-color">
|
|
127
|
+
{'<'} Back to <Link className="font-bold" href="/auth/login">Sign In</Link>
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
</>
|
|
131
|
+
);
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export default SolidInitiateRegisterOtp;
|
|
@@ -17,27 +17,20 @@ import * as Yup from "yup";
|
|
|
17
17
|
import { SocialMediaLogin } from "../common/SocialMediaLogin";
|
|
18
18
|
import { LayoutContext } from "../layout/context/layoutcontext";
|
|
19
19
|
import { useLazyGetAuthSettingsQuery } from "@/redux/api/solidSettingsApi";
|
|
20
|
-
|
|
20
|
+
import { useInitateLoginMutation } from "@/redux/api/authApi";
|
|
21
21
|
|
|
22
22
|
const SolidLogin = () => {
|
|
23
|
-
const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery()
|
|
23
|
+
const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();
|
|
24
|
+
const [initiateLogin] = useInitateLoginMutation();
|
|
25
|
+
|
|
24
26
|
useEffect(() => {
|
|
25
27
|
trigger("") // Fetch settings on mount
|
|
26
28
|
}, [trigger])
|
|
27
|
-
const { layoutConfig } = useContext(LayoutContext);
|
|
28
|
-
const { authLayout } = layoutConfig;
|
|
29
29
|
const toast = useRef<Toast>(null);
|
|
30
30
|
const router = useRouter();
|
|
31
31
|
|
|
32
32
|
const [password, setPassword] = useState('');
|
|
33
33
|
|
|
34
|
-
const validationSchema = Yup.object({
|
|
35
|
-
email: Yup.string()
|
|
36
|
-
.email("Invalid email address")
|
|
37
|
-
.required("Email is required"),
|
|
38
|
-
password: Yup.string().required("Password is required"),
|
|
39
|
-
});
|
|
40
|
-
|
|
41
34
|
const showToast = (severity: "success" | "error", summary: string, detail: string) => {
|
|
42
35
|
toast.current?.show({
|
|
43
36
|
severity,
|
|
@@ -73,14 +66,19 @@ const SolidLogin = () => {
|
|
|
73
66
|
<h2 className={`solid-auth-title ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'text-center' : 'text-left'}`}>Sign In To Your Account</h2>
|
|
74
67
|
{/* <p className="solid-auth-subtitle text-sm">By continuing, you agree to the <Link href={'#'}>Terms of Service</Link> and acknowledge you’ve read our <Link href={'#'}>Privacy Policy.</Link> </p> */}
|
|
75
68
|
|
|
76
|
-
<TabView>
|
|
77
|
-
<TabPanel header="
|
|
69
|
+
<TabView className="solid-auth-tabview">
|
|
70
|
+
<TabPanel header="With Password">
|
|
78
71
|
<Formik
|
|
79
72
|
initialValues={{
|
|
80
73
|
email: "",
|
|
81
74
|
password: "",
|
|
82
75
|
}}
|
|
83
|
-
validationSchema={
|
|
76
|
+
validationSchema={Yup.object({
|
|
77
|
+
email: Yup.string()
|
|
78
|
+
.email("Invalid email address")
|
|
79
|
+
.required("Email is required"),
|
|
80
|
+
password: Yup.string().required("Password is required"),
|
|
81
|
+
})}
|
|
84
82
|
onSubmit={async (values, { setSubmitting }) => {
|
|
85
83
|
try {
|
|
86
84
|
const response = await signIn("credentials", {
|
|
@@ -95,8 +93,8 @@ const SolidLogin = () => {
|
|
|
95
93
|
showToast("success", "Login Success", "Redirecting to dashboard...");
|
|
96
94
|
router.push("/admin/core/solid-core/user/list");
|
|
97
95
|
}
|
|
98
|
-
} catch (error) {
|
|
99
|
-
showToast("error", "Login
|
|
96
|
+
} catch (error: any) {
|
|
97
|
+
showToast("error", "Login Error", error?.data ? error?.data?.message : "Something Went Wrong");
|
|
100
98
|
} finally {
|
|
101
99
|
setSubmitting(false); // Re-enable the button after submission
|
|
102
100
|
}
|
|
@@ -156,7 +154,64 @@ const SolidLogin = () => {
|
|
|
156
154
|
)}
|
|
157
155
|
</Formik>
|
|
158
156
|
</TabPanel>
|
|
159
|
-
<TabPanel header="
|
|
157
|
+
<TabPanel header="Without Password">
|
|
158
|
+
<Formik
|
|
159
|
+
initialValues={{
|
|
160
|
+
email: "",
|
|
161
|
+
}}
|
|
162
|
+
validationSchema={Yup.object({
|
|
163
|
+
email: Yup.string()
|
|
164
|
+
.email("Invalid email address")
|
|
165
|
+
})}
|
|
166
|
+
onSubmit={async (values, { setSubmitting }) => {
|
|
167
|
+
try {
|
|
168
|
+
const payload = {
|
|
169
|
+
type: "email",
|
|
170
|
+
identifier: values.email,
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
const response = await initiateLogin(payload).unwrap(); // Call mutation trigger
|
|
174
|
+
|
|
175
|
+
if (response?.statusCode === 200) {
|
|
176
|
+
showToast("success", "OTP sent Successfully", response?.data?.message);
|
|
177
|
+
const email = values.email;
|
|
178
|
+
router.push(`/auth/initiate-login?email=${email}`);
|
|
179
|
+
} else {
|
|
180
|
+
showToast("error", "Login Error", response.error);
|
|
181
|
+
}
|
|
182
|
+
} catch (err: any) {
|
|
183
|
+
showToast("error", "Login Error", err?.data ? err?.data?.message : "Something Went Wrong");
|
|
184
|
+
} finally {
|
|
185
|
+
setSubmitting(false);
|
|
186
|
+
}
|
|
187
|
+
}}
|
|
188
|
+
>
|
|
189
|
+
{(formik) => (
|
|
190
|
+
<Form>
|
|
191
|
+
<div className="flex flex-column gap-2">
|
|
192
|
+
<label htmlFor="email" className="solid-auth-input-label">Email</label>
|
|
193
|
+
<InputText
|
|
194
|
+
id="email"
|
|
195
|
+
name="email"
|
|
196
|
+
placeholder="Email ID"
|
|
197
|
+
onChange={formik.handleChange}
|
|
198
|
+
value={formik.values.email}
|
|
199
|
+
/>
|
|
200
|
+
{isFormFieldValid(formik, "email") && <Message
|
|
201
|
+
className="text-red-500 text-sm"
|
|
202
|
+
severity="error"
|
|
203
|
+
text={formik?.errors?.email?.toString()}
|
|
204
|
+
/>}
|
|
205
|
+
</div>
|
|
206
|
+
<div className="mt-4 text-right">
|
|
207
|
+
<Link href={"/auth/initiate-forgot-password"} className="solid-auth-input-label">Forgot Password?</Link>
|
|
208
|
+
</div>
|
|
209
|
+
<div className="mt-4">
|
|
210
|
+
<Button className="w-full font-light auth-submit-button" label="Sign In" disabled={formik.isSubmitting} loading={formik.isSubmitting} />
|
|
211
|
+
</div>
|
|
212
|
+
</Form>
|
|
213
|
+
)}
|
|
214
|
+
</Formik>
|
|
160
215
|
</TabPanel>
|
|
161
216
|
</TabView>
|
|
162
217
|
{solidSettingsData?.data?.iamGoogleOAuthEnabled &&
|
|
@@ -8,14 +8,17 @@ import { Button } from "primereact/button";
|
|
|
8
8
|
import { InputOtp } from "primereact/inputotp";
|
|
9
9
|
import { Message } from "primereact/message";
|
|
10
10
|
import { Toast } from "primereact/toast";
|
|
11
|
-
import { useContext, useRef, useState } from "react";
|
|
11
|
+
import { useContext, useEffect, useRef, useState } from "react";
|
|
12
12
|
import * as Yup from "yup";
|
|
13
13
|
import { LayoutContext } from "../layout/context/layoutcontext";
|
|
14
|
+
import { useLazyGetAuthSettingsQuery } from "@/redux/api/solidSettingsApi";
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
const SolidOTPVerify = () => {
|
|
17
|
-
const {
|
|
18
|
-
|
|
18
|
+
const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
trigger("")
|
|
21
|
+
}, [trigger])
|
|
19
22
|
const [otp, setOTP] = useState<number | any>();
|
|
20
23
|
|
|
21
24
|
const toast = useRef<Toast>(null);
|
|
@@ -45,8 +48,8 @@ const SolidOTPVerify = () => {
|
|
|
45
48
|
return (
|
|
46
49
|
<>
|
|
47
50
|
<Toast ref={toast} />
|
|
48
|
-
<div className={`auth-container ${
|
|
49
|
-
{
|
|
51
|
+
<div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`} style={{ minWidth: 480 }}>
|
|
52
|
+
{solidSettingsData?.data?.authPagesLayout === 'center' &&
|
|
50
53
|
<div className="flex justify-content-center">
|
|
51
54
|
<div className="solid-logo flex align-items-center gap-3">
|
|
52
55
|
<img
|
|
@@ -62,7 +65,7 @@ const SolidOTPVerify = () => {
|
|
|
62
65
|
</div>
|
|
63
66
|
</div>
|
|
64
67
|
}
|
|
65
|
-
<h2 className={`solid-auth-title ${
|
|
68
|
+
<h2 className={`solid-auth-title ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'text-center' : 'text-left'}`}>OTP Verification</h2>
|
|
66
69
|
<p className="solid-auth-subtitle text-sm">
|
|
67
70
|
Please enter the OTP sent to your email to complete verification
|
|
68
71
|
</p>
|