build method

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

Implementation

@override
Widget build(BuildContext context, WidgetRef ref) {
  final addressesLoader = ref.watch(emailAddressesProvider);
  return WithSidebar(
    sidebar: const SettingsPage(),
    child: Scaffold(
      appBar: AppBar(
        automaticallyImplyLeading: !context.isLargeScreen,
        title: Text(L10n.of(context).emailAddresses),
        centerTitle: true,
        actions: [
          IconButton(
            onPressed: () {
              ref.invalidate(emailAddressesProvider);
            },
            icon: const Icon(Atlas.refresh_account_arrows_thin),
          ),
          IconButton(
            onPressed: () => addEmailAddress(context, ref),
            icon: const Icon(Atlas.plus_circle_thin),
          ),
        ],
      ),
      body: addressesLoader.when(
        data: (addresses) => buildAddresses(context, addresses),
        error: (e, s) {
          _log.severe('Failed to load email addresses', e, s);
          return Center(
            child: Text(L10n.of(context).errorLoadingEmailAddresses(e)),
          );
        },
        loading: () => const Center(
          child: CircularProgressIndicator(),
        ),
      ),
    ),
  );
}