added loading state to range of aqi chart.

This commit is contained in:
Faris Armoush
2025-05-27 12:29:06 +03:00
parent 3ac5254abf
commit d90d3d4026
3 changed files with 23 additions and 16 deletions

View File

@ -26,7 +26,9 @@ class RangeOfAqiChartBox extends StatelessWidget {
AnalyticsErrorWidget(state.errorMessage), AnalyticsErrorWidget(state.errorMessage),
const SizedBox(height: 10), const SizedBox(height: 10),
], ],
const RangeOfAqiChartTitle(), RangeOfAqiChartTitle(
isLoading: state.status == RangeOfAqiStatus.loading,
),
const SizedBox(height: 10), const SizedBox(height: 10),
const Divider(), const Divider(),
const SizedBox(height: 20), const SizedBox(height: 20),

View File

@ -5,10 +5,12 @@ import 'package:syncrow_web/pages/analytics/modules/air_quality/widgets/aqi_type
import 'package:syncrow_web/pages/analytics/modules/analytics/blocs/analytics_date_picker_bloc/analytics_date_picker_bloc.dart'; import 'package:syncrow_web/pages/analytics/modules/analytics/blocs/analytics_date_picker_bloc/analytics_date_picker_bloc.dart';
import 'package:syncrow_web/pages/analytics/modules/analytics/widgets/chart_informative_cell.dart'; import 'package:syncrow_web/pages/analytics/modules/analytics/widgets/chart_informative_cell.dart';
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/chart_title.dart'; import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/chart_title.dart';
import 'package:syncrow_web/pages/analytics/widgets/charts_loading_widget.dart';
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart'; import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart';
class RangeOfAqiChartTitle extends StatelessWidget { class RangeOfAqiChartTitle extends StatelessWidget {
const RangeOfAqiChartTitle({super.key}); const RangeOfAqiChartTitle({required this.isLoading, super.key});
final bool isLoading;
static const List<(Color color, String title, bool hasBorder)> _colors = [ static const List<(Color color, String title, bool hasBorder)> _colors = [
(Color(0xFF962DFF), 'Max', false), (Color(0xFF962DFF), 'Max', false),
@ -20,6 +22,7 @@ class RangeOfAqiChartTitle extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Row( return Row(
children: [ children: [
ChartsLoadingWidget(isLoading: isLoading),
const Expanded( const Expanded(
flex: 3, flex: 3,
child: FittedBox( child: FittedBox(

View File

@ -5,6 +5,7 @@ import 'package:syncrow_web/pages/analytics/services/range_of_aqi/range_of_aqi_s
class FakeRangeOfAqiService implements RangeOfAqiService { class FakeRangeOfAqiService implements RangeOfAqiService {
@override @override
Future<List<RangeOfAqi>> load(GetRangeOfAqiParam param) async { Future<List<RangeOfAqi>> load(GetRangeOfAqiParam param) async {
return await Future.delayed(const Duration(milliseconds: 800), () {
final random = DateTime.now().millisecondsSinceEpoch; final random = DateTime.now().millisecondsSinceEpoch;
return List.generate(30, (index) { return List.generate(30, (index) {
@ -24,5 +25,6 @@ class FakeRangeOfAqiService implements RangeOfAqiService {
date: date, date: date,
); );
}); });
});
} }
} }