UNPKG

@cardql/react-native

Version:

CardQL SDK for React Native applications with mobile-optimized features

60 lines (49 loc) 1.45 kB
import { useState, useEffect } from "react"; // Network status interface export interface NetworkStatus { isConnected: boolean; type?: string; isWifiEnabled?: boolean; isInternetReachable?: boolean; } // Mock implementation for now // In a real React Native app, you would use @react-native-community/netinfo export function useNetworkStatus(): NetworkStatus { const [networkStatus, setNetworkStatus] = useState<NetworkStatus>({ isConnected: true, type: "wifi", isWifiEnabled: true, isInternetReachable: true, }); useEffect(() => { // Mock network status changes for demo // In real implementation: /* import NetInfo from '@react-native-community/netinfo'; const unsubscribe = NetInfo.addEventListener(state => { setNetworkStatus({ isConnected: state.isConnected ?? false, type: state.type, isWifiEnabled: state.isWifiEnabled ?? false, isInternetReachable: state.isInternetReachable ?? false, }); }); return unsubscribe; */ return () => {}; }, []); return networkStatus; } // Helper hooks export function useIsOnline(): boolean { const { isConnected } = useNetworkStatus(); return isConnected; } export function useIsOffline(): boolean { const { isConnected } = useNetworkStatus(); return !isConnected; } export function useNetworkType(): string | undefined { const { type } = useNetworkStatus(); return type; }