// Copyright (C) 2022 WYATT GROUP // Please see the AUTHORS file for details. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . import 'package:authentication_bloc_example/home/widgets/infos.dart'; import 'package:flutter/material.dart'; import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:authentication_bloc_example/home/widgets/email_verification.dart'; class HomePage extends StatelessWidget { const HomePage({Key? key}) : super(key: key); static Route route() { return MaterialPageRoute(builder: (_) => const HomePage()); } @override Widget build(BuildContext context) { final user = context.select((AuthenticationCubit cubit) => cubit.state.user); return Scaffold( appBar: AppBar( title: const Text('Home'), actions: [ IconButton( icon: const Icon(Icons.exit_to_app), onPressed: () => context .read() .logOut(), ) ], ), body: Padding( padding: const EdgeInsets.all(8), child: BlocProvider( create: (_) => EmailVerificationCubit( context.read(), )..checkEmailVerification(), child: BlocBuilder( builder: (context, state) { if (state.isVerified || user!.isAnonymous) { return const UserInfo(); } else { return const EmailVerification(); } }, ), ), ), ); } }