/* 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'; import UsersActions from './UsersActions'; import UsersFilters from './UsersFilters'; import UsersDescription from './UsersDescription'; import AddUserModal from './modals/AddUserModal'; import EditUserModal from './modals/EditUserModal'; import { useUsersData } from '../../../hooks/users/useUsersData'; import { useIsMobile } from '../../../hooks/common/useIsMobile'; import { createCardProPagination } from '../../../helpers/utils'; const UsersPage = () => { const usersData = useUsersData(); const isMobile = useIsMobile(); 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, isMobile: isMobile, t: usersData.t, })} t={usersData.t} >
); }; export default UsersPage;