import 'package:comunic/lists/notifications_list.dart'; import 'package:comunic/utils/intl_utils.dart'; import 'package:comunic/utils/ui_utils.dart'; import 'package:flutter/material.dart'; /// Notifications screen /// /// @author Pierre HUBERT enum _Status { LOADING, ERROR, NONE } class NotificationsScreen extends StatefulWidget { @override _NotificationsScreenState createState() => _NotificationsScreenState(); } class _NotificationsScreenState extends State { NotificationsList _list; _Status _status = _Status.LOADING; void setStatus(_Status s) => setState(() => _status = s); Future _loadList() async { setStatus(_Status.LOADING); } @override Widget build(BuildContext context) { // In case of error if (_status == _Status.ERROR) return buildErrorCard(tr("Could not get the list of notifications!"), actions: [ MaterialButton( onPressed: () => _loadList(), child: Text(tr("Try again".toUpperCase())), ) ]); // Loading status if (_list == null || _status == _Status.LOADING) return Center( child: CircularProgressIndicator(), ); } }