import React, { useState, useEffect } from "react"; import axios from "axios"; import { useNavigate, useParams } from "react-router-dom"; import { Box, Button, Typography } from "@mui/material"; import Checkbox from "@mui/material/Checkbox"; import _nav from "src/_nav"; import { isAutheticated } from "src/auth"; const EditEmployee = () => { const { id } = useParams(); const token = isAutheticated(); const navigate = useNavigate(); const [employeeName, setEmployeeName] = useState(""); const [phone, setPhone] = useState(""); const [checkedItems, setCheckedItems] = useState({}); const filteredNav = _nav.filter((item) => item.name !== "Employee"); const handleCheckboxChange = (name) => (event) => { setCheckedItems({ ...checkedItems, [name]: event.target.checked, }); }; useEffect(() => { const getSingleEmployee = async () => { try { const response = await axios.get(`/api/v1/admin/user/${id}`, { headers: { Authorization: `Bearer ${token}`, }, }); const { name, phone, accessTo } = response.data.user; setEmployeeName(name); setPhone(phone); setCheckedItems(accessTo); } catch (error) { console.error("Error fetching employee:", error); } }; getSingleEmployee(); }, [id, token]); const handleUpdateEmployee = async () => { try { await axios.put( `/api/v1/admin/update-employee/${id}`, { name: employeeName, phone: phone, accessTo: checkedItems, }, { headers: { Authorization: `Bearer ${token}`, }, } ); navigate("/employee"); } catch (error) { console.error("Error updating employee:", error); } }; return (
Update Employee
setEmployeeName(e.target.value)} />
setPhone(e.target.value)} />
{filteredNav.map((item, index) => (
{item.name}
))}
); }; export default EditEmployee;