diff --git a/ios/Flutter/.last_build_id b/ios/Flutter/.last_build_id new file mode 100644 index 00000000..7b860a07 --- /dev/null +++ b/ios/Flutter/.last_build_id @@ -0,0 +1 @@ +8bbc713f808a1e4202d48e35ddf46f23 \ No newline at end of file diff --git a/lib/pages/landing/home_page.dart b/lib/pages/landing/home_page.dart index 2744d3a6..cf4835a2 100644 --- a/lib/pages/landing/home_page.dart +++ b/lib/pages/landing/home_page.dart @@ -12,6 +12,7 @@ import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart'; import 'package:diplomaticquarterapp/pages/paymentService/payment_service.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/widgets/Loader/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; @@ -143,7 +144,9 @@ class _HomePageState extends State { new Color( 0xFFbcc2c4), onPressed: () { - navigateToCovidDriveThru(); + //TODO remove it when all the loader cases ended This is just an example + // GifLoaderDialogUtils.showMyDialog(context); + navigateToCovidDriveThru(); }, child: Text( "BOOK NOW", diff --git a/lib/widgets/Loader/gif_loader_container.dart b/lib/widgets/Loader/gif_loader_container.dart new file mode 100644 index 00000000..6fb031a3 --- /dev/null +++ b/lib/widgets/Loader/gif_loader_container.dart @@ -0,0 +1,43 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter_gifimage/flutter_gifimage.dart'; + +class GifLoaderContainer extends StatefulWidget { + @override + _GifLoaderContainerState createState() => _GifLoaderContainerState(); +} + +class _GifLoaderContainerState extends State + with TickerProviderStateMixin { + GifController controller1; + + @override + void initState() { + controller1 = GifController(vsync: this); + + WidgetsBinding.instance.addPostFrameCallback((_) { + controller1.repeat( + min: 0, max: 12, period: Duration(milliseconds: 750), reverse: true); + }); + super.initState(); + } + + @override + void dispose() { + controller1.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Center( + //progress-loading.gif + child: Container( + margin: EdgeInsets.only(bottom: 40), + child: GifImage( + controller: controller1, + image: AssetImage( + "assets/images/progress-loading.gif"), //NetworkImage("http://img.mp.itc.cn/upload/20161107/5cad975eee9e4b45ae9d3c1238ccf91e.jpg"), + ), + )); + } +} \ No newline at end of file diff --git a/lib/widgets/Loader/gif_loader_dialog_utils.dart b/lib/widgets/Loader/gif_loader_dialog_utils.dart new file mode 100644 index 00000000..0fbae5ca --- /dev/null +++ b/lib/widgets/Loader/gif_loader_dialog_utils.dart @@ -0,0 +1,18 @@ +import 'package:flutter/material.dart'; + +import 'gif_loader_container.dart'; + +class GifLoaderDialogUtils { + static AlertDialog dialog = AlertDialog( + backgroundColor: Colors.transparent, + content: GifLoaderContainer(), + ); + + static showMyDialog(BuildContext context) { + showDialog(context: context, child: dialog); + } + + static hideDialog(BuildContext context) { + Navigator.of(context).pop(); + } +} diff --git a/lib/widgets/others/network_base_view.dart b/lib/widgets/others/network_base_view.dart index e1b92618..5e297d18 100644 --- a/lib/widgets/others/network_base_view.dart +++ b/lib/widgets/others/network_base_view.dart @@ -1,7 +1,7 @@ import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart'; +import 'package:diplomaticquarterapp/widgets/Loader/gif_loader_container.dart'; import 'package:diplomaticquarterapp/widgets/errors/app_embedded_error.dart'; -import 'package:diplomaticquarterapp/widgets/progress_indicator/app_circular_progress_Indeicator.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gifimage/flutter_gifimage.dart'; @@ -16,21 +16,14 @@ class NetworkBaseView extends StatefulWidget { _NetworkBaseViewState createState() => _NetworkBaseViewState(); } -class _NetworkBaseViewState extends State with TickerProviderStateMixin{ - GifController controller1; +class _NetworkBaseViewState extends State{ @override void initState() { - controller1 = GifController(vsync: this); - - WidgetsBinding.instance.addPostFrameCallback((_){ - controller1.repeat(min: 0,max: 12,period: Duration(milliseconds: 750),reverse: true); - }); super.initState(); } @override void dispose() { - controller1.dispose(); super.dispose(); } @@ -49,18 +42,15 @@ class _NetworkBaseViewState extends State with TickerProviderS return widget.child; break; case ViewState.Busy: - return Stack(children: [Container( - height: MediaQuery.of(context).size.height, - color: Colors.grey.withOpacity(0.6), - ),Center(//progress-loading.gif - child: Container( - margin: EdgeInsets.only(bottom: 40), - child: GifImage( - controller: controller1, - image: AssetImage("assets/images/progress-loading.gif"),//NetworkImage("http://img.mp.itc.cn/upload/20161107/5cad975eee9e4b45ae9d3c1238ccf91e.jpg"), + return Stack( + children: [ + Container( + height: MediaQuery.of(context).size.height, + color: Colors.grey.withOpacity(0.6), ), - ), - )],); + GifLoaderContainer() + ], + ); break; case ViewState.Error: return Center( @@ -71,6 +61,8 @@ class _NetworkBaseViewState extends State with TickerProviderS break; } } + } +