diff --git a/src/components/pages/ABDesign/v1/components/Questionnaire/CustomAnswers/Birthdate/index.tsx b/src/components/pages/ABDesign/v1/components/Questionnaire/CustomAnswers/Birthdate/index.tsx index 73799fa..d1f5c72 100644 --- a/src/components/pages/ABDesign/v1/components/Questionnaire/CustomAnswers/Birthdate/index.tsx +++ b/src/components/pages/ABDesign/v1/components/Questionnaire/CustomAnswers/Birthdate/index.tsx @@ -8,6 +8,7 @@ import { useNavigate } from "react-router-dom"; import routes from "@/routes"; import QuestionnaireGreenButton from "../../../../ui/GreenButton"; import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie"; +import metricService from "@/services/metric/metricService"; interface IBirthdateCustomAnswerProps { affiliation?: "self" | "partner"; @@ -44,8 +45,23 @@ function BirthdateCustomAnswer({ setIsDisabled(_birthdate === ""); }; + const getAge = () => { + const today = new Date(); + const birthDate = new Date(birthdate); + let age = today?.getFullYear() - birthDate?.getFullYear(); + const m = today?.getMonth() - birthDate?.getMonth(); + if (m < 0 || (m === 0 && today?.getDate() < birthDate?.getDate())) { + age--; + } + return age; + }; + const handleNext = () => { if (affiliation === "self") { + const age = getAge(); + metricService.userParams({ + age, + }); dispatch(actions.questionnaire.update({ birthdate })); navigate(routes.client.singleZodiacInfoV1()); } diff --git a/src/components/pages/ABDesign/v1/pages/AboutUs/index.tsx b/src/components/pages/ABDesign/v1/pages/AboutUs/index.tsx index 8d17dad..92f2f0d 100644 --- a/src/components/pages/ABDesign/v1/pages/AboutUs/index.tsx +++ b/src/components/pages/ABDesign/v1/pages/AboutUs/index.tsx @@ -16,7 +16,7 @@ function AboutUsPage() { const [selectedAnswer, setSelectedAnswer] = useState(null); const clickAnswerTimeOutRef = useRef(); const [searchParams] = useSearchParams() - const aboutUsAnswersKey = searchParams.get('key') ?? "aboutUsAnswersNormal" + const aboutUsAnswersKey = searchParams.get('key') ?? "aboutUsAnswersA" const handleClick = async (answer: IAnswer) => { setSelectedAnswer(answer); diff --git a/src/components/pages/ABDesign/v1/pages/Gender/index.tsx b/src/components/pages/ABDesign/v1/pages/Gender/index.tsx index f5793c3..3a833aa 100644 --- a/src/components/pages/ABDesign/v1/pages/Gender/index.tsx +++ b/src/components/pages/ABDesign/v1/pages/Gender/index.tsx @@ -14,7 +14,9 @@ import { genders } from "../../data/genders"; import PrivacyPolicy from "../../components/PrivacyPolicy"; import Toast from "../../components/Toast"; import { DotLottieReact } from "@lottiefiles/dotlottie-react"; -import { useMetricABFlags } from "@/services/metric/metricService"; +import metricService, { + useMetricABFlags, +} from "@/services/metric/metricService"; import { usePreloadImages } from "@/hooks/preload/images"; interface IGenderPageProps { @@ -73,6 +75,10 @@ function GenderPage({ productKey }: IGenderPageProps): JSX.Element { if (!selectedGender) return; await new Promise((resolve) => setTimeout(resolve, 1000)); dispatch(actions.questionnaire.update({ gender: selectedGender.id })); + + metricService.userParams({ + gender: selectedGender.name, + }); if (productKey === EProductKeys["moons.pdf.aura"]) { return navigate(routes.client.epeBirthdate()); } diff --git a/src/components/pages/ABDesign/v1/pages/TrialPayment/components/PaymentTable/index.tsx b/src/components/pages/ABDesign/v1/pages/TrialPayment/components/PaymentTable/index.tsx index 54fafd4..b3c1afc 100644 --- a/src/components/pages/ABDesign/v1/pages/TrialPayment/components/PaymentTable/index.tsx +++ b/src/components/pages/ABDesign/v1/pages/TrialPayment/components/PaymentTable/index.tsx @@ -87,7 +87,7 @@ function PaymentTable({ ${Number(getText("full.price")) / 100} - {product.trialPrice !== 50 && ${product.price / 100}} + {product.trialPrice !== 50 && ${getPrice(product)}} {product.trialPrice === 50 && ${getPrice(product)}} diff --git a/src/components/pages/AboutUs/index.tsx b/src/components/pages/AboutUs/index.tsx index 85ea36c..113c0a7 100755 --- a/src/components/pages/AboutUs/index.tsx +++ b/src/components/pages/AboutUs/index.tsx @@ -27,7 +27,7 @@ function AboutUsPage() {
- {aboutUsAnswers['aboutUsAnswersNormal'].map((answer, index) => ( + {aboutUsAnswers["aboutUsAnswersA"].map((answer, index) => ( Your cost per 2 weeks after trial

$65 - ${product.trialPrice / 100} + ${getPrice(product)}
diff --git a/src/services/metric/metricService.ts b/src/services/metric/metricService.ts index d6cdeff..f26c52a 100644 --- a/src/services/metric/metricService.ts +++ b/src/services/metric/metricService.ts @@ -32,6 +32,8 @@ interface IUserParams { genderFrom: string; email: string; hasPersonalVideo: boolean; + gender: string; + age: number; } const environments = import.meta.env