import { Box, Table, Flex } from '@rocket.chat/fuselage';
import { useMediaQuery, useAutoFocus } from '@rocket.chat/fuselage-hooks';
import React, { useMemo, useState, useCallback } from 'react';
import FilterByText from '../../components/FilterByText';
import GenericTable from '../../components/GenericTable';
import MarkdownText from '../../components/MarkdownText';
import UserAvatar from '../../components/avatar/UserAvatar';
import { usePermission } from '../../contexts/AuthorizationContext';
import { useRoute } from '../../contexts/RouterContext';
import { useTranslation } from '../../contexts/TranslationContext';
import { useEndpointData } from '../../hooks/useEndpointData';
import { useFormatDate } from '../../hooks/useFormatDate';
import { useQuery } from './hooks';
function UserTable({ workspace = 'local' }) {
const [params, setParams] = useState({ current: 0, itemsPerPage: 25 });
const [sort, setSort] = useState(['name', 'asc']);
const canViewFullOtherUserInfo = usePermission('view-full-other-user-info');
const t = useTranslation();
const federation = workspace === 'external';
const query = useQuery(params, sort, 'users', workspace);
const mediaQuery = useMediaQuery('(min-width: 1024px)');
const onHeaderClick = useCallback(
(id) => {
const [sortBy, sortDirection] = sort;
if (sortBy === id) {
setSort([id, sortDirection === 'asc' ? 'desc' : 'asc']);
return;
}
setSort([id, 'asc']);
},
[sort],
);
const header = useMemo(
() =>
[