@nocios/crudify-ui 1.0.56 → 1.0.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +58 -49
- package/dist/index.mjs +58 -49
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -726,56 +726,10 @@ var ResetPasswordForm = ({ config, onNavigate, onError, searchParams, onResetSuc
|
|
|
726
726
|
const [fromCodeVerification, setFromCodeVerification] = (0, import_react6.useState)(false);
|
|
727
727
|
const [validatingCode, setValidatingCode] = (0, import_react6.useState)(true);
|
|
728
728
|
const [codeValidated, setCodeValidated] = (0, import_react6.useState)(false);
|
|
729
|
+
const [pendingValidation, setPendingValidation] = (0, import_react6.useState)(null);
|
|
729
730
|
const { t } = useTranslation();
|
|
730
731
|
const { crudify: crudify3 } = useCrudifyLogin(config);
|
|
731
732
|
(0, import_react6.useEffect)(() => {
|
|
732
|
-
const validateCode = async (emailToValidate, codeToValidate) => {
|
|
733
|
-
if (!crudify3) return;
|
|
734
|
-
console.log("\u{1F50D} Validating reset code:", { emailToValidate, codeToValidate });
|
|
735
|
-
try {
|
|
736
|
-
const data = [
|
|
737
|
-
{
|
|
738
|
-
operation: "validatePasswordResetCode",
|
|
739
|
-
data: { email: emailToValidate, codePassword: codeToValidate }
|
|
740
|
-
}
|
|
741
|
-
];
|
|
742
|
-
console.log("\u{1F4E4} Sending validation request:", data);
|
|
743
|
-
const response = await crudify3.transaction(data);
|
|
744
|
-
console.log("\u{1F4E5} Validation response:", response);
|
|
745
|
-
if (response.success) {
|
|
746
|
-
console.log("\u2705 Code validation successful");
|
|
747
|
-
setCodeValidated(true);
|
|
748
|
-
} else {
|
|
749
|
-
console.log("\u274C Code validation failed:", response);
|
|
750
|
-
if (response.data?.response?.status === "TOO_MANY_REQUESTS") {
|
|
751
|
-
setErrors([t("errors.auth.TOO_MANY_REQUESTS")]);
|
|
752
|
-
} else {
|
|
753
|
-
let errorMessage = t("resetPassword.invalidCode");
|
|
754
|
-
if (response.errors?._error) {
|
|
755
|
-
const error = response.errors._error[0];
|
|
756
|
-
if (error === "TOO_MANY_REQUESTS") {
|
|
757
|
-
errorMessage = t("errors.auth.TOO_MANY_REQUESTS");
|
|
758
|
-
} else {
|
|
759
|
-
const errorMsg = error?.toLowerCase() || "";
|
|
760
|
-
if (errorMsg.includes("expired")) {
|
|
761
|
-
errorMessage = t("resetPassword.codeExpiredOrInvalid");
|
|
762
|
-
} else if (errorMsg.includes("invalid")) {
|
|
763
|
-
errorMessage = t("resetPassword.invalidCode");
|
|
764
|
-
}
|
|
765
|
-
}
|
|
766
|
-
}
|
|
767
|
-
setErrors([errorMessage]);
|
|
768
|
-
}
|
|
769
|
-
setTimeout(() => onNavigate?.("/login/forgotPassword"), 3e3);
|
|
770
|
-
}
|
|
771
|
-
} catch (error) {
|
|
772
|
-
console.error("Code validation error:", error);
|
|
773
|
-
setErrors([t("resetPassword.invalidCode")]);
|
|
774
|
-
setTimeout(() => onNavigate?.("/login/forgotPassword"), 3e3);
|
|
775
|
-
} finally {
|
|
776
|
-
setValidatingCode(false);
|
|
777
|
-
}
|
|
778
|
-
};
|
|
779
733
|
if (searchParams) {
|
|
780
734
|
const fromCodeVerificationParam = searchParams.get("fromCodeVerification");
|
|
781
735
|
const emailParam = searchParams.get("email");
|
|
@@ -798,7 +752,8 @@ var ResetPasswordForm = ({ config, onNavigate, onError, searchParams, onResetSuc
|
|
|
798
752
|
setCode(linkCode);
|
|
799
753
|
setEmail(linkEmail);
|
|
800
754
|
setFromCodeVerification(false);
|
|
801
|
-
|
|
755
|
+
console.log("\u23F3 Setting pending validation for reset link");
|
|
756
|
+
setPendingValidation({ email: linkEmail, code: linkCode });
|
|
802
757
|
return;
|
|
803
758
|
}
|
|
804
759
|
} catch (error) {
|
|
@@ -809,7 +764,8 @@ var ResetPasswordForm = ({ config, onNavigate, onError, searchParams, onResetSuc
|
|
|
809
764
|
setEmail(emailParam);
|
|
810
765
|
setCode(codeParam);
|
|
811
766
|
setFromCodeVerification(false);
|
|
812
|
-
|
|
767
|
+
console.log("\u23F3 Setting pending validation for direct params");
|
|
768
|
+
setPendingValidation({ email: emailParam, code: codeParam });
|
|
813
769
|
return;
|
|
814
770
|
}
|
|
815
771
|
}
|
|
@@ -817,6 +773,59 @@ var ResetPasswordForm = ({ config, onNavigate, onError, searchParams, onResetSuc
|
|
|
817
773
|
setValidatingCode(false);
|
|
818
774
|
setTimeout(() => onNavigate?.("/login/forgotPassword"), 3e3);
|
|
819
775
|
}, [searchParams, crudify3, t, onNavigate]);
|
|
776
|
+
(0, import_react6.useEffect)(() => {
|
|
777
|
+
if (crudify3 && pendingValidation) {
|
|
778
|
+
console.log("\u{1F680} Crudify ready! Executing pending validation:", pendingValidation);
|
|
779
|
+
const validateCode = async (emailToValidate, codeToValidate) => {
|
|
780
|
+
console.log("\u{1F50D} Validating reset code:", { emailToValidate, codeToValidate });
|
|
781
|
+
try {
|
|
782
|
+
const data = [
|
|
783
|
+
{
|
|
784
|
+
operation: "validatePasswordResetCode",
|
|
785
|
+
data: { email: emailToValidate, codePassword: codeToValidate }
|
|
786
|
+
}
|
|
787
|
+
];
|
|
788
|
+
console.log("\u{1F4E4} Sending validation request:", data);
|
|
789
|
+
const response = await crudify3.transaction(data);
|
|
790
|
+
console.log("\u{1F4E5} Validation response:", response);
|
|
791
|
+
if (response.success) {
|
|
792
|
+
console.log("\u2705 Code validation successful");
|
|
793
|
+
setCodeValidated(true);
|
|
794
|
+
} else {
|
|
795
|
+
console.log("\u274C Code validation failed:", response);
|
|
796
|
+
if (response.data?.response?.status === "TOO_MANY_REQUESTS") {
|
|
797
|
+
setErrors([t("errors.auth.TOO_MANY_REQUESTS")]);
|
|
798
|
+
} else {
|
|
799
|
+
let errorMessage = t("resetPassword.invalidCode");
|
|
800
|
+
if (response.errors?._error) {
|
|
801
|
+
const error = response.errors._error[0];
|
|
802
|
+
if (error === "TOO_MANY_REQUESTS") {
|
|
803
|
+
errorMessage = t("errors.auth.TOO_MANY_REQUESTS");
|
|
804
|
+
} else {
|
|
805
|
+
const errorMsg = error?.toLowerCase() || "";
|
|
806
|
+
if (errorMsg.includes("expired")) {
|
|
807
|
+
errorMessage = t("resetPassword.codeExpiredOrInvalid");
|
|
808
|
+
} else if (errorMsg.includes("invalid")) {
|
|
809
|
+
errorMessage = t("resetPassword.invalidCode");
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
setErrors([errorMessage]);
|
|
814
|
+
}
|
|
815
|
+
setTimeout(() => onNavigate?.("/login/forgotPassword"), 3e3);
|
|
816
|
+
}
|
|
817
|
+
} catch (error) {
|
|
818
|
+
console.error("Code validation error:", error);
|
|
819
|
+
setErrors([t("resetPassword.invalidCode")]);
|
|
820
|
+
setTimeout(() => onNavigate?.("/login/forgotPassword"), 3e3);
|
|
821
|
+
} finally {
|
|
822
|
+
setValidatingCode(false);
|
|
823
|
+
setPendingValidation(null);
|
|
824
|
+
}
|
|
825
|
+
};
|
|
826
|
+
validateCode(pendingValidation.email, pendingValidation.code);
|
|
827
|
+
}
|
|
828
|
+
}, [crudify3, pendingValidation, t, onNavigate]);
|
|
820
829
|
const validatePassword = (password) => {
|
|
821
830
|
if (password.length < 8) {
|
|
822
831
|
return t("resetPassword.passwordTooShort");
|
package/dist/index.mjs
CHANGED
|
@@ -682,56 +682,10 @@ var ResetPasswordForm = ({ config, onNavigate, onError, searchParams, onResetSuc
|
|
|
682
682
|
const [fromCodeVerification, setFromCodeVerification] = useState4(false);
|
|
683
683
|
const [validatingCode, setValidatingCode] = useState4(true);
|
|
684
684
|
const [codeValidated, setCodeValidated] = useState4(false);
|
|
685
|
+
const [pendingValidation, setPendingValidation] = useState4(null);
|
|
685
686
|
const { t } = useTranslation();
|
|
686
687
|
const { crudify: crudify3 } = useCrudifyLogin(config);
|
|
687
688
|
useEffect4(() => {
|
|
688
|
-
const validateCode = async (emailToValidate, codeToValidate) => {
|
|
689
|
-
if (!crudify3) return;
|
|
690
|
-
console.log("\u{1F50D} Validating reset code:", { emailToValidate, codeToValidate });
|
|
691
|
-
try {
|
|
692
|
-
const data = [
|
|
693
|
-
{
|
|
694
|
-
operation: "validatePasswordResetCode",
|
|
695
|
-
data: { email: emailToValidate, codePassword: codeToValidate }
|
|
696
|
-
}
|
|
697
|
-
];
|
|
698
|
-
console.log("\u{1F4E4} Sending validation request:", data);
|
|
699
|
-
const response = await crudify3.transaction(data);
|
|
700
|
-
console.log("\u{1F4E5} Validation response:", response);
|
|
701
|
-
if (response.success) {
|
|
702
|
-
console.log("\u2705 Code validation successful");
|
|
703
|
-
setCodeValidated(true);
|
|
704
|
-
} else {
|
|
705
|
-
console.log("\u274C Code validation failed:", response);
|
|
706
|
-
if (response.data?.response?.status === "TOO_MANY_REQUESTS") {
|
|
707
|
-
setErrors([t("errors.auth.TOO_MANY_REQUESTS")]);
|
|
708
|
-
} else {
|
|
709
|
-
let errorMessage = t("resetPassword.invalidCode");
|
|
710
|
-
if (response.errors?._error) {
|
|
711
|
-
const error = response.errors._error[0];
|
|
712
|
-
if (error === "TOO_MANY_REQUESTS") {
|
|
713
|
-
errorMessage = t("errors.auth.TOO_MANY_REQUESTS");
|
|
714
|
-
} else {
|
|
715
|
-
const errorMsg = error?.toLowerCase() || "";
|
|
716
|
-
if (errorMsg.includes("expired")) {
|
|
717
|
-
errorMessage = t("resetPassword.codeExpiredOrInvalid");
|
|
718
|
-
} else if (errorMsg.includes("invalid")) {
|
|
719
|
-
errorMessage = t("resetPassword.invalidCode");
|
|
720
|
-
}
|
|
721
|
-
}
|
|
722
|
-
}
|
|
723
|
-
setErrors([errorMessage]);
|
|
724
|
-
}
|
|
725
|
-
setTimeout(() => onNavigate?.("/login/forgotPassword"), 3e3);
|
|
726
|
-
}
|
|
727
|
-
} catch (error) {
|
|
728
|
-
console.error("Code validation error:", error);
|
|
729
|
-
setErrors([t("resetPassword.invalidCode")]);
|
|
730
|
-
setTimeout(() => onNavigate?.("/login/forgotPassword"), 3e3);
|
|
731
|
-
} finally {
|
|
732
|
-
setValidatingCode(false);
|
|
733
|
-
}
|
|
734
|
-
};
|
|
735
689
|
if (searchParams) {
|
|
736
690
|
const fromCodeVerificationParam = searchParams.get("fromCodeVerification");
|
|
737
691
|
const emailParam = searchParams.get("email");
|
|
@@ -754,7 +708,8 @@ var ResetPasswordForm = ({ config, onNavigate, onError, searchParams, onResetSuc
|
|
|
754
708
|
setCode(linkCode);
|
|
755
709
|
setEmail(linkEmail);
|
|
756
710
|
setFromCodeVerification(false);
|
|
757
|
-
|
|
711
|
+
console.log("\u23F3 Setting pending validation for reset link");
|
|
712
|
+
setPendingValidation({ email: linkEmail, code: linkCode });
|
|
758
713
|
return;
|
|
759
714
|
}
|
|
760
715
|
} catch (error) {
|
|
@@ -765,7 +720,8 @@ var ResetPasswordForm = ({ config, onNavigate, onError, searchParams, onResetSuc
|
|
|
765
720
|
setEmail(emailParam);
|
|
766
721
|
setCode(codeParam);
|
|
767
722
|
setFromCodeVerification(false);
|
|
768
|
-
|
|
723
|
+
console.log("\u23F3 Setting pending validation for direct params");
|
|
724
|
+
setPendingValidation({ email: emailParam, code: codeParam });
|
|
769
725
|
return;
|
|
770
726
|
}
|
|
771
727
|
}
|
|
@@ -773,6 +729,59 @@ var ResetPasswordForm = ({ config, onNavigate, onError, searchParams, onResetSuc
|
|
|
773
729
|
setValidatingCode(false);
|
|
774
730
|
setTimeout(() => onNavigate?.("/login/forgotPassword"), 3e3);
|
|
775
731
|
}, [searchParams, crudify3, t, onNavigate]);
|
|
732
|
+
useEffect4(() => {
|
|
733
|
+
if (crudify3 && pendingValidation) {
|
|
734
|
+
console.log("\u{1F680} Crudify ready! Executing pending validation:", pendingValidation);
|
|
735
|
+
const validateCode = async (emailToValidate, codeToValidate) => {
|
|
736
|
+
console.log("\u{1F50D} Validating reset code:", { emailToValidate, codeToValidate });
|
|
737
|
+
try {
|
|
738
|
+
const data = [
|
|
739
|
+
{
|
|
740
|
+
operation: "validatePasswordResetCode",
|
|
741
|
+
data: { email: emailToValidate, codePassword: codeToValidate }
|
|
742
|
+
}
|
|
743
|
+
];
|
|
744
|
+
console.log("\u{1F4E4} Sending validation request:", data);
|
|
745
|
+
const response = await crudify3.transaction(data);
|
|
746
|
+
console.log("\u{1F4E5} Validation response:", response);
|
|
747
|
+
if (response.success) {
|
|
748
|
+
console.log("\u2705 Code validation successful");
|
|
749
|
+
setCodeValidated(true);
|
|
750
|
+
} else {
|
|
751
|
+
console.log("\u274C Code validation failed:", response);
|
|
752
|
+
if (response.data?.response?.status === "TOO_MANY_REQUESTS") {
|
|
753
|
+
setErrors([t("errors.auth.TOO_MANY_REQUESTS")]);
|
|
754
|
+
} else {
|
|
755
|
+
let errorMessage = t("resetPassword.invalidCode");
|
|
756
|
+
if (response.errors?._error) {
|
|
757
|
+
const error = response.errors._error[0];
|
|
758
|
+
if (error === "TOO_MANY_REQUESTS") {
|
|
759
|
+
errorMessage = t("errors.auth.TOO_MANY_REQUESTS");
|
|
760
|
+
} else {
|
|
761
|
+
const errorMsg = error?.toLowerCase() || "";
|
|
762
|
+
if (errorMsg.includes("expired")) {
|
|
763
|
+
errorMessage = t("resetPassword.codeExpiredOrInvalid");
|
|
764
|
+
} else if (errorMsg.includes("invalid")) {
|
|
765
|
+
errorMessage = t("resetPassword.invalidCode");
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
setErrors([errorMessage]);
|
|
770
|
+
}
|
|
771
|
+
setTimeout(() => onNavigate?.("/login/forgotPassword"), 3e3);
|
|
772
|
+
}
|
|
773
|
+
} catch (error) {
|
|
774
|
+
console.error("Code validation error:", error);
|
|
775
|
+
setErrors([t("resetPassword.invalidCode")]);
|
|
776
|
+
setTimeout(() => onNavigate?.("/login/forgotPassword"), 3e3);
|
|
777
|
+
} finally {
|
|
778
|
+
setValidatingCode(false);
|
|
779
|
+
setPendingValidation(null);
|
|
780
|
+
}
|
|
781
|
+
};
|
|
782
|
+
validateCode(pendingValidation.email, pendingValidation.code);
|
|
783
|
+
}
|
|
784
|
+
}, [crudify3, pendingValidation, t, onNavigate]);
|
|
776
785
|
const validatePassword = (password) => {
|
|
777
786
|
if (password.length < 8) {
|
|
778
787
|
return t("resetPassword.passwordTooShort");
|