@nocios/crudify-ui 3.0.16 → 3.0.20
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.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +46 -34
- package/dist/index.mjs +46 -34
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -678,7 +678,9 @@ var SessionManager = class _SessionManager {
|
|
|
678
678
|
this.log("Login failed:", response.errors);
|
|
679
679
|
return {
|
|
680
680
|
success: false,
|
|
681
|
-
error: this.formatError(response.errors)
|
|
681
|
+
error: this.formatError(response.errors),
|
|
682
|
+
rawResponse: response
|
|
683
|
+
// Preservar respuesta original para manejo de errores específicos
|
|
682
684
|
};
|
|
683
685
|
}
|
|
684
686
|
const tokens = {
|
|
@@ -692,7 +694,9 @@ var SessionManager = class _SessionManager {
|
|
|
692
694
|
this.config.onLoginSuccess?.(tokens);
|
|
693
695
|
return {
|
|
694
696
|
success: true,
|
|
695
|
-
tokens
|
|
697
|
+
tokens,
|
|
698
|
+
data: response.data
|
|
699
|
+
// Incluir datos del usuario
|
|
696
700
|
};
|
|
697
701
|
} catch (error) {
|
|
698
702
|
this.log("Login error:", error);
|
|
@@ -918,51 +922,58 @@ function useSession(options = {}) {
|
|
|
918
922
|
} : null
|
|
919
923
|
}));
|
|
920
924
|
} catch (error) {
|
|
925
|
+
const errorMessage = error instanceof Error ? error.message : "Initialization failed";
|
|
921
926
|
setState((prev) => ({
|
|
922
927
|
...prev,
|
|
923
928
|
isLoading: false,
|
|
924
929
|
isInitialized: true,
|
|
925
|
-
error:
|
|
930
|
+
error: errorMessage
|
|
926
931
|
}));
|
|
927
932
|
}
|
|
928
933
|
}, [options.autoRestore, options.enableLogging, options.onSessionExpired, options.onSessionRestored]);
|
|
929
|
-
const login = (0, import_react5.useCallback)(
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
934
|
+
const login = (0, import_react5.useCallback)(
|
|
935
|
+
async (email, password) => {
|
|
936
|
+
setState((prev) => ({ ...prev, isLoading: true, error: null }));
|
|
937
|
+
try {
|
|
938
|
+
const result = await sessionManager.login(email, password);
|
|
939
|
+
if (result.success && result.tokens) {
|
|
940
|
+
setState((prev) => ({
|
|
941
|
+
...prev,
|
|
942
|
+
isAuthenticated: true,
|
|
943
|
+
tokens: result.tokens,
|
|
944
|
+
isLoading: false,
|
|
945
|
+
error: null
|
|
946
|
+
}));
|
|
947
|
+
} else {
|
|
948
|
+
setState((prev) => ({
|
|
949
|
+
...prev,
|
|
950
|
+
isAuthenticated: false,
|
|
951
|
+
tokens: null,
|
|
952
|
+
isLoading: false,
|
|
953
|
+
error: null
|
|
954
|
+
// No establecer error global para errores de login
|
|
955
|
+
}));
|
|
956
|
+
}
|
|
957
|
+
return result;
|
|
958
|
+
} catch (error) {
|
|
959
|
+
const errorMsg = error instanceof Error ? error.message : "Login failed";
|
|
960
|
+
const isCredentialError = errorMsg.includes("INVALID_CREDENTIALS") || errorMsg.includes("Invalid email") || errorMsg.includes("Invalid password") || errorMsg.includes("credentials");
|
|
942
961
|
setState((prev) => ({
|
|
943
962
|
...prev,
|
|
944
963
|
isAuthenticated: false,
|
|
945
964
|
tokens: null,
|
|
946
965
|
isLoading: false,
|
|
947
|
-
error:
|
|
966
|
+
error: isCredentialError ? null : errorMsg
|
|
967
|
+
// Solo errores del sistema van al estado global
|
|
948
968
|
}));
|
|
969
|
+
return {
|
|
970
|
+
success: false,
|
|
971
|
+
error: errorMsg
|
|
972
|
+
};
|
|
949
973
|
}
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
setState((prev) => ({
|
|
954
|
-
...prev,
|
|
955
|
-
isAuthenticated: false,
|
|
956
|
-
tokens: null,
|
|
957
|
-
isLoading: false,
|
|
958
|
-
error: errorMsg
|
|
959
|
-
}));
|
|
960
|
-
return {
|
|
961
|
-
success: false,
|
|
962
|
-
error: errorMsg
|
|
963
|
-
};
|
|
964
|
-
}
|
|
965
|
-
}, [sessionManager]);
|
|
974
|
+
},
|
|
975
|
+
[sessionManager]
|
|
976
|
+
);
|
|
966
977
|
const logout = (0, import_react5.useCallback)(async () => {
|
|
967
978
|
setState((prev) => ({ ...prev, isLoading: true }));
|
|
968
979
|
try {
|
|
@@ -1628,7 +1639,8 @@ var LoginForm = ({ onScreenChange, onExternalNavigate, onLoginSuccess, onError,
|
|
|
1628
1639
|
onLoginSuccess(response.data, finalRedirectUrl);
|
|
1629
1640
|
}
|
|
1630
1641
|
} else {
|
|
1631
|
-
|
|
1642
|
+
const errorToHandle = response.rawResponse || response;
|
|
1643
|
+
handleLoginError(errorToHandle);
|
|
1632
1644
|
}
|
|
1633
1645
|
} catch (error) {
|
|
1634
1646
|
setLoading(false);
|
package/dist/index.mjs
CHANGED
|
@@ -612,7 +612,9 @@ var SessionManager = class _SessionManager {
|
|
|
612
612
|
this.log("Login failed:", response.errors);
|
|
613
613
|
return {
|
|
614
614
|
success: false,
|
|
615
|
-
error: this.formatError(response.errors)
|
|
615
|
+
error: this.formatError(response.errors),
|
|
616
|
+
rawResponse: response
|
|
617
|
+
// Preservar respuesta original para manejo de errores específicos
|
|
616
618
|
};
|
|
617
619
|
}
|
|
618
620
|
const tokens = {
|
|
@@ -626,7 +628,9 @@ var SessionManager = class _SessionManager {
|
|
|
626
628
|
this.config.onLoginSuccess?.(tokens);
|
|
627
629
|
return {
|
|
628
630
|
success: true,
|
|
629
|
-
tokens
|
|
631
|
+
tokens,
|
|
632
|
+
data: response.data
|
|
633
|
+
// Incluir datos del usuario
|
|
630
634
|
};
|
|
631
635
|
} catch (error) {
|
|
632
636
|
this.log("Login error:", error);
|
|
@@ -852,51 +856,58 @@ function useSession(options = {}) {
|
|
|
852
856
|
} : null
|
|
853
857
|
}));
|
|
854
858
|
} catch (error) {
|
|
859
|
+
const errorMessage = error instanceof Error ? error.message : "Initialization failed";
|
|
855
860
|
setState((prev) => ({
|
|
856
861
|
...prev,
|
|
857
862
|
isLoading: false,
|
|
858
863
|
isInitialized: true,
|
|
859
|
-
error:
|
|
864
|
+
error: errorMessage
|
|
860
865
|
}));
|
|
861
866
|
}
|
|
862
867
|
}, [options.autoRestore, options.enableLogging, options.onSessionExpired, options.onSessionRestored]);
|
|
863
|
-
const login = useCallback(
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
868
|
+
const login = useCallback(
|
|
869
|
+
async (email, password) => {
|
|
870
|
+
setState((prev) => ({ ...prev, isLoading: true, error: null }));
|
|
871
|
+
try {
|
|
872
|
+
const result = await sessionManager.login(email, password);
|
|
873
|
+
if (result.success && result.tokens) {
|
|
874
|
+
setState((prev) => ({
|
|
875
|
+
...prev,
|
|
876
|
+
isAuthenticated: true,
|
|
877
|
+
tokens: result.tokens,
|
|
878
|
+
isLoading: false,
|
|
879
|
+
error: null
|
|
880
|
+
}));
|
|
881
|
+
} else {
|
|
882
|
+
setState((prev) => ({
|
|
883
|
+
...prev,
|
|
884
|
+
isAuthenticated: false,
|
|
885
|
+
tokens: null,
|
|
886
|
+
isLoading: false,
|
|
887
|
+
error: null
|
|
888
|
+
// No establecer error global para errores de login
|
|
889
|
+
}));
|
|
890
|
+
}
|
|
891
|
+
return result;
|
|
892
|
+
} catch (error) {
|
|
893
|
+
const errorMsg = error instanceof Error ? error.message : "Login failed";
|
|
894
|
+
const isCredentialError = errorMsg.includes("INVALID_CREDENTIALS") || errorMsg.includes("Invalid email") || errorMsg.includes("Invalid password") || errorMsg.includes("credentials");
|
|
876
895
|
setState((prev) => ({
|
|
877
896
|
...prev,
|
|
878
897
|
isAuthenticated: false,
|
|
879
898
|
tokens: null,
|
|
880
899
|
isLoading: false,
|
|
881
|
-
error:
|
|
900
|
+
error: isCredentialError ? null : errorMsg
|
|
901
|
+
// Solo errores del sistema van al estado global
|
|
882
902
|
}));
|
|
903
|
+
return {
|
|
904
|
+
success: false,
|
|
905
|
+
error: errorMsg
|
|
906
|
+
};
|
|
883
907
|
}
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
setState((prev) => ({
|
|
888
|
-
...prev,
|
|
889
|
-
isAuthenticated: false,
|
|
890
|
-
tokens: null,
|
|
891
|
-
isLoading: false,
|
|
892
|
-
error: errorMsg
|
|
893
|
-
}));
|
|
894
|
-
return {
|
|
895
|
-
success: false,
|
|
896
|
-
error: errorMsg
|
|
897
|
-
};
|
|
898
|
-
}
|
|
899
|
-
}, [sessionManager]);
|
|
908
|
+
},
|
|
909
|
+
[sessionManager]
|
|
910
|
+
);
|
|
900
911
|
const logout = useCallback(async () => {
|
|
901
912
|
setState((prev) => ({ ...prev, isLoading: true }));
|
|
902
913
|
try {
|
|
@@ -1562,7 +1573,8 @@ var LoginForm = ({ onScreenChange, onExternalNavigate, onLoginSuccess, onError,
|
|
|
1562
1573
|
onLoginSuccess(response.data, finalRedirectUrl);
|
|
1563
1574
|
}
|
|
1564
1575
|
} else {
|
|
1565
|
-
|
|
1576
|
+
const errorToHandle = response.rawResponse || response;
|
|
1577
|
+
handleLoginError(errorToHandle);
|
|
1566
1578
|
}
|
|
1567
1579
|
} catch (error) {
|
|
1568
1580
|
setLoading(false);
|