From fe609a505b99ec54c76969e4eb7d35b4973243e9 Mon Sep 17 00:00:00 2001 From: c0mrade Date: Tue, 31 Mar 2026 18:06:24 +0300 Subject: [PATCH] fix: admin users search not working on pages beyond first Separated input state (searchInput/emailSearchInput) from committed search state (search/emailSearch) to prevent every keystroke from triggering API calls with stale pagination offset. --- src/pages/AdminUsers.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/pages/AdminUsers.tsx b/src/pages/AdminUsers.tsx index cb22df3..20ddca4 100644 --- a/src/pages/AdminUsers.tsx +++ b/src/pages/AdminUsers.tsx @@ -232,8 +232,6 @@ export default function AdminUsers() { const handleSearch = (e: React.FormEvent) => { e.preventDefault(); - setOffset(0); - loadUsers(); }; const totalPages = Math.ceil(total / limit); @@ -305,7 +303,10 @@ export default function AdminUsers() { setSearch(e.target.value)} + onChange={(e) => { + setSearch(e.target.value); + setOffset(0); + }} placeholder={t('admin.users.search')} className="w-full rounded-xl border border-dark-700 bg-dark-800 py-2 pl-10 pr-4 text-dark-100 placeholder-dark-500 focus:border-dark-600 focus:outline-none" /> @@ -319,7 +320,10 @@ export default function AdminUsers() { setEmailSearch(e.target.value)} + onChange={(e) => { + setEmailSearch(e.target.value); + setOffset(0); + }} placeholder={t('admin.users.searchEmail')} className="w-full rounded-xl border border-dark-700 bg-dark-800 py-2 pl-10 pr-4 text-dark-100 placeholder-dark-500 focus:border-dark-600 focus:outline-none" />