import React, { useState, useEffect, useCallback } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { Users, Search, RefreshCw, Plus, Eye, Edit, Trash2, ChevronLeft, ChevronRight, X, User } from 'lucide-react'; import styles from './UserManagement.module.css'; const UserManagement = ({ users, usersLoading, userPagination, setUserPagination, userFilter, setUserFilter, searchQuery, setSearchQuery, lastUpdate, formatLastUpdate, formatDate, handleManualRefresh, setShowAddUserModal, setSelectedUser, setShowUserModal, setEditingUser, deleteUser, setIsFormActive }) => { return (
{}

User Management

Last updated: {formatLastUpdate(lastUpdate)}
setSearchQuery(e.target.value)} /> {searchQuery && ( )}
{}
Name
Email
City
Phone
Status
Joined
Actions
{} {usersLoading ? ( Array.from({length: userPagination.limit}).map((_,i) => (
{[...Array(8)].map((_,j) => (
))}
)) ) : users.length > 0 ? ( users.map((user, index) => (
{user.name}
{user.email}
{user.recentCity}
{user.recentPhone}
{user.isActive ? 'Active' : 'Inactive'}
{formatDate(user?.createdAt)}
{ setSelectedUser(user); setShowUserModal(true); }} > { setEditingUser(user); setShowUserModal(true); }} > deleteUser(user._id)} >
)) ) : (

{searchQuery ? 'No users found matching your search' : 'No users found'}

{searchQuery ? 'Try adjusting your search terms' : 'Users will appear here once they register'}

{searchQuery ? ( ) : ( )}
)}
Page {userPagination.page} of {userPagination.pages}
); }; export default UserManagement;