add jwtToken to epe short path

This commit is contained in:
gofnnp 2024-04-10 00:32:29 +04:00
parent d40cc37f76
commit 1ecd01b518
4 changed files with 33 additions and 12 deletions

View File

@ -1,4 +1,11 @@
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import {
useCallback,
useEffect,
useLayoutEffect,
useMemo,
useRef,
useState,
} from "react";
import {
Routes,
Route,
@ -127,7 +134,7 @@ function App(): JSX.Element {
const navigate = useNavigate();
const api = useApi();
const dispatch = useDispatch();
const { token, user, signUp } = useAuth();
const { token, user, signUp, logout } = useAuth();
const [searchParams] = useSearchParams();
const jwtToken = searchParams.get("token");
@ -164,16 +171,17 @@ function App(): JSX.Element {
const { data } = useApiCall<Asset[]>(assetsData);
// jwt auth
useEffect(() => {
useLayoutEffect(() => {
(async () => {
if (!jwtToken) return;
logout();
const auth = await api.auth({ jwt: jwtToken });
const {
auth: { token, user },
} = auth;
signUp(token, user);
})();
}, [api, jwtToken, signUp]);
}, [api, jwtToken, logout, signUp]);
useEffect(() => {
(async () => {
@ -256,8 +264,22 @@ function App(): JSX.Element {
<Route element={<Layout setIsSpecialOfferOpen={setIsSpecialOfferOpen} />}>
<Route path={routes.client.loadingPage()} element={<LoadingPage />} />
{/* Email - Pay - Email */}
<Route path={routes.client.epeGender()} element={<GenderPage />} />
<Route path={routes.client.epeBirthdate()} element={<BirthdayPage />} />
<Route
element={
<CheckIsAuthOutlet
redirectUrl={routes.client.singlePaymentShortPath(
"moons.pdf.aura"
)}
pageType={EIsAuthPageType.public}
/>
}
>
<Route path={routes.client.epeGender()} element={<GenderPage />} />
<Route
path={routes.client.epeBirthdate()}
element={<BirthdayPage />}
/>
</Route>
{/* <Route
path={routes.client.epePayment()}
element={<PaymentWithEmailPage />}
@ -288,7 +310,7 @@ function App(): JSX.Element {
element={
<CheckIsAuthOutlet
redirectUrl={routes.client.singlePaymentShortPath("chat.aura")}
pageType={EIsAuthPageType.private}
pageType={EIsAuthPageType.public}
/>
}
>

View File

@ -147,7 +147,6 @@ function PaymentWithEmailPage() {
if (!tokenFromStore.length || !userFromStore) {
return;
}
await createSinglePayment({
user: userFromStore,
token: tokenFromStore,
@ -187,9 +186,8 @@ function PaymentWithEmailPage() {
/>
</>
)}
{(!tokenFromStore ||
!paymentIntent ||
(productId !== "chat.aura" && !name.length)) &&
{(!tokenFromStore || !paymentIntent) &&
// || (productId !== "chat.aura" && !name.length)
!isLoadingSinglePayment &&
!isLoadingAuth && (
<>

View File

@ -8,6 +8,7 @@ export const productUrls: IProductUrls = {
"chat.aura": routes.client.advisorChatPrivate(
"asst_WWkAlT4Ovs6gKRy6VEn9LqNS"
),
"moons.pdf.aura": routes.client.epeSuccessPayment(),
};
interface IPaymentResultPathsOfProducts {

View File

@ -101,7 +101,7 @@ export const useSinglePayment = () => {
targetProductKey,
token
);
if (isPurchased && productUrls[targetProductKey].length) {
if (isPurchased && productUrls[targetProductKey]?.length) {
return navigate(productUrls[targetProductKey]);
}
const paymentIntent = await api.createSinglePayment({