fix: table sorting blocked by pointerEvents:none during loading

Root cause: useListData set loading=true on every refetch, and all 4
admin list pages (offers, orders, invoices, projects) applied
pointerEvents:'none' while loading — blocking all clicks including
sort column headers.

Fix: removed setLoading(true) from refetch (matching PHP behavior)
and removed pointerEvents from all list page cards. Opacity fade
kept as visual feedback.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
BOHA
2026-03-23 10:57:17 +01:00
parent 56065c381b
commit 635c6fd0ff
5 changed files with 4 additions and 5 deletions

View File

@@ -449,7 +449,7 @@ export default function Invoices() {
</motion.div>
<motion.div className="admin-card" initial={{ opacity: 0, y: 12 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 0.25, delay: 0.15 }}
style={{ opacity: loading ? 0.6 : 1, transition: 'opacity 0.2s', pointerEvents: loading ? 'none' : 'auto' }}>
style={{ opacity: loading ? 0.6 : 1, transition: 'opacity 0.2s' }}>
<div className="admin-card-body">
<div className="admin-search-bar mb-4">
<input

View File

@@ -285,7 +285,7 @@ export default function Offers() {
initial={{ opacity: 0, y: 12 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.25, delay: 0.06 }}
style={{ opacity: loading ? 0.6 : 1, transition: 'opacity 0.2s', pointerEvents: loading ? 'none' : 'auto' }}
style={{ opacity: loading ? 0.6 : 1, transition: 'opacity 0.2s' }}
>
<div className="admin-card-body">
<div className="admin-search-bar mb-4">

View File

@@ -137,7 +137,7 @@ export default function Orders() {
initial={{ opacity: 0, y: 12 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.25, delay: 0.06 }}
style={{ opacity: loading ? 0.6 : 1, transition: 'opacity 0.2s', pointerEvents: loading ? 'none' : 'auto' }}
style={{ opacity: loading ? 0.6 : 1, transition: 'opacity 0.2s' }}
>
<div className="admin-card-body">
<div className="admin-search-bar mb-4">

View File

@@ -143,7 +143,7 @@ export default function Projects() {
initial={{ opacity: 0, y: 12 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.25, delay: 0.06 }}
style={{ opacity: loading ? 0.6 : 1, transition: 'opacity 0.2s', pointerEvents: loading ? 'none' : 'auto' }}
style={{ opacity: loading ? 0.6 : 1, transition: 'opacity 0.2s' }}
>
<div className="admin-card-body">
<div className="admin-search-bar mb-4">