feat: implement UsersContext and refactor user management hooks for improved user data handling

This commit is contained in:
2026-01-25 12:17:30 -06:00
parent f2dd053320
commit 4548d959d7
10 changed files with 576 additions and 120 deletions

View File

@@ -21,7 +21,7 @@ import InviteStaffDialog from '../../components/InviteStaffDialog';
import WordPressImportWizard from '../../components/WordPressImportWizard';
import StatusBadge from '../../components/StatusBadge';
import { StatCard } from '@/components/StatCard';
import useMembers from '../../hooks/use-members';
import { useMembers } from '../../hooks/use-users';
const AdminMembers = () => {
const navigate = useNavigate();
@@ -35,7 +35,7 @@ const AdminMembers = () => {
setSearchQuery,
filterValue: statusFilter,
setFilterValue: setStatusFilter,
fetchMembers,
refetch,
} = useMembers();
const [paymentDialogOpen, setPaymentDialogOpen] = useState(false);
const [selectedUserForPayment, setSelectedUserForPayment] = useState(null);
@@ -53,7 +53,7 @@ const AdminMembers = () => {
};
const handlePaymentSuccess = () => {
fetchMembers(); // Refresh list
refetch(); // Refresh list
};
const handleStatusChangeRequest = (userId, currentStatus, newStatus, user) => {
@@ -74,7 +74,7 @@ const AdminMembers = () => {
try {
await api.put(`/admin/users/${userId}/status`, { status: newStatus });
toast.success('Member status updated successfully');
fetchMembers(); // Refresh list
refetch(); // Refresh list
} catch (error) {
toast.error(error.response?.data?.detail || 'Failed to update status');
} finally {
@@ -520,19 +520,19 @@ const AdminMembers = () => {
<CreateMemberDialog
open={createDialogOpen}
onOpenChange={setCreateDialogOpen}
onSuccess={fetchMembers}
onSuccess={refetch}
/>
<InviteStaffDialog
open={inviteDialogOpen}
onOpenChange={setInviteDialogOpen}
onSuccess={fetchMembers}
onSuccess={refetch}
/>
<WordPressImportWizard
open={importDialogOpen}
onOpenChange={setImportDialogOpen}
onSuccess={fetchMembers}
onSuccess={refetch}
/>
</>
);