import * as React from "react"; import { useState, useEffect } from "react"; import { useNavigate } from "react-router-dom"; import { AccordionDetails, AccordionSummary, Accordion, Skeleton, Radio, Box, Typography, TextField, Button, Table, TableHead, TableBody, TableCell, TableRow, } from "@mui/material"; import { GridSelectionModel } from "@mui/x-data-grid"; import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import ClearIcon from "@mui/icons-material/Clear"; import ConditionalRender from "@root/pages/Setting/ConditionalRender"; import ModalUser from "@root/pages/dashboard/ModalUser"; import ServiceUsersDG from "./ServiceUsersDG"; import { getRoles_mock, TMockData } from "../../../api/roles"; import theme from "../../../theme"; import type { UserType } from "../../../api/roles"; import { makeRequest } from "@frontend/kitui"; type RegisteredUsersResponse = { tatalPages: number; users: UserType[]; }; const baseUrl = process.env.NODE_ENV === "production" ? "" : "https://admin.pena.digital"; const Users: React.FC = () => { // makeRequest({ // url: "https://admin.pena.digital/strator/account", // method: "get", // bearer: true, // contentType: true, // }) const radioboxes = ["admin", "manager", "user"]; const [selectedValue, setSelectedValue] = React.useState("admin"); const handleChange = (event: React.ChangeEvent) => { setSelectedValue(event.target.value); if (selectedValue === "manager") { } }; const navigate = useNavigate(); const [data, setData] = React.useState([]); const handleChangeData = () => { getRoles_mock().then((mockdata) => { setData(mockdata); }); }; const [accordionHeader, setAccordionHeader] = React.useState("none"); const [accordionState, setAccordionState] = React.useState(true); const [accordionText, setAccordionText] = React.useState(""); const handleChangeAccordion = (text: string) => { if (text == "") { setAccordionState(true); setAccordionHeader("none"); } else { handleToggleAccordion(); setAccordionHeader("flex"); } accordionState ? setAccordionText(text) : setAccordionText(""); }; const handleToggleAccordion = () => { setAccordionState(!accordionState); }; handleChangeData(); const [roles, setRoles] = React.useState([]); const [users, setUsers] = React.useState([]); const [manager, setManager] = React.useState([]); const [openUserModal, setOpenUserModal] = useState(false); const [activeUserId, setActiveUserId] = useState(""); useEffect(() => { async function axiosRoles() { try { const rolesResponse = await makeRequest({ method: "get", url: baseUrl + "/strator/role/", }); setRoles(rolesResponse); } catch (error) { console.error("Ошибка при получении ролей!"); } } async function gettingRegisteredUsers() { try { const { users } = await makeRequest({ method: "get", url: baseUrl + "/user/", }); setUsers(users); } catch (error) { console.error("Ошибка при получении пользователей!"); } } async function gettingListManagers() { try { const { users } = await makeRequest({ method: "get", url: baseUrl + "/user/", }); setManager(users); } catch (error) { console.error("Ошибка при получении менеджеров!"); } } gettingListManagers(); gettingRegisteredUsers(); axiosRoles(); }, [selectedValue]); const [selectedTariffs, setSelectedTariffs] = useState( [] ); return ( handleToggleAccordion()} /> } aria-controls="panel1a-content" id="panel1a-header" > {accordionText} handleChangeAccordion("")} /> Имя Описание Отобразить {data.length ? ( data.map(function (item, index) { return ( handleChangeAccordion(item.desc)} > {item.name} {item.desc} ); }) ) : ( )}
{ setActiveUserId(userId); setOpenUserModal(true); }} /> } childrenUser={ { setActiveUserId(userId); setOpenUserModal(true); }} /> } />
); }; export default Users;