import {Box, FormControl, FormHelperText, IconButton, MenuItem, Select, Stack, Typography} from "@mui/material"; import {useMemo} from "react"; import {GET_USER_MANAGEMENT} from "@/core/data/apiRoutes"; import {useTranslations} from "next-intl"; import DataTable from "@/core/components/DataTable"; import moment from "jalali-moment"; import MuiDatePicker from "@/core/components/MuiDatePicker"; import TableToolbar from "@/components/dashboard/user-management/TableToolbar"; import TableRowActions from "./TableRowActions" import ClearIcon from "@mui/icons-material/Clear"; function DashboardUserManagementComponent() { const t = useTranslations(); const columns = useMemo(() => [{ accessorFn: (row) => row.id, id: "id", sortDescFirst: true, header: t("UserManagement.id"), enableColumnFilter: true, datatype: "numeric", filterFn: "equals", columnFilterModeOptions: ["equals", "notEquals", "contains", "lessThan", "greaterThan", "between",], Cell: ({renderedCellValue}) => ({renderedCellValue}), }, { accessorFn: (row) => row.navgan_id, id: "navgan_id", header: t("UserManagement.navgan_id"), enableColumnFilter: true, datatype: "text", filterFn: "contains", columnFilterModeOptions: ["contains", "equals", "notEquals"], Cell: ({renderedCellValue}) => ({renderedCellValue}), }, { accessorFn: (row) => row.national_id, id: "national_id", header: t("UserManagement.national_id"), enableColumnFilter: true, datatype: "numeric", filterFn: "equals", columnFilterModeOptions: ["equals", "notEquals", "contains", "lessThan", "greaterThan", "between",], Cell: ({renderedCellValue}) => ({renderedCellValue}), }, { accessorFn: (row) => row.phone_number, id: "phone_number", header: t("UserManagement.phone_number"), enableColumnFilter: true, datatype: "numeric", filterFn: "equals", columnFilterModeOptions: ["equals", "notEquals", "contains", "lessThan", "greaterThan", "between",], Cell: ({renderedCellValue}) => ({renderedCellValue}), }, { accessorFn: (row) => moment(row.created_at).locale("fa").format("HH:mm | yyyy/MM/DD"), id: "created_at", header: t("UserManagement.created_at"), enableColumnFilter: true, datatype: "date", filterFn: "lessThan", columnFilterModeOptions: ["lessThan", "greaterThan"], Cell: ({renderedCellValue}) => { return {renderedCellValue}; }, Header: ({column}) => <>{column.columnDef.header}, Filter: ({column}) => { return (); }, }, { accessorFn: (row) => moment(row.updated_at).locale("fa").format("HH:mm | yyyy/MM/DD"), id: "updated_at", header: t("UserManagement.updated_at"), enableColumnFilter: false, datatype: "numeric", Cell: ({renderedCellValue}) => ({renderedCellValue}), }, { accessorFn: (row) => row.type_name, id: "type_id", header: t("UserManagement.type_name"), enableColumnFilter: true, datatype: "numeric", filterFn: "equals", columnFilterModeOptions: ["equals"], Cell: ({renderedCellValue}) => ({renderedCellValue}), Header: ({column}) => <>{column.columnDef.header}, Filter: ({column}) => { return ( {t("filter_mode")}: {t(column.columnDef._filterFn)} { column.setFilterValue(null); }} sx={{ color: column.getFilterValue() ? "rgba(0, 0, 0, 0.54)" : "#bfbfbf" }} > ) } },], []); return ( ); } export default DashboardUserManagementComponent;