import Stack from "@mui/material/Stack"; import MenuItem from "@mui/material/MenuItem"; import Typography from "@mui/material/Typography"; import { useSelector } from "react-redux"; import { Select } from "@/Components/inputs"; import { TableLogs } from "@/Pages/Logs/components/TableLogs"; import { useTheme } from "@mui/material"; import { useGet } from "@/Hooks/UseApi"; import { useState } from "react"; import type { Log, LogLevelOption } from "@/Types/Log"; import { LOG_LEVEL_OPTIONS } from "@/Types/Log"; import { t } from "i18next"; import type { RootState } from "@/Types/state"; export const TabLogs = () => { const theme = useTheme(); const { data: logs } = useGet("/logs"); const [selectedLogLevel, setSelectedLogLevel] = useState("all"); const [page, setPage] = useState(0); const rowsPerPage = useSelector( (state: RootState) => state?.ui?.logs?.rowsPerPage ?? 15 ); const filteredLogs = logs ?.filter((log) => { if (selectedLogLevel === "all") return true; return log.level === selectedLogLevel; }) .reverse() .map((log, idx) => ({ ...log, id: idx })); const paginatedLogs = filteredLogs?.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) ?? []; return ( ); };