build method

  1. @override
dynamic build(
  1. dynamic context,
  2. dynamic ref
)

Implementation

@override
Widget build(BuildContext context, WidgetRef ref) {
  // update the inner provider...
  // ignore: unused_local_variable
  final allDone = ref.watch(hasActivitiesProvider) == UrgencyBadge.none;
  final children = [];

  final syncStateWidget = renderSyncingState(context, ref);

  if (ref.watch(featuresProvider).isActive(LabsFeature.encryptionBackup)) {
    final backups = renderBackupSection(context, ref);
    if (backups != null) {
      children.add(backups);
    }
  }
  final hasUnconfirmedEmails = ref.watch(hasUnconfirmedEmailAddresses);
  if (hasUnconfirmedEmails) {
    children.add(renderUnconfirmedEmailAddrs(context));
  }

  final sessions = renderSessions(context, ref);
  if (sessions != null) {
    children.add(sessions);
  }
  final invitations = renderInvitations(context, ref);
  if (invitations != null && invitations.isNotEmpty) {
    children.addAll(invitations);
  }

  return Scaffold(
    body: CustomScrollView(
      slivers: <Widget>[
        PageHeaderWidget(
          title: L10n.of(context).activities,
          expandedContent: Text(
            L10n.of(context).activitiesDescription,
            softWrap: true,
            style: Theme.of(context).textTheme.bodySmall,
          ),
        ),
        if (syncStateWidget != null) syncStateWidget,
        if (children.isNotEmpty) ...children,
        if (children.isEmpty)
          SliverToBoxAdapter(
            child: Center(
              heightFactor: 1.5,
              child: EmptyState(
                title: L10n.of(context).noActivityTitle,
                subtitle: L10n.of(context).noActivitySubtitle,
                image: 'assets/images/empty_activity.svg',
              ),
            ),
          ),
      ],
    ),
  );
}