Skip to content

Instantly share code, notes, and snippets.

@magicleon94
Last active September 1, 2020 09:48
Show Gist options
  • Save magicleon94/51108d0ba6c614d3ee6664d888353aa4 to your computer and use it in GitHub Desktop.
Save magicleon94/51108d0ba6c614d3ee6664d888353aa4 to your computer and use it in GitHub Desktop.
RegionsReportList
import 'package:corona_italy/features/infection_report/bloc/regional/regional_report_bloc.dart';
import 'package:corona_italy/features/infection_report/bloc/regional/regional_report_bloc_state.dart';
import 'package:corona_italy/features/infection_report/model/regional/regional_report_vm.dart';
import 'package:corona_italy/features/infection_report/presentation/widgets/report_preview_list_tile.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class RegionsReportList extends StatelessWidget {
final ScrollController scrollController;
const RegionsReportList({Key key, this.scrollController}) : super(key: key);
@override
Widget build(BuildContext context) {
return BlocBuilder<RegionalReportBloc, RegionalReportState>(
builder: (context, state) {
switch (state.runtimeType) {
case RegionalReportIdle:
case RegionalReportLoading:
return Center(
child: CircularProgressIndicator(),
);
case RegionalReportLoaded:
final casted = state as RegionalReportLoaded;
return _Body(model: casted.report);
case RegionalReportLoadingError:
default:
final casted = state as RegionalReportLoadingError;
return Column(
children: [
Text(
tr(
'error',
namedArgs: {'reason': casted.reason},
),
),
],
);
}
},
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment