From 7c8bcb58dcf5097fd9e0778638f616d9feb18d72 Mon Sep 17 00:00:00 2001 From: VPS 4 Deploy Agent Date: Mon, 11 May 2026 07:08:25 +0200 Subject: [PATCH] =?UTF-8?q?fix(inbox):=20preloader=20aparece=20desde=20o?= =?UTF-8?q?=20primeiro=20render=20at=C3=A9=20o=20primeiro=20load=20complet?= =?UTF-8?q?ar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../frontend/pages/inbox/index.tsx | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/clube67/newwhats.local/frontend/pages/inbox/index.tsx b/clube67/newwhats.local/frontend/pages/inbox/index.tsx index 3a96482..96bd482 100644 --- a/clube67/newwhats.local/frontend/pages/inbox/index.tsx +++ b/clube67/newwhats.local/frontend/pages/inbox/index.tsx @@ -127,6 +127,14 @@ export default function WhatsAppInboxPage() { const [isMobile, setIsMobile] = useState(false) const [isNewConvoModalOpen, setIsNewConvoModalOpen] = useState(false) + // Preloader: começa visível e some após o primeiro ciclo loading true→false + const [pageReady, setPageReady] = useState(false) + const prevLoadingRef = useRef(false) + useEffect(() => { + if (prevLoadingRef.current && !loading) setPageReady(true) + prevLoadingRef.current = loading + }, [loading]) + const optionsRef = useRef(null) const initialized = useRef(false) @@ -184,6 +192,37 @@ export default function WhatsAppInboxPage() { // ── Render ──────────────────────────────────────────────────────────────── return (
+ {/* Preloader global – visível até o primeiro carregamento de chats completar */} + + {!pageReady && ( + +
+ + + + + + + + + + + + + Carregando conversas… +
+
+ )} +
+