diff --git a/src/ui_kit/CheckFastlink.tsx b/src/ui_kit/CheckFastlink.tsx index 416ddbb6..ce2a673d 100644 --- a/src/ui_kit/CheckFastlink.tsx +++ b/src/ui_kit/CheckFastlink.tsx @@ -1,4 +1,4 @@ -import { useEffect, useLayoutEffect, useState } from "react"; +import {useEffect, useLayoutEffect, useRef, useState} from "react"; import { Box, Button, Modal, Typography } from "@mui/material"; import { enqueueSnackbar } from "notistack"; import { mutate } from "swr"; @@ -6,13 +6,18 @@ import { mutate } from "swr"; import makeRequest from "@api/makeRequest"; import { getDiscounts } from "@api/discounts"; -import { useUserStore } from "@root/user"; +import {clearUserData, OriginalUserAccount, setUserAccount, useUserStore} from "@root/user"; import { parseAxiosError } from "@utils/parse-error"; - +import { useUserAccountFetcher } from "../App"; import type { Discount } from "@model/discounts"; +import {clearAuthToken, createUserAccount, devlog, getMessageFromFetchError} from "@frontend/kitui"; +import {useNavigate} from "react-router-dom"; +import {isAxiosError} from "axios"; export function CheckFastlink() { const user = useUserStore(); + const userId = useUserStore((state) => state.userId); + const navigate = useNavigate(); const [discounts, setDiscounts] = useState([]); const [askToChange, setAskToChange] = useState(false); const [promocode, setPromocode] = useState(""); @@ -50,6 +55,16 @@ export function CheckFastlink() { }); enqueueSnackbar("Промокод успешно применён"); localStorage.setItem("fl", ""); + const controller = new AbortController(); + const responseAccount = await makeRequest({ + url: process.env.REACT_APP_DOMAIN + "/squiz/account/get", + contentType: true, + method: "GET", + useToken: true, + withCredentials: false, + signal: controller.signal, + }) + setUserAccount(responseAccount) mutate("discounts"); return response.greetings; } catch (nativeError) { @@ -91,6 +106,7 @@ export function CheckFastlink() { } }, [user.userId, discounts, user.customerAccount?.createdAt, user.userAccount?.created_at]); + return (