import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter/foundation.dart'; import 'package:nc_photos/platform/k.dart' as platform_k; Future waitUntilWifi({VoidCallback? onNoWifi}) async { if (platform_k.isWeb) { // connectivity does NOT work on web, currently it will always return mobile // on Blink, and none on Gecko return; } while (true) { final result = await Connectivity().checkConnectivity(); if (result == ConnectivityResult.wifi) { return; } onNoWifi?.call(); await Future.delayed(const Duration(seconds: 5)); } }