diff --git a/jam-ui/src/components/auth/JKRegistrationForm.js b/jam-ui/src/components/auth/JKRegistrationForm.js
index 1a85c1272..ce91e92ee 100644
--- a/jam-ui/src/components/auth/JKRegistrationForm.js
+++ b/jam-ui/src/components/auth/JKRegistrationForm.js
@@ -18,7 +18,7 @@ const JKRegistrationForm = ({ hasLabel, jamTrack, jamTrackArtistName }) => {
const [password, setPassword] = useState('');
const [isDisabled, setIsDisabled] = useState(true);
const [showPassword, setShowPassword] = useState(false);
-
+
const { capchaToken, recaptchaRef, handleRecaptcha } = useRecaptcha();
const { addToCart } = useJamTrackShopping();
@@ -52,14 +52,14 @@ const JKRegistrationForm = ({ hasLabel, jamTrack, jamTrackArtistName }) => {
toast.error(`Registration failed. Please try again.`);
setIsDisabled(false);
}
-
+
};
useEffect(() => {
const addJamTrackToCart = async () => {
- try{
+ try {
await addToCart(jamTrack);
- }catch(error){
+ } catch (error) {
console.error(error);
}
}
@@ -68,15 +68,15 @@ const JKRegistrationForm = ({ hasLabel, jamTrack, jamTrackArtistName }) => {
console.log('jamTrack', jamTrack);
console.log('jamTrackArtistName', jamTrackArtistName);
if (currentUser) {
- if(jamTrack){
+ if (jamTrack) {
console.log('adding jamtrack to cart');
addJamTrackToCart();
- }else if(jamTrackArtistName){
+ } else if (jamTrackArtistName) {
console.log('redirecting to jamtracks artist landing');
history.push(`/jamtracks?artist=${jamTrackArtistName}`);
- }else{
- console.log('redirecting to downloads');
- history.push('/public/downloads');
+ } else {
+ console.log('redirecting to profile');
+ history.push('/profile');
}
}
}, [currentUser, jamTrack, jamTrackArtistName]);
@@ -136,9 +136,9 @@ const JKRegistrationForm = ({ hasLabel, jamTrack, jamTrackArtistName }) => {
{process.env.REACT_APP_RECAPTCHA_ENABLED === 'true' && (
-
@@ -146,7 +146,7 @@ const JKRegistrationForm = ({ hasLabel, jamTrack, jamTrackArtistName }) => {
diff --git a/jam-ui/src/components/auth/basic/Login.js b/jam-ui/src/components/auth/basic/Login.js
index c813790b4..1f21f14c8 100644
--- a/jam-ui/src/components/auth/basic/Login.js
+++ b/jam-ui/src/components/auth/basic/Login.js
@@ -1,11 +1,27 @@
-import React, { Fragment } from 'react';
+import React, { Fragment, useEffect } from 'react';
import { Col, Row } from 'reactstrap';
-import { Link } from 'react-router-dom';
+import { Link, useHistory, useLocation } from 'react-router-dom';
import LoginForm from '../LoginForm';
import { useTranslation } from 'react-i18next';
+import { useAuth } from '../../../context/UserAuth';
const Login = () => {
const { t } = useTranslation('auth');
+ const { isAuthenticated, isLoading } = useAuth();
+ const history = useHistory();
+ const location = useLocation();
+
+ useEffect(() => {
+ if (!isLoading && isAuthenticated) {
+ const { from } = location.state || { from: { pathname: '/profile' } };
+ const finalDestination = from.pathname === '/' ? { pathname: '/profile' } : from;
+ history.replace(finalDestination);
+ }
+ }, [isAuthenticated, isLoading, history, location]);
+
+ if (isLoading || isAuthenticated) {
+ return null; // Or a loading spinner
+ }
return (