diff --git a/lib/screens/mapflow_shell.dart b/lib/screens/mapflow_shell.dart index 8712e01..b78be6b 100644 --- a/lib/screens/mapflow_shell.dart +++ b/lib/screens/mapflow_shell.dart @@ -155,6 +155,9 @@ class _UserAvatar extends StatelessWidget { @override Widget build(BuildContext context) { final photoUrl = user?.photoUrl; + final imageUrl = photoUrl == null || photoUrl.isEmpty + ? null + : _avatarImageUrl(photoUrl); final fallback = _fallbackText(); return Padding( @@ -185,10 +188,10 @@ class _UserAvatar extends StatelessWidget { child: ClipOval( child: SizedBox.square( dimension: 44, - child: photoUrl == null || photoUrl.isEmpty + child: imageUrl == null ? _AvatarFallback(text: fallback) : Image.network( - photoUrl, + imageUrl, fit: BoxFit.cover, errorBuilder: (_, _, _) => _AvatarFallback(text: fallback), ), @@ -211,6 +214,11 @@ class _UserAvatar extends StatelessWidget { return 'M'; } + + String _avatarImageUrl(String photoUrl) { + final separator = photoUrl.contains('?') ? '&' : '?'; + return '$photoUrl${separator}v=2'; + } } enum _AvatarAction { logout }