Skip to content

Commit b3d14cb

Browse files
committed
user account avatar
1 parent 95045ca commit b3d14cb

File tree

2 files changed

+27
-7
lines changed

2 files changed

+27
-7
lines changed

lib/widgets/menu_bottom_sheet.dart

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import 'package:call_manager/widgets/delete_calls_dialog.dart';
44
import 'package:call_manager/widgets/log_out_dialog.dart';
55
import 'package:call_manager/widgets/theme_icon.dart';
66
import 'package:call_manager/widgets/theme_switcher_dialog.dart';
7+
import 'package:call_manager/widgets/user_account_avatar.dart';
78
import 'package:flutter/material.dart';
89
import 'package:groovin_material_icons/groovin_material_icons.dart';
910
import 'package:groovin_widgets/groovin_widgets.dart';
@@ -55,13 +56,7 @@ class _MenuBottomSheetState extends State<MenuBottomSheet> with FirebaseMixin, P
5556
child: ModalDrawerHandle(),
5657
),
5758
ListTile(
58-
leading: CircleAvatar(
59-
child: Text(
60-
currentUser.displayName[0],
61-
style: TextStyle(color: Colors.white),
62-
),
63-
backgroundColor: theme.primaryColor,
64-
),
59+
leading: UserAccountAvatar(),
6560
title: Text(currentUser.displayName),
6661
subtitle: Text(currentUser.email),
6762
trailing: TextButton(
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import 'package:call_manager/firebase/firebase_mixin.dart';
2+
import 'package:flutter/material.dart';
3+
4+
class UserAccountAvatar extends StatefulWidget {
5+
@override
6+
_UserAccountAvatarState createState() => _UserAccountAvatarState();
7+
}
8+
9+
class _UserAccountAvatarState extends State<UserAccountAvatar>
10+
with FirebaseMixin {
11+
@override
12+
Widget build(BuildContext context) {
13+
if (currentUser == null) {
14+
CircleAvatar(
15+
child: Icon(Icons.person_outline),
16+
backgroundColor: Theme.of(context).primaryColor,
17+
);
18+
}
19+
20+
return CircleAvatar(
21+
backgroundImage: NetworkImage(currentUser.photoURL),
22+
backgroundColor: Theme.of(context).primaryColor,
23+
);
24+
}
25+
}

0 commit comments

Comments
 (0)