Files
kulakpos_app/lib/GlobalComponents/glonal_popup.dart
2026-02-07 15:57:09 +07:00

55 lines
1.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../constant.dart';
import 'internet_connection_notifier.dart';
class GlobalPopup extends ConsumerStatefulWidget {
final Widget child;
const GlobalPopup({super.key, required this.child});
@override
ConsumerState<GlobalPopup> createState() => _GlobalPopupState();
}
class _GlobalPopupState extends ConsumerState<GlobalPopup> {
@override
Widget build(BuildContext context) {
final internetStatus = ref.watch(internetConnectionProvider);
return Stack(
children: [
widget.child,
if (!internetStatus.isConnected && internetStatus.appLifecycleState == AppLifecycleState.resumed)
Positioned.fill(
child: Container(
padding: const EdgeInsets.all(20),
color: Colors.white,
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Icon(Icons.wifi_off, color: kMainColor, size: 100),
const SizedBox(height: 20),
const Text(
'No Internet Connection',
style: TextStyle(color: kTitleColor, fontSize: 24),
),
const SizedBox(height: 20),
ElevatedButton(
onPressed: () async {
final notifier = ref.read(internetConnectionProvider);
await notifier.checkConnection();
},
child: const Text("Try Again"),
),
],
),
),
),
),
],
);
}
}