diff --git a/src/APIs/IntranetUsersAPIs/getUsersList.tsx b/src/APIs/IntranetUsersAPIs/getUsersList.tsx
new file mode 100644
index 0000000..75ec8fe
--- /dev/null
+++ b/src/APIs/IntranetUsersAPIs/getUsersList.tsx
@@ -0,0 +1,19 @@
+import {useQuery} from '@tanstack/react-query'
+
+export const getIntranetUsersList = async()=>{
+ const response = await fetch(`${process.env.REACT_APP_API_URL}/intranet-users-list`);
+ if (!response.ok) {
+ throw new Error('Failed to get User list data');
+ }
+ const UserListData = await response.json()
+ return UserListData;
+}
+
+export const useGetIntranetUsersData = () => {
+ return useQuery(
+ {
+ queryKey: ['IntranetUsers-list'],
+ queryFn: () => getIntranetUsersList(),
+ }
+ );
+}
\ No newline at end of file
diff --git a/src/App.tsx b/src/App.tsx
index 215f095..3689aa3 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -8,6 +8,7 @@ import Dashboard from './components/Dashboard';
import Projects from './components/projects/Projects';
import { ReactQueryDevtools} from 'react-query/devtools'
import ManageUsers from './components/manage_users/ManageUsers';
+import IntranetUsers from './components/intranet_users/IntranetUsers';
function App() {
const queryClient = new QueryClient();
@@ -20,6 +21,7 @@ function App() {
} />
} />
} />
+ } />
diff --git a/src/components/Header.tsx b/src/components/Header.tsx
index 0f63c8a..dec4756 100644
--- a/src/components/Header.tsx
+++ b/src/components/Header.tsx
@@ -106,6 +106,10 @@ function Header() {
MANAGE USERS
+
@@ -165,6 +169,15 @@ function Header() {
>
MANAGE USERS
+
diff --git a/src/components/intranet_users/IntranetUsers.tsx b/src/components/intranet_users/IntranetUsers.tsx
new file mode 100644
index 0000000..401c111
--- /dev/null
+++ b/src/components/intranet_users/IntranetUsers.tsx
@@ -0,0 +1,208 @@
+import React, { ChangeEvent, useEffect, useState } from "react";
+import { useGetIntranetUsersData } from "../../APIs/IntranetUsersAPIs/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';
+import { postNewManageUsersData } from "../../APIs/ManageUsersAPIs/postAddUser";
+
+
+const StyledTextField = (props:any) => (
+
+ );
+
+ interface Row {
+ username: string;
+ role: string;
+ active:any;
+ }
+
+export default function IntranetUsers(){
+ const [manageUsersData,setManageUsersData] = useState()
+ const { data: manageUsersResponse, isLoading, isError } = useGetIntranetUsersData();
+ 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);
+
+ useEffect(()=>{
+ if (!open){
+ setSelectedRow({username: '', role: '', active: '' });
+ setNewRow({username: '', role: '', active: '' });
+ }
+ },[open])
+ useEffect(() => {
+ if (selectedRow){
+ postNewManageUsersData(selectedRow);
+ }
+ },[data])
+
+ 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);
+ };
+
+ const handleClose = () => {
+ setOpen(false);
+ setSelectedRow({username: '', role: '', active: '' });
+ setNewRow({username: '', role: '', 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
+ Role
+ Active
+
+
+
+ {manageUsersResponse && manageUsersResponse.map((row:any) => (
+
+
+ handleEdit(row)} aria-label="edit">
+
+
+ {/* handleDelete(row.id)} aria-label="delete">
+
+ */}
+
+ {row.username}
+ {row.role}
+ {row.active==1?
+ Active
+ :
+ Inactive}
+
+ ))}
+
+
+
+
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/src/components/manage_users/ManageUsers.tsx b/src/components/manage_users/ManageUsers.tsx
index 7f178e5..718a324 100644
--- a/src/components/manage_users/ManageUsers.tsx
+++ b/src/components/manage_users/ManageUsers.tsx
@@ -22,7 +22,6 @@ import DeleteIcon from '@mui/icons-material/Delete';
import EditIcon from '@mui/icons-material/Edit';
import AddIcon from '@mui/icons-material/Add';
import { postNewManageUsersData } from "../../APIs/ManageUsersAPIs/postAddUser";
-import { useMutation } from '@tanstack/react-query';
const StyledTextField = (props:any) => (