jam-cloud/jam-ui/src/components/auth/basic/JKRegistration.js

86 lines
2.7 KiB
JavaScript

import React, { Fragment, useEffect, useMemo, useState } from 'react';
import { Col, Row } from 'reactstrap';
import { Link } from 'react-router-dom';
import JKRegistrationForm from '../JKRegistrationForm';
import { useTranslation } from 'react-i18next';
import { useLocation } from 'react-router-dom';
import { getJamTrack } from '../../../helpers/rest';
import { useAuth } from '../../../context/UserAuth';
const Registration = () => {
const { t } = useTranslation('auth');
const search = useLocation().search;
const [jamTrack, setJamTrack] = useState(null);
const [jamTrackArtistName, setJamTrackArtistName] = useState("");
const { currentUser } = useAuth();
//coming to signup page after clicking on jamtrack or artist
useEffect(() => {
if (!search) return;
const params = new URLSearchParams(search);
const jamtrackId = params.get('JamTrackId');
const artistName = params.get('JamTrackArtistName');
console.log('_DEBUG_ jamtrackId', jamtrackId);
if (artistName && artistName !== "") {
setJamTrackArtistName(artistName);
}else if (jamtrackId) {
const fetchJamTrack = async (id) => {
try {
const response = await getJamTrack({id});
const jamTrack = await response.json();
setJamTrack(jamTrack);
} catch (error) {
console.error(error);
}
}
fetchJamTrack(jamtrackId);
// if (jt && jt.allow_free && currentUser && currentUser.show_free_jamtrack) {
// setJamTrack(jt);
// }
}
}, [search]);
const pageTitle = useMemo(() => {
if (jamTrack || jamTrackArtistName) {
return t('signupForm.jamtrack_signup_title');
}
return t('signupForm.signup_title');
}, [jamTrack, jamTrackArtistName]);
return (
<Fragment>
<Row className="text-left mb-3">
<Col>
<h5 id="modalLabel">{pageTitle}</h5>
{jamTrack?.id}
</Col>
</Row>
<JKRegistrationForm jamTrack={jamTrack} jamTrackArtistName={jamTrackArtistName} />
<Row className='justify-content-center mb-2'>
<Col xs="auto">
<p className="fs--1 text-600">
JamKazam <Link to="/public/terms">{t('terms_of_service', { ns: 'common' })}</Link> {t('and', { ns: 'common' })} <Link to="/public/privacy">{t('privacy_policy', { ns: 'common' })}</Link> {t('apply', { ns: 'common' })}.
</p>
</Col>
</Row>
<Row className='justify-content-center'>
<Col xs="auto">
<p className="fs--1 text-600">
{t('signupForm.alreadyHaveAccount')} <Link to="/authentication/basic/login">{t('signin')}</Link>
</p>
</Col>
</Row>
</Fragment>
);
};
export default Registration;