59 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
| // 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 <https://www.gnu.org/licenses/>.
 | |
| 
 | |
| import 'package:authentication_bloc_example/home/widgets/avatar.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/constants.dart';
 | |
| 
 | |
| class UserInfo extends StatelessWidget {
 | |
|   const UserInfo({Key? key}) : super(key: key);
 | |
| 
 | |
|   @override
 | |
|   Widget build(BuildContext context) {
 | |
|     final textTheme = Theme.of(context).textTheme;
 | |
|     final user = context.select((AuthenticationCubit cubit) => cubit.state.user);
 | |
|     final userData = context.select((AuthenticationCubit cubit) => cubit.state.userData);
 | |
|     return Align(
 | |
|       alignment: const Alignment(0, -1 / 3),
 | |
|       child: Column(
 | |
|         mainAxisSize: MainAxisSize.min,
 | |
|         children: <Widget>[
 | |
|           Avatar(photo: user?.photoURL),
 | |
|           const SizedBox(height: 4),
 | |
|           Text("Email: ${user?.email ?? 'null'}", style: textTheme.headline6),
 | |
|           const SizedBox(height: 4),
 | |
|           Text("Name: ${userData![formFieldName] ?? 'null'}",
 | |
|               style: textTheme.headline6),
 | |
|           const SizedBox(height: 4),
 | |
|           Text("Phone: ${userData[formFieldPhone] ?? 'null'}",
 | |
|               style: textTheme.headline6),
 | |
|           const SizedBox(height: 4),
 | |
|           Text("IsPro: ${userData[formFieldPro] ?? 'null'}",
 | |
|               style: textTheme.headline6),
 | |
|           const SizedBox(height: 4),
 | |
|           Text("IsAnonymous: ${user?.isAnonymous.toString() ?? 'null'}",
 | |
|               style: textTheme.headline6),
 | |
|           const SizedBox(height: 4),
 | |
|           Text("IsEmailVerified: ${user?.emailVerified.toString() ?? 'null'}",
 | |
|               style: textTheme.headline6),
 | |
|         ],
 | |
|       ),
 | |
|     );
 | |
|   }
 | |
| }
 |