const OVERLAY_ID = 'sa-server-unavailable-overlay' const MESSAGE = 'خطا در برقراری ارتباط با سرور' export function isServerUnreachableConfig(config: unknown): boolean { if (!config || typeof config !== 'object') return false const root = config as Record const user = root.user && typeof root.user === 'object' ? (root.user as Record) : null if (root.server_reachable === false) return true if (user && user.server_reachable === false) return true return false } export function showServerUnavailableOverlay(message = MESSAGE) { if (typeof document === 'undefined') return let root = document.getElementById(OVERLAY_ID) if (!root) { root = document.createElement('div') root.id = OVERLAY_ID document.body.appendChild(root) } root.innerHTML = `
⚠️

${message}

` } export function hideServerUnavailableOverlay() { if (typeof document === 'undefined') return const root = document.getElementById(OVERLAY_ID) if (root) root.remove() } export function assertServerReachableConfig(config: unknown) { if (isServerUnreachableConfig(config)) { showServerUnavailableOverlay() throw new Error(MESSAGE) } }