import React from "react"; import { Box, Typography } from "@mui/material"; import Card from "@mui/material/Card"; import IconButton from "@mui/material/IconButton"; import PropTypes from "prop-types"; import { useTheme } from "@mui/material/styles"; import Table from "@mui/material/Table"; import TableHead from "@mui/material/TableHead"; import TableBody from "@mui/material/TableBody"; import TableCell from "@mui/material/TableCell"; import TableContainer from "@mui/material/TableContainer"; import TableFooter from "@mui/material/TableFooter"; import TablePagination from "@mui/material/TablePagination"; import TableRow from "@mui/material/TableRow"; import Paper from "@mui/material/Paper"; import FirstPageIcon from "@mui/icons-material/FirstPage"; import KeyboardArrowLeft from "@mui/icons-material/KeyboardArrowLeft"; import KeyboardArrowRight from "@mui/icons-material/KeyboardArrowRight"; import LastPageIcon from "@mui/icons-material/LastPage"; import Tooltip from "@mui/material/Tooltip"; function MyTask(props) { const theme = useTheme(); const { count, page, rowsPerPage, onPageChange } = props; const handleFirstPageButtonClick = (event) => { onPageChange(event, 0); }; const handleBackButtonClick = (event) => { onPageChange(event, page - 1); }; const handleNextButtonClick = (event) => { onPageChange(event, page + 1); }; const handleLastPageButtonClick = (event) => { onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1)); }; return ( {theme.direction === "rtl" ? : } {theme.direction === "rtl" ? ( ) : ( )} = Math.ceil(count / rowsPerPage) - 1} aria-label="next page" > {theme.direction === "rtl" ? ( ) : ( )} = Math.ceil(count / rowsPerPage) - 1} aria-label="last page" > {theme.direction === "rtl" ? : } ); } MyTask.propTypes = { count: PropTypes.number.isRequired, onPageChange: PropTypes.func.isRequired, page: PropTypes.number.isRequired, rowsPerPage: PropTypes.number.isRequired, }; function createData(name, startDate, endDate, status, badgeClass, budget) { return { name, startDate, endDate, status, badgeClass, budget }; } const rows = [ createData( "Public Beta Release", "1 Jan 2022", "1 Apr 2022", "Completed", "successBadge", "$1250" ), createData( "Fix Platform Errors", "1 Mar 2022", "1 May 2022", "Completed", "successBadge", "$1550" ), createData( "Launch our Mobile App", "15 Apr 2022", "15 Jun 2022", "On Going", "primaryBadge", "$2500" ), createData( "Add the New Pricing Page", "15 May 2022", "15 Jun 2022", "Pending", "dangerBadge", "$100" ), createData( "Redesign New Online Shop", "15 Jun 2022", "15 Aug 2022", "On Going", "primaryBadge", "$1000" ), createData( "Material Ui Design", "15 Jul 2022", "15 Sep 2022", "On Going", "primaryBadge", "$2200" ), createData( "Add Progress Track", "15 Mar 2022", "15 May 2022", "Completed", "successBadge", "$1400" ), createData( "Web Design", "15 Aug 2022", "15 Dec 2022", "On Going", "primaryBadge", "$4000" ), createData( "Web Development", "15 Nov 2022", "15 Jan 2023", "On Going", "primaryBadge", "$400" ), createData( "React App Development", "15 Jan 2022", "15 Mar 2022", "Completed", "successBadge", "$1200" ), createData( "eCommerce Development", "15 Mar 2022", "15 May 2022", "On Going", "primaryBadge", "$250" ), createData( "App Development", "15 May 2022", "15 Jul 2022", "On Going", "primaryBadge", "$3400" ), ].sort((a, b) => (a.name < b.name ? -1 : 1)); const MyTasks = () => { const [page, setPage] = React.useState(0); const [rowsPerPage, setRowsPerPage] = React.useState(8); // Avoid a layout jump when reaching the last page with empty rows. const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - rows.length) : 0; const handleChangePage = (event, newPage) => { setPage(newPage); }; const handleChangeRowsPerPage = (event) => { setRowsPerPage(parseInt(event.target.value, 10)); setPage(0); }; return ( <> My Tasks Name Start Date End Date Status Budget {(rowsPerPage > 0 ? rows.slice( page * rowsPerPage, page * rowsPerPage + rowsPerPage ) : rows ).map((row) => ( {row.name} {row.startDate} {row.endDate} {row.status} {row.budget} ))} {emptyRows > 0 && ( )}
); }; export default MyTasks;