import { useCallback, useEffect, useRef, useState } from 'react' import { MobileCenterModal } from '@/components/mobile-center-modal.tsx' import { DataLoadingIndicator } from '@/components/ui/data-loading-indicator' import { useModalStore } from '@/store' const SUPPORT_CHAT_URL = 'https://tawk.to/chat/6a1d23d9e29f411c2ce86772/1jq0t82lu' const IFRAME_READY_DELAY_MS = 2_000 function MobileSupportModal() { const [isLoading, setIsLoading] = useState(true) const readyTimerRef = useRef(null) const open = useModalStore((state) => state.modals.desktopSupport) const setModalOpen = useModalStore((state) => state.setModalOpen) const clearReadyTimer = useCallback(() => { if (readyTimerRef.current === null) { return } window.clearTimeout(readyTimerRef.current) readyTimerRef.current = null }, []) const handleClose = () => { setModalOpen('desktopSupport', false) } const handleLoaded = () => { clearReadyTimer() readyTimerRef.current = window.setTimeout(() => { setIsLoading(false) readyTimerRef.current = null }, IFRAME_READY_DELAY_MS) } useEffect(() => { if (open) { clearReadyTimer() setIsLoading(true) } return clearReadyTimer }, [clearReadyTimer, open]) return ( 在线客服} className="h-design-500" >
{isLoading ? (
) : null}