import React, { useEffect, useState } from "react"; import { apiRequest } from "@api/request"; import { useNotification } from "@hooks/useNotification"; import BaseButton from "@components/Common/BaseButton/BaseButton"; import { Footer } from "@components/Common/Footer/Footer"; import { Loader } from "@components/Common/Loader/Loader"; import { Navigation } from "@components/Navigation/Navigation"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader"; import tgSettingsIcon from "assets/icons/tgSettingsIcon.svg"; import astral from "assets/images/logo/astralLogo.png"; import kontur from "assets/images/logo/konturLogo.png"; import "./partnerSettings.scss"; export const PartnerSettings = () => { const { showNotification } = useNotification(); const [tgToken, setTgToken] = useState(); const [inputsValue, setInputsValue] = useState({ name: "", oldPassword: "", password: "" }); const [inputsError, setInputsError] = useState({ name: false, password: false }); const [loader, setLoader] = useState(false); const [tgLoader, setTgLoader] = useState(false); // useEffect(() => { // apiRequest("/user-tg-bot/get-token", { // method: "GET" // }).then((data) => { // setTgToken(data.token); // }); // }, []); const setSettings = () => { if (inputsValue.name.length < 2) { setInputsError((prevValue) => ({ ...prevValue, name: true })); return; } if (inputsValue.password.length < 6 || inputsValue.oldPassword.length < 6) { setInputsError(() => ({ name: false, password: true })); return; } setLoader(true); apiRequest("/user/change-personal-data", { method: "PUT", data: { newUsername: inputsValue.name } }).then((data) => { apiRequest("/user/change-password", { method: "PUT", data: { password: inputsValue.oldPassword, newPassword: inputsValue.password } }).then((data) => { setLoader(false); if (data.status === "success") { setInputsError({ name: false, password: false }); setInputsValue({ name: "", oldPassword: "", password: "" }); showNotification({ show: true, text: "Данные изменены", type: "success" }); } else { showNotification({ show: true, text: "Неверные данные", type: "error" }); } }); }); }; const handleGenerate = async () => { if (tgToken == undefined) { setTgLoader(true); apiRequest("/user-tg-bot/get-token", { method: "GET" }).then((data) => { setTgToken(data.token); showNotification({ show: true, text: "Телеграм токен успешно сгенерирован", type: "success" }); setTgLoader(false); }); } }; const handleCopy = async () => { if (tgToken !== undefined) { try { await navigator.clipboard.writeText(tgToken); showNotification({ show: true, text: "Телеграм токен успешно скопирован", type: "success" }); } catch (err) { showNotification({ show: true, text: "Ошибка копирования", type: "error" }); } } else { showNotification({ show: true, text: "Необходимо сгенерировать код", type: "error" }); } }; return (

Настройки профиля

Вход в систему

Изменение логина

{ setInputsValue((prevValue) => ({ ...prevValue, name: e.target.value })); setInputsError((prevValue) => ({ ...prevValue, name: false })); }} value={inputsValue.name} /> {inputsError.name && ( Минимум 2 символа )}

Изменение пароля

{ setInputsValue((prevValue) => ({ ...prevValue, oldPassword: e.target.value })); setInputsError((prevValue) => ({ ...prevValue, password: false })); }} value={inputsValue.oldPassword} /> {inputsError.password && ( Введите верный пароль )}
{ setInputsValue((prevValue) => ({ ...prevValue, password: e.target.value })); setInputsError((prevValue) => ({ ...prevValue, password: false })); }} value={inputsValue.password} /> {inputsError.password && ( Минимум 6 символов )}
Отмена {loader ? ( ) : ( Сохранить )}
Нажимая "Сохранить", вы соглашаетесь с Правилами обработки и использования персональных данных

Телеграмм бот

Тelegram токен

{tgToken}
{tgLoader ? ( ) : ( Сгенерировать )} Скопировать
Ссылка на телеграм бот с инструкцией
{/*

Документы и отчеты

Изменить провадера ЭДО

Изменение названия компании

Отмена Сохранить
Нажимая "Сохранить", вы соглашаетесь с Правилами обработки и использования персональных данных
*/}
); }; export default PartnerSettings;