This commit is contained in:
Денис Катаев 2023-12-04 20:02:21 +00:00 committed by Victor Ershov
parent af08b82ef1
commit a6f0750c66
2 changed files with 16 additions and 6 deletions

View File

@ -190,7 +190,9 @@ function App(): JSX.Element {
<Route <Route
path={routes.client.subscription()} path={routes.client.subscription()}
element={<SubscriptionPage />} element={<SubscriptionPage />}
/> >
<Route path=":subPlan" element={<SubscriptionPage />} />
</Route>
</Route> </Route>
<Route element={<PrivateOutlet />}> <Route element={<PrivateOutlet />}>
<Route element={<AuthorizedUserOutlet />}> <Route element={<AuthorizedUserOutlet />}>

View File

@ -1,6 +1,6 @@
import { useDispatch, useSelector } from "react-redux"; import { useDispatch, useSelector } from "react-redux";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { useNavigate } from "react-router-dom"; import { useNavigate, useParams } from "react-router-dom";
import { actions, selectors } from "@/store"; import { actions, selectors } from "@/store";
import MainButton from "../MainButton"; import MainButton from "../MainButton";
import Policy from "../Policy"; import Policy from "../Policy";
@ -51,14 +51,22 @@ function SubscriptionPage(): JSX.Element {
const [subPlans, setSubPlans] = useState<ISubscriptionPlan[]>([]); const [subPlans, setSubPlans] = useState<ISubscriptionPlan[]>([]);
const birthday = useSelector(selectors.selectBirthday); const birthday = useSelector(selectors.selectBirthday);
const queryParameters = new URLSearchParams(window.location.search); // const queryParameters = new URLSearchParams(window.location.search);
const sub_plan = queryParameters.get("sub_plan") || ""; // const sub_plan = queryParameters.get("sub_plan") || "";
const { subPlan } = useParams();
const activeSubPlanFromStore = useSelector(selectors.selectActiveSubPlan); const activeSubPlanFromStore = useSelector(selectors.selectActiveSubPlan);
let activeSubPlan; let activeSubPlan;
if (sub_plan) { if (subPlan) {
const targetSubPlan = subPlans.find((subPlan) => subPlan.id === sub_plan); const targetSubPlan = subPlans.find(
(sub_plan) =>
String(
sub_plan.trial?.price_cents
? Math.floor(sub_plan.trial?.price_cents / 100)
: sub_plan.id.replace(".", "")
) === subPlan
);
if (targetSubPlan) { if (targetSubPlan) {
activeSubPlan = targetSubPlan; activeSubPlan = targetSubPlan;
} }