From 85db23ee76790c6ae4c2896d76d09cee1f94589b Mon Sep 17 00:00:00 2001 From: Fransolet Thomas Date: Sat, 10 Sep 2022 23:10:05 +0200 Subject: [PATCH] Update loading --- lib/Components/image_input_container.dart | 4 +- lib/Components/loading_common.dart | 50 +++++++++++++++++++ lib/Components/upload_image_container.dart | 2 +- .../Section/section_detail_screen.dart | 4 +- .../configuration_detail_screen.dart | 6 +-- .../Configurations/configurations_screen.dart | 4 +- lib/Screens/Devices/devices_screen.dart | 4 +- lib/Screens/Resources/resources_screen.dart | 3 +- lib/Screens/login_screen.dart | 3 +- 9 files changed, 66 insertions(+), 14 deletions(-) create mode 100644 lib/Components/loading_common.dart diff --git a/lib/Components/image_input_container.dart b/lib/Components/image_input_container.dart index f18a6ea..bc2f2d0 100644 --- a/lib/Components/image_input_container.dart +++ b/lib/Components/image_input_container.dart @@ -1,6 +1,6 @@ import 'package:auto_size_text/auto_size_text.dart'; import 'package:flutter/material.dart'; -import 'package:manager_app/Components/loading.dart'; +import 'package:manager_app/Components/loading_common.dart'; import 'package:manager_app/app_context.dart'; import 'package:manager_app/constants.dart'; import 'package:manager_app/Screens/Resources/select_resource_modal.dart'; @@ -104,7 +104,7 @@ class _ImageInputContainerState extends State { return Center( child: Container( height: size.height * 0.1, - child: Loading() + child: LoadingCommon() ) ); } diff --git a/lib/Components/loading_common.dart b/lib/Components/loading_common.dart new file mode 100644 index 0000000..4b40fa5 --- /dev/null +++ b/lib/Components/loading_common.dart @@ -0,0 +1,50 @@ +import 'package:flutter/material.dart'; +import 'package:manager_app/constants.dart'; + +class LoadingCommon extends StatefulWidget { + const LoadingCommon({Key key}) : super(key: key); + + @override + State createState() => _LoadingCommonState(); +} + +class _LoadingCommonState extends State with TickerProviderStateMixin { + AnimationController _controller; + + @override + void initState() { + _controller = AnimationController( + duration: const Duration(milliseconds: 5000), + vsync: this, + )..repeat(); + super.initState(); + } + + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + Size size = MediaQuery.of(context).size; + _controller.forward(from: 0.0); + _controller.addListener(() { + if (_controller.isCompleted) { + _controller.reverse(); + } + if(_controller.isDismissed){ + _controller.forward(); + } + }); + return Center( + child: RotationTransition( + turns: Tween(begin: 0.0, end: 3.0).animate(_controller), + child: Icon(Icons.museum_outlined, color: kPrimaryColor, size: size.height*0.1), + ), + ); + } +} + + diff --git a/lib/Components/upload_image_container.dart b/lib/Components/upload_image_container.dart index 4fcaa27..2debb59 100644 --- a/lib/Components/upload_image_container.dart +++ b/lib/Components/upload_image_container.dart @@ -128,7 +128,7 @@ class _UploadImageContainerState extends State with Single return Center( child: Container( height: 200, - child: Loading() + child: LoadingCommon() ) ); } diff --git a/lib/Screens/Configurations/Section/section_detail_screen.dart b/lib/Screens/Configurations/Section/section_detail_screen.dart index b308a74..9ebef22 100644 --- a/lib/Screens/Configurations/Section/section_detail_screen.dart +++ b/lib/Screens/Configurations/Section/section_detail_screen.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:manager_app/Components/confirmation_dialog.dart'; import 'package:manager_app/Components/fetch_section_icon.dart'; import 'package:manager_app/Components/image_input_container.dart'; -import 'package:manager_app/Components/loading.dart'; +import 'package:manager_app/Components/loading_common.dart'; import 'package:manager_app/Components/message_notification.dart'; import 'package:manager_app/Components/multi_string_input_container.dart'; import 'package:manager_app/Components/rounded_button.dart'; @@ -61,7 +61,7 @@ class _SectionDetailScreenState extends State { return Center( child: Container( height: size.height * 0.2, - child: Loading() + child: LoadingCommon() ) ); } diff --git a/lib/Screens/Configurations/configuration_detail_screen.dart b/lib/Screens/Configurations/configuration_detail_screen.dart index 9eac283..5e6ed02 100644 --- a/lib/Screens/Configurations/configuration_detail_screen.dart +++ b/lib/Screens/Configurations/configuration_detail_screen.dart @@ -8,7 +8,7 @@ import 'package:flutter/painting.dart'; import 'package:manager_app/Components/check_input_container.dart'; import 'package:manager_app/Components/color_picker_input_container.dart'; import 'package:manager_app/Components/confirmation_dialog.dart'; -import 'package:manager_app/Components/loading.dart'; +import 'package:manager_app/Components/loading_common.dart'; import 'package:manager_app/Components/message_notification.dart'; import 'package:manager_app/Components/multi_select_container.dart'; import 'package:manager_app/Components/rounded_button.dart'; @@ -54,7 +54,7 @@ class _ConfigurationDetailScreenState extends State { return Center( child: Container( height: size.height * 0.2, - child: Loading() + child: LoadingCommon() ) ); } @@ -260,7 +260,7 @@ class _ConfigurationDetailScreenState extends State { return Center( child: Container( height: size.height * 0.15, - child: Loading() + child: LoadingCommon() ) ); } diff --git a/lib/Screens/Configurations/configurations_screen.dart b/lib/Screens/Configurations/configurations_screen.dart index e4bc25c..40cde8d 100644 --- a/lib/Screens/Configurations/configurations_screen.dart +++ b/lib/Screens/Configurations/configurations_screen.dart @@ -1,6 +1,6 @@ import 'package:auto_size_text/auto_size_text.dart'; import 'package:flutter/material.dart'; -import 'package:manager_app/Components/loading.dart'; +import 'package:manager_app/Components/loading_common.dart'; import 'package:manager_app/Models/managerContext.dart'; import 'package:manager_app/Screens/Configurations/configuration_detail_screen.dart'; import 'package:manager_app/Screens/Configurations/new_configuration_popup.dart'; @@ -50,7 +50,7 @@ class _ConfigurationsScreenState extends State { return Center( child: Container( height: size.height * 0.2, - child: Loading() + child: LoadingCommon() ) ); } diff --git a/lib/Screens/Devices/devices_screen.dart b/lib/Screens/Devices/devices_screen.dart index 6e4679d..753350b 100644 --- a/lib/Screens/Devices/devices_screen.dart +++ b/lib/Screens/Devices/devices_screen.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:manager_app/Components/loading.dart'; +import 'package:manager_app/Components/loading_common.dart'; import 'package:manager_app/Models/managerContext.dart'; import 'package:manager_app/Screens/Devices/device_element.dart'; import 'package:manager_app/app_context.dart'; @@ -49,7 +49,7 @@ class _DevicesScreenState extends State { return Center( child: Container( height: size.height * 0.2, - child: Loading() + child: LoadingCommon() ) ); } diff --git a/lib/Screens/Resources/resources_screen.dart b/lib/Screens/Resources/resources_screen.dart index c13faa7..8b51775 100644 --- a/lib/Screens/Resources/resources_screen.dart +++ b/lib/Screens/Resources/resources_screen.dart @@ -4,6 +4,7 @@ import 'dart:io'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; import 'package:manager_app/Components/loading.dart'; +import 'package:manager_app/Components/loading_common.dart'; import 'package:manager_app/Components/message_notification.dart'; import 'package:manager_app/Models/managerContext.dart'; import 'package:manager_app/Screens/Resources/new_resource_popup.dart'; @@ -70,7 +71,7 @@ class _ResourcesScreenState extends State { return Center( child: Container( height: size.height * 0.2, - child: Loading() + child: LoadingCommon() ) ); } diff --git a/lib/Screens/login_screen.dart b/lib/Screens/login_screen.dart index afa6363..7e8d0f6 100644 --- a/lib/Screens/login_screen.dart +++ b/lib/Screens/login_screen.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:manager_app/Components/loading.dart'; +import 'package:manager_app/Components/loading_common.dart'; import 'package:manager_app/Components/message_notification.dart'; import 'package:manager_app/Components/rounded_button.dart'; import 'package:manager_app/Components/rounded_input_field.dart'; @@ -204,7 +205,7 @@ class _LoginScreenState extends State { }, ): Container( height: size.height * 0.1, - child: Loading() + child: LoadingCommon() ), ], ),