diff --git a/frontend/src/component/admin/users/UsersList/UsersList.tsx b/frontend/src/component/admin/users/UsersList/UsersList.tsx
index 78f3e89f1c..e0a6189ac0 100644
--- a/frontend/src/component/admin/users/UsersList/UsersList.tsx
+++ b/frontend/src/component/admin/users/UsersList/UsersList.tsx
@@ -1,12 +1,5 @@
-import React, { useState, useEffect, useMemo } from 'react';
-import {
- Table,
- SortableTableHeader,
- TableBody,
- TableCell,
- TableRow,
- TablePlaceholder,
-} from 'component/common/Table';
+import React, { useEffect, useMemo, useState } from 'react';
+import { TablePlaceholder, VirtualizedTable } from 'component/common/Table';
import ChangePassword from './ChangePassword/ChangePassword';
import DeleteUser from './DeleteUser/DeleteUser';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
@@ -23,7 +16,12 @@ import { PageHeader } from 'component/common/PageHeader/PageHeader';
import { Button, useMediaQuery } from '@mui/material';
import { SearchHighlightProvider } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext';
import { UserTypeCell } from './UserTypeCell/UserTypeCell';
-import { useGlobalFilter, useSortBy, useTable } from 'react-table';
+import {
+ useFlexLayout,
+ useGlobalFilter,
+ useSortBy,
+ useTable,
+} from 'react-table';
import { sortTypes } from 'utils/sortTypes';
import { HighlightCell } from 'component/common/Table/cells/HighlightCell/HighlightCell';
import { TextCell } from 'component/common/Table/cells/TextCell/TextCell';
@@ -112,7 +110,8 @@ const UsersList = () => {
Cell: DateCell,
disableGlobalFilter: true,
sortType: 'date',
- minWidth: 120,
+ width: 120,
+ maxWidth: 120,
},
{
Header: 'Avatar',
@@ -124,20 +123,19 @@ const UsersList = () => {
),
disableGlobalFilter: true,
disableSortBy: true,
+ maxWidth: 80,
},
{
id: 'name',
Header: 'Name',
accessor: (row: any) => row.name || '',
- width: '40%',
- Cell: HighlightCell,
- },
- {
- id: 'username',
- Header: 'Username',
- accessor: (row: any) => row.username || row.email,
- width: '40%',
- Cell: HighlightCell,
+ minWidth: 200,
+ Cell: ({ row: { original: user } }: any) => (
+
+ ),
},
{
id: 'role',
@@ -146,6 +144,7 @@ const UsersList = () => {
roles.find((role: IRole) => role.id === row.rootRole)
?.name || '',
disableGlobalFilter: true,
+ maxWidth: 120,
},
{
id: 'last-login',
@@ -160,7 +159,7 @@ const UsersList = () => {
),
disableGlobalFilter: true,
sortType: 'date',
- minWidth: 150,
+ maxWidth: 150,
},
{
Header: 'Actions',
@@ -175,7 +174,7 @@ const UsersList = () => {
onDelete={openDelDialog(user)}
/>
),
- width: 100,
+ width: 150,
disableGlobalFilter: true,
disableSortBy: true,
},
@@ -193,8 +192,6 @@ const UsersList = () => {
const data = isBillingUsers ? planUsers : users;
const {
- getTableProps,
- getTableBodyProps,
headerGroups,
rows,
prepareRow,
@@ -203,7 +200,7 @@ const UsersList = () => {
setHiddenColumns,
} = useTable(
{
- columns: columns,
+ columns: columns as any,
data,
initialState,
sortTypes,
@@ -215,7 +212,8 @@ const UsersList = () => {
},
},
useGlobalFilter,
- useSortBy
+ useSortBy,
+ useFlexLayout
);
useEffect(() => {
@@ -224,10 +222,10 @@ const UsersList = () => {
hiddenColumns.push('type');
}
if (isSmallScreen) {
- hiddenColumns.push('createdAt', 'username');
+ hiddenColumns.push('createdAt', 'last-login');
}
if (isExtraSmallScreen) {
- hiddenColumns.push('imageUrl', 'role', 'last-login');
+ hiddenColumns.push('imageUrl', 'role');
}
setHiddenColumns(hiddenColumns);
}, [setHiddenColumns, isExtraSmallScreen, isSmallScreen, isBillingUsers]);
@@ -258,23 +256,11 @@ const UsersList = () => {
}
>
-
-
-
- {rows.map(row => {
- prepareRow(row);
- return (
-
- {row.cells.map(cell => (
-
- {cell.render('Cell')}
-
- ))}
-
- );
- })}
-
-
+