diff --git a/src/App.tsx b/src/App.tsx index 00dfec98..5045ad9e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -81,7 +81,7 @@ const LazyLoading = ({ children, fallback }: SuspenseProps) => ( }>{children} ); -function useUserAccountFetcher({ +export function useUserAccountFetcher({ onError, onNewUserAccount, url, diff --git a/src/pages/Tariffs/tariffsUtils/createTariffElements.tsx b/src/pages/Tariffs/tariffsUtils/createTariffElements.tsx index 87746cd9..a46e75dc 100644 --- a/src/pages/Tariffs/tariffsUtils/createTariffElements.tsx +++ b/src/pages/Tariffs/tariffsUtils/createTariffElements.tsx @@ -51,7 +51,7 @@ export const createTariffElements = ( }), }} headerText={tariff.name} - text={tariff.privileges.map((p) => `${p.name} - ${p.amount}`)} + text={tariff.description} price={ <> {priceBeforeDiscounts !== priceAfterDiscounts && ( diff --git a/src/pages/createQuize/AvailablePrivilege.tsx b/src/pages/createQuize/AvailablePrivilege.tsx index 295d9c25..90469640 100644 --- a/src/pages/createQuize/AvailablePrivilege.tsx +++ b/src/pages/createQuize/AvailablePrivilege.tsx @@ -1,9 +1,34 @@ import { Box, Typography } from "@mui/material"; -import { useUserStore } from "@root/user"; +import { + clearUserData, + OriginalUserAccount, + setUserAccount, + useUserStore, +} from "@root/user"; +import { clearAuthToken, getMessageFromFetchError } from "@frontend/kitui"; +import { enqueueSnackbar } from "notistack"; +import { useUserAccountFetcher } from "../../App"; +import { useNavigate } from "react-router-dom"; export default function AvailablePrivilege() { const user = useUserStore(); const userPrivileges = user.userAccount?.privileges; + const userId = useUserStore((state) => state.userId); + const navigate = useNavigate(); + useUserAccountFetcher({ + url: process.env.REACT_APP_DOMAIN + "/squiz/account/get", + userId, + onNewUserAccount: setUserAccount, + onError: (error) => { + const errorMessage = getMessageFromFetchError(error); + if (errorMessage) { + enqueueSnackbar(errorMessage); + clearUserData(); + clearAuthToken(); + navigate("/signin"); + } + }, + }); console.log("это доступные привелегии", userPrivileges); const DayForm = ["день", "дня", "дней"]; function declOfNum(n: number, text_forms: string[]) {