import React, { useEffect, useState } from "react"; import { ChevronDown } from "react-feather"; import { Card, CardHeader, CardTitle, Input, Label, Row, Col, } from "reactstrap"; import DataTable from "react-data-table-component"; import ReactPaginate from "react-paginate"; import { useTranslation } from "react-i18next"; import { useSelector, useDispatch } from "react-redux"; import { getUserHistory } from "../redux/actions/userHistory"; const UserActivity = () => { const dispatch = useDispatch(); const { t } = useTranslation(); const serverSideColumns = [ { name: t("Activities.type"), selector: (row) => row.logType, sortable: true, maxWidth: "500px", }, { name: t("Activities.message"), selector: (row) => row.logMessage, sortable: true, maxWidth: "500px", }, { name: t("Time"), selector: (row) => row.createdDateTime, sortable: false, minWidth: "350px", cell: (row) => ( {row.createdDateTime ? new Date(row.createdDateTime).toLocaleString("tr-TR") : "-"} ), }, ]; const [currentPage, setCurrentPage] = useState(1); const [rowsPerPage, setRowsPerPage] = useState(5); const userHistoriesStore = useSelector((state) => state.userHistory); const [userHistories, setUserHistories] = useState([]); useEffect(() => { dispatch(getUserHistory({ currentPage, rowsPerPage })); }, [currentPage, rowsPerPage]); useEffect(() => { if (userHistoriesStore.userHistories?.content) { setUserHistories(userHistoriesStore.userHistories?.content); } }, [ userHistoriesStore?.userHistories?.content?.length, userHistoriesStore?.userHistories, ]); const handlePagination = (page) => { setCurrentPage(page.selected + 1); setUserHistories(userHistoriesStore.userHistories?.content); }; const handlePerPage = (e) => { setCurrentPage(1); setRowsPerPage(parseInt(e.target.value)); setUserHistories(userHistoriesStore.userHistories?.content); }; const CustomPagination = () => { const count = Number( ( userHistoriesStore?.userHistories?.pageInfo?.totalElements / rowsPerPage ).toFixed(1) ); return ( handlePagination(page)} pageClassName={"page-item"} nextLinkClassName={"page-link"} nextClassName={"page-item next"} previousClassName={"page-item prev"} previousLinkClassName={"page-link"} pageLinkClassName={"page-link"} breakClassName="page-item" breakLinkClassName="page-link" containerClassName={ "pagination react-paginate separated-pagination pagination-sm justify-content-end pr-1 mt-1" } /> ); }; const ExpandableTable = ({ data }) => { return (

{data?.logType}

{data.logMessage}

); }; return (
Kullanıcı Aktiviteleri
handlePerPage(e)} >
} paginationComponent={CustomPagination} expandableRows expandOnRowClicked expandableRowsComponent={ExpandableTable} data={[...userHistories]} noDataComponent={

{t("Activities.activity")} {t("Warnings.notFound")}

} />
); }; export default UserActivity;