import React, { ChangeEvent, useEffect, useState } from "react";
import { getUsersList, useGetUsersData } from "../../APIs/ManageUsersAPIs/getUsersList";
import {
Table,
TableBody,
TableCell,
TableContainer,
TableHead,
TableRow,
tableRowClasses,
Paper,
Button,
IconButton,
TextField,
Dialog,
DialogTitle,
DialogContent,
DialogActions,
TablePagination,
} from '@mui/material';
import DeleteIcon from '@mui/icons-material/Delete';
import EditIcon from '@mui/icons-material/Edit';
import AddIcon from '@mui/icons-material/Add';
const StyledTextField = (props:any) => (
);
interface Row {
name: string;
email: string;
last_login:string;
active:boolean|string;
}
export default function ManageUsers(){
const [manageUsersData,setManageUsersData] = useState()
const { data: manageUsersResponse, isLoading, isError } = useGetUsersData();
const [data, setData] = useState([]);
const [open, setOpen] = useState(false);
const [selectedRow, setSelectedRow] = useState();
const [newRow, setNewRow] = useState();
const [page, setPage] = React.useState(0);
const [rowsPerPage, setRowsPerPage] = React.useState(10);
const handleChangePage = (event:any, newPage:any) => {
setPage(newPage);
};
const handleChangeRowsPerPage = (event:any) => {
setRowsPerPage(+event.target.value);
setPage(0);
};
const handleEdit = (row: Row) => {
setSelectedRow({...row});
setOpen(true);
};
const handleSave = () => {
// if (selectedRow.id) {
// const updatedData = data.map((row) => (row.id === selectedRow.id ? selectedRow : row));
// setData(updatedData);
// } else {
const id = data.length + 1;
setData([...data, { ...selectedRow, id }]);
// }
setOpen(false);
setSelectedRow({name: '', email: '', last_login: '', active: '' });
setNewRow({name: '', email: '', last_login: '', active: '' });
};
const handleClose = () => {
setOpen(false);
setSelectedRow({name: '', email: '', last_login: '', active: '' });
setNewRow({name: '', email: '', last_login: '', active: '' });
};
const handleChange = (e: ChangeEvent) => {
const { name, value } = e.target;
if (selectedRow) {
// Editing existing row
setSelectedRow({ ...selectedRow, [name]: value });
} else {
// Adding a new row
setNewRow({ ...newRow, [name]: value });
}
};
const handleOpen = () => {
setOpen(true);
};
console.log(selectedRow,"sdfhhgfdg")
return(
} onClick={handleOpen}>
New
Name
Email Id
Last Login
Active
{manageUsersResponse && manageUsersResponse.map((row:any) => (
handleEdit(row)} aria-label="edit">
{/* handleDelete(row.id)} aria-label="delete">
*/}
{row.username}
{row.email_id}
{row.last_login}
{row.active?
Active
:
Inactive}
))}
)
}