import { Box, SxProps, Theme, Typography, useMediaQuery, useTheme } from "@mui/material"; import CustomButton from "@components/CustomButton"; import InputTextfield from "@components/InputTextfield"; import SectionWrapper from "@components/SectionWrapper"; import ComplexNavText from "@root/components/ComplexNavText"; import { openDocumentsDialog, sendUserData, setSettingsField, useUserStore } from "@root/stores/user"; import UnderlinedButtonWithIcon from "@root/components/UnderlinedButtonWithIcon"; import UploadIcon from "@root/components/icons/UploadIcon"; import { VerificationStatus } from "@root/model/user"; import DocumentsDialog from "./DocumentsDialog/DocumentsDialog"; import EyeIcon from "@root/components/icons/EyeIcon"; import { cardShadow } from "@root/utils/themes/shadow"; export default function AccountSetup() { const theme = useTheme(); const upMd = useMediaQuery(theme.breakpoints.up("md")); const upSm = useMediaQuery(theme.breakpoints.up("sm")); const fields = useUserStore(state => state.settingsFields); const verificationStatus = useUserStore(state => state.verificationStatus); const verificationType = useUserStore(state => state.verificationType); const textFieldProps = { gap: upMd ? "16px" : "10px", color: "#F2F3F7", bold: true, }; return ( Настройки аккаунта setSettingsField("name", e.target.value)} id="name" label="Имя" {...textFieldProps} /> setSettingsField("surname", e.target.value)} id="surname" label="Фамилия" {...textFieldProps} /> setSettingsField("middleName", e.target.value)} id="middleName" label="Отчество" {...textFieldProps} /> setSettingsField("companyName", e.target.value)} id="companyName" label="Название компании" {...textFieldProps} /> setSettingsField("email", e.target.value)} id="email" label="E-mail" {...textFieldProps} /> setSettingsField("phoneNumber", e.target.value)} id="phoneNumber" label="Телефон" {...textFieldProps} /> setSettingsField("password", e.target.value)} id="password" label="Пароль" {...textFieldProps} /> Статус {verificationStatus === "notVerificated" && <> } sx={{ mt: "55px" }} ButtonProps={{ onClick: () => openDocumentsDialog("juridical"), }} >Загрузить документы для юр лиц } sx={{ mt: "15px" }} ButtonProps={{ onClick: () => openDocumentsDialog("nko"), }} >Загрузить документы для НКО } {verificationStatus === "verificated" && } sx={{ mt: "55px" }} ButtonProps={{ onClick: () => openDocumentsDialog(verificationType), }} >Посмотреть свою верификацию } Сохранить ); } const verificationStatusData: Record = { "verificated": { text: "Верификация пройдена", color: "#0D9F00", }, "waiting": { text: "В ожидании верификации", color: "#F18956", }, "notVerificated": { text: "Не верифицирован", color: "#E02C2C", }, }; function VerificationIndicator({ verificationStatus, sx }: { verificationStatus: VerificationStatus; sx?: SxProps; }) { return ( {verificationStatusData[verificationStatus].text} ); }