import Title from "@/components/Title"; import styles from "./styles.module.scss"; import Answer from "../../components/Answer"; import { useDispatch, useSelector } from "react-redux"; import { actions, selectors } from "@/store"; import { sleep } from "@/services/date"; import { useNavigate } from "react-router-dom"; import routes from "@/routes"; import { answerTimeOut } from "../../data"; import { useTranslations } from "@/hooks/translations"; import { ELocalesPlacement } from "@/locales"; import { useMemo } from "react"; import { useSession } from "@/hooks/session/useSession"; import { IAnswersSessionCompatibilityV4 } from "@/api/resources/Session"; import { ESourceAuthorization } from "@/api/resources/User"; function PartnerPassword() { const { translate } = useTranslations(ELocalesPlacement.CompatibilityV4); const { updateSession } = useSession(); const navigate = useNavigate(); const dispatch = useDispatch(); const { partnerPassword } = useSelector( selectors.selectCompatibilityV4Answers ); const answers: { id: IAnswersSessionCompatibilityV4["partner_password"]; title: string; }[] = useMemo( () => [ { id: "normal", title: translate("/partner-password.answer1"), }, { id: "not_like", title: translate("/partner-password.answer2"), }, { id: "exchange_passwords", title: translate("/partner-password.answer3"), }, ], [translate] ); const handleClick = async (id: IAnswersSessionCompatibilityV4["partner_password"]) => { dispatch(actions.compatibilityV4Answers.update({ partnerPassword: id })); updateSession({ answers: { partner_password: id, }, }, ESourceAuthorization["aura.compatibility.v4"]); if (id !== partnerPassword) await sleep(answerTimeOut); return navigate(routes.client.compatibilityV4YourFear()); }; return (
{translate("/partner-password.title")} {answers.map((answers, index) => ( handleClick(answers.id)} /> ))}
); } export default PartnerPassword;