'use client' import { coerceToString } from '@/helpers' import type { PaginationListColumnType } from '@/types' import PaginatedList from '@/components/PaginatedList' import StatusChip from '@/components/ui/StatusChip' import PageNavbar from '@/components/layouts/PageNavbar' import AdminTableViewButton from '@/components/ui/AdminTableViewButton' import { APP_ROUTES } from '@/constants/routes' import { getIdentityStatus, getUserAccountStatus, getUserRole, IDENTITY_STATUS_FILTER_ITEMS, USER_ACCOUNT_STATUS_FILTER_ITEMS, USER_ROLE_FILTER_ITEMS, } from '@/constants/status' import { API_ROUTES } from '@/services/config' import { formatIranianMobile, formatPersianDate } from '@/lib/formatters' const columns: PaginationListColumnType[] = [ { field: 'firstName', label: 'نام', filterable: true, type: 'text', sortable: false, }, { field: 'lastName', label: 'نام خانوادگی', filterable: true, type: 'text', sortable: false, }, { field: 'mobile', label: 'موبایل', filterable: true, type: 'text', sortable: true, }, { field: 'role', label: 'نقش', filterable: true, type: 'select', sortable: true, filterItems: USER_ROLE_FILTER_ITEMS, }, { field: 'status', label: 'وضعیت', filterable: true, type: 'select', sortable: true, filterItems: USER_ACCOUNT_STATUS_FILTER_ITEMS, }, { field: 'identityStatus', label: 'احراز هویت', filterable: true, type: 'select', sortable: false, filterItems: IDENTITY_STATUS_FILTER_ITEMS, }, { field: 'lastLoginAt', label: 'آخرین ورود', filterable: true, sortable: true, type: 'dateFromTo', }, { field: 'createdAt', label: 'تاریخ ثبت', filterable: true, sortable: true, type: 'dateFromTo', }, { field: 'actions', label: 'عملیات', }, ] const UsersPage = () => { return (
{{ mobile: (_row, cellValue) => formatIranianMobile(cellValue), role: (_row, cellValue) => , status: (_row, cellValue) => , identityStatus: (_row, cellValue) => , lastLoginAt: (_row, cellValue) => formatPersianDate(cellValue), createdAt: (_row, cellValue) => formatPersianDate(cellValue), actions: (row) => ( ), }}
) } export default UsersPage