diff --git a/client/src/Types/AdminTableType.tsx b/client/src/Types/AdminTableType.tsx new file mode 100644 index 0000000..44ff662 --- /dev/null +++ b/client/src/Types/AdminTableType.tsx @@ -0,0 +1,9 @@ +export interface AdminTableType { + _id: string; + email: string; + created_at: Date; + updated_at?: Date; + title?: string; + name?: string; + roles?: string[]; +} \ No newline at end of file diff --git a/client/src/Types/LabelMap.tsx b/client/src/Types/LabelMap.tsx index 3678291..af2d26e 100644 --- a/client/src/Types/LabelMap.tsx +++ b/client/src/Types/LabelMap.tsx @@ -1,12 +1,2 @@ export type LabelMap = { [key: string]: string }; - -export interface AdminTableType { - _id: string; - email: string; - title: string; - created_at: Date; - updated_at: Date; - name: string; - roles: string[]; -} \ No newline at end of file diff --git a/client/src/components/AdminTable/AdminTable.tsx b/client/src/components/AdminTable/AdminTable.tsx index dba90a8..be5b594 100644 --- a/client/src/components/AdminTable/AdminTable.tsx +++ b/client/src/components/AdminTable/AdminTable.tsx @@ -21,8 +21,8 @@ import { } from "@mui/material"; import DeleteIcon from "@mui/icons-material/Delete"; import SearchIcon from "@mui/icons-material/Search"; -import { QuizTypeShort } from "../../Types/QuizType"; -import { LabelMap, AdminTableType } from "../../Types/LabelMap"; +import { AdminTableType } from "../../Types/AdminTableType"; +import { LabelMap } from "../../Types/LabelMap"; interface AdminTableProps { @@ -87,7 +87,7 @@ const AdminTable: React.FC = ({ { const [quizzes, setQuizzes] = useState([]); - const [filteredQuizzes, setFilteredQuizzes] = useState([]); const [monthlyQuizzes, setMonthlyQuizzes] = useState(0); const [totalUsers, setTotalUsers] = useState(0); const [loading, setLoading] = useState(true); - const [emailFilter, setEmailFilter] = useState(""); - const [dateFilter, setDateFilter] = useState(""); - const [expanded, setExpanded] = useState(false); useEffect(() => { const fetchStats = async () => { try { const data = await ApiService.getStats(); setQuizzes(data.quizzes); - setFilteredQuizzes(data.quizzes); setTotalUsers(data.total); const currentMonth = new Date().getMonth(); @@ -41,15 +35,6 @@ const Users: React.FC = () => { fetchStats(); }, []); - useEffect(() => { - const filtered = quizzes.filter(quiz => - quiz.email.toLowerCase().includes(emailFilter.toLowerCase()) && - ((new Date(quiz.created_at).toLocaleDateString().includes(dateFilter) || - new Date(quiz.updated_at).toLocaleDateString().includes(dateFilter))) - ); - setFilteredQuizzes(filtered); - }, [emailFilter, dateFilter, quizzes]); - const handleQuizDelete = (rowToDelete: AdminTableType) => { setQuizzes((prevData) => prevData.filter((row) => row._id !== rowToDelete._id)); }; diff --git a/client/src/pages/Admin/Users.tsx b/client/src/pages/Admin/Users.tsx index eeac721..055794c 100644 --- a/client/src/pages/Admin/Users.tsx +++ b/client/src/pages/Admin/Users.tsx @@ -1,8 +1,6 @@ import React, { useState, useEffect } from "react"; -import { Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Paper, IconButton } from "@mui/material"; -import DeleteIcon from "@mui/icons-material/Delete"; import ApiService from '../../services/ApiService'; -import { LabelMap, AdminTableType } from "../../Types/LabelMap"; +import { AdminTableType } from "../../Types/AdminTableType"; import AdminTable from "../../components/AdminTable/AdminTable"; const Users: React.FC = () => { @@ -12,7 +10,6 @@ const Users: React.FC = () => { const fetchUsers = async () => { try { const data = await ApiService.getUsers(); - console.log(data); setUsers(data); } catch (error) { console.error("Error fetching users:", error);