import { useEffect, useState } from "react" import { ModalContainer, ModalTitle, ModalContent, ModalText, ButtonContainer } from "../style" import Input from "../../UI/inputs/input" import { MainButton } from "../../UI/buttons/mainButton" import { NetworkService } from "../../../api/request" import { useIpStore } from "../../../store" import { useAdminStore } from "../../../store/adminStore" import { useCheckAdmin } from "../../../utils/checkAdmin" import { buttonNames } from "../../../const/buttons/names" import { IconComponent } from "../../../const/buttons/icons" interface Props { onClose: () => void; } export const RightsConfirm = ({ onClose }: Props) => { const { ipAddress } = useIpStore(); const { isAdmin, setAdmin } = useAdminStore() const checkAdmin = useCheckAdmin(); const [error, setError] = useState(false) const [success, setSuccess] = useState({ message: '', status: false }) const [user, setUser] = useState({ username: 'operator', password: "" }) const handleChange = (id: string, value: string) => { setUser(prevData => ({ ...prevData, [id]: value })); } const login = async (user: object) => { try { const response = await NetworkService.login(ipAddress, user); if(response.status === 200){ await checkAdmin(); setError(false) setSuccess(prevData => ({ ...prevData, message: 'Успешный вход', status: true })); await new Promise(resolve => setTimeout(resolve, 3000)); onClose(); }else{ setError(true) } } catch (err) { console.error('Error:', err); } } const logout = async () => { await NetworkService.logout(ipAddress); await checkAdmin(); setSuccess(prevData => ({ ...prevData, message: 'Успешный выход', status: true })); await new Promise(resolve => setTimeout(resolve, 3000)); onClose(); } return ( {!success.status ? ( !isAdmin ? ( <>

Получение прав доступа

Включить административный доступ

handleChange('password', value)} /> {error && (

Неверный пароль оператора

)}
login(user)} /> ) : ( <>

Переключиться на ограниченный доступ

В данном режиме доступа ограничиваются полномочия администратора.

) ):(

{success.message}

Это окно можно закрыть, либо оно пропадёт само

)}
) }