/* Copyright (C) 2025 QuantumNous This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ import React from 'react'; import CardPro from '../../common/ui/CardPro'; import UsersTable from './UsersTable.jsx'; import UsersActions from './UsersActions.jsx'; import UsersFilters from './UsersFilters.jsx'; import UsersDescription from './UsersDescription.jsx'; import AddUserModal from './modals/AddUserModal.jsx'; import EditUserModal from './modals/EditUserModal.jsx'; import { useUsersData } from '../../../hooks/users/useUsersData'; import { createCardProPagination } from '../../../helpers/utils'; const UsersPage = () => { const usersData = useUsersData(); const { // Modal state showAddUser, showEditUser, editingUser, setShowAddUser, closeAddUser, closeEditUser, refresh, // Form state formInitValues, setFormApi, searchUsers, loadUsers, activePage, pageSize, groupOptions, loading, searching, // Description state compactMode, setCompactMode, // Translation t, } = usersData; return ( <> } actionsArea={
} paginationArea={createCardProPagination({ currentPage: usersData.activePage, pageSize: usersData.pageSize, total: usersData.userCount, onPageChange: usersData.handlePageChange, onPageSizeChange: usersData.handlePageSizeChange, })} t={t} >
); }; export default UsersPage;