click signup redirects to the right place in jam-ui

This commit is contained in:
Seth Call 2026-01-19 12:34:30 -06:00
parent 624853c868
commit 753f35b24d
2 changed files with 31 additions and 15 deletions

View File

@ -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' && (
<FormGroup>
<ReCAPTCHA
sitekey={process.env.REACT_APP_SITE_KEY}
ref={recaptchaRef}
<ReCAPTCHA
sitekey={process.env.REACT_APP_SITE_KEY}
ref={recaptchaRef}
onChange={handleRecaptcha}
/>
</FormGroup>
@ -146,7 +146,7 @@ const JKRegistrationForm = ({ hasLabel, jamTrack, jamTrackArtistName }) => {
<FormGroup>
<Button color="primary" block className="mt-3" disabled={isDisabled}>
{t('signup')}
{t('signup')}
</Button>
</FormGroup>

View File

@ -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 (
<Fragment>