Merge branch 'dev' into 'staging'
реактивность доступных привелегий, описание тарифов из description See merge request frontend/squiz!263
This commit is contained in:
commit
86203e1a31
@ -81,7 +81,7 @@ const LazyLoading = ({ children, fallback }: SuspenseProps) => (
|
|||||||
<Suspense fallback={fallback ?? <></>}>{children}</Suspense>
|
<Suspense fallback={fallback ?? <></>}>{children}</Suspense>
|
||||||
);
|
);
|
||||||
|
|
||||||
function useUserAccountFetcher<T = UserAccount>({
|
export function useUserAccountFetcher<T = UserAccount>({
|
||||||
onError,
|
onError,
|
||||||
onNewUserAccount,
|
onNewUserAccount,
|
||||||
url,
|
url,
|
||||||
|
@ -51,7 +51,7 @@ export const createTariffElements = (
|
|||||||
}),
|
}),
|
||||||
}}
|
}}
|
||||||
headerText={tariff.name}
|
headerText={tariff.name}
|
||||||
text={tariff.privileges.map((p) => `${p.name} - ${p.amount}`)}
|
text={tariff.description}
|
||||||
price={
|
price={
|
||||||
<>
|
<>
|
||||||
{priceBeforeDiscounts !== priceAfterDiscounts && (
|
{priceBeforeDiscounts !== priceAfterDiscounts && (
|
||||||
|
@ -1,9 +1,34 @@
|
|||||||
import { Box, Typography } from "@mui/material";
|
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() {
|
export default function AvailablePrivilege() {
|
||||||
const user = useUserStore();
|
const user = useUserStore();
|
||||||
const userPrivileges = user.userAccount?.privileges;
|
const userPrivileges = user.userAccount?.privileges;
|
||||||
|
const userId = useUserStore((state) => state.userId);
|
||||||
|
const navigate = useNavigate();
|
||||||
|
useUserAccountFetcher<OriginalUserAccount>({
|
||||||
|
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);
|
console.log("это доступные привелегии", userPrivileges);
|
||||||
const DayForm = ["день", "дня", "дней"];
|
const DayForm = ["день", "дня", "дней"];
|
||||||
function declOfNum(n: number, text_forms: string[]) {
|
function declOfNum(n: number, text_forms: string[]) {
|
||||||
|
Loading…
Reference in New Issue
Block a user