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}
);
}