import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter/material.dart'; import 'package:freezer/translations.i18n.dart'; int counter = 0; class ErrorScreen extends StatefulWidget { final String? message; final VoidCallback? refreshPage; const ErrorScreen({this.message, this.refreshPage, Key? key}) : super(key: key); @override State createState() => _ErrorScreenState(); } class _ErrorScreenState extends State { bool checkArl = false; @override void initState() { Connectivity().checkConnectivity().then((connectivity) { if (connectivity != ConnectivityResult.none && counter > 3) { setState(() { checkArl = true; }); } }); counter += 1; super.initState(); } @override Widget build(BuildContext context) { return Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ const Icon( Icons.error, color: Colors.red, size: 64.0, ), const SizedBox(height: 4.0), Text(widget.message ?? 'Please check your connection and try again later...'.i18n), if (checkArl) Padding( padding: const EdgeInsets.symmetric(vertical: 8.0, horizontal: 32.0), child: Text( "Your ARL might be expired, try logging out and logging back in using new ARL or browser." .i18n, textAlign: TextAlign.center, style: const TextStyle( fontSize: 12.0, ), ), ) ], ), ); } }