From af88e39111b4632fa7f1b65124bdc297593e3a98 Mon Sep 17 00:00:00 2001 From: Jorian van der Kolk Date: Fri, 28 Oct 2022 10:27:44 +0200 Subject: [PATCH] firstname, lastname check not empty --- lib/src/models/user.dart | 3 ++- lib/src/widgets/avatar/avatar.dart | 13 ++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/src/models/user.dart b/lib/src/models/user.dart index 550bc9e..9c2fe2d 100644 --- a/lib/src/models/user.dart +++ b/lib/src/models/user.dart @@ -21,7 +21,8 @@ class User { }); String get displayName => '${firstName ?? ''} ${lastName ?? ''}'; - String get initials => '${firstName?[0] ?? ''}${lastName?[0] ?? ''}'; + String get initials => + '${(firstName?.isNotEmpty ?? false) ? firstName![0] : ''}${(lastName?.isNotEmpty ?? false) ? lastName![0] : ''}'; factory User.fromMap(Map data) => User( firstName: data['first_name'], diff --git a/lib/src/widgets/avatar/avatar.dart b/lib/src/widgets/avatar/avatar.dart index f4ae9b9..c5effbb 100644 --- a/lib/src/widgets/avatar/avatar.dart +++ b/lib/src/widgets/avatar/avatar.dart @@ -58,9 +58,16 @@ class Avatar extends StatelessWidget { } Color _generateColorWithIntials(String? firstName, String? lastName) { - var uniqueInitialId = (firstName?.toLowerCase().codeUnitAt(0) ?? 0) + - (lastName?.toLowerCase().codeUnitAt(0) ?? 0); + var idFirstName = 0; + var idLastName = 0; + if (firstName?.isNotEmpty ?? false) { + idFirstName = firstName!.toLowerCase().codeUnitAt(0); + } + if (lastName?.isNotEmpty ?? false) { + idLastName = lastName!.toLowerCase().codeUnitAt(0); + } - return Colors.primaries[uniqueInitialId % Colors.primaries.length]; + return Colors + .primaries[(idFirstName + idLastName) % Colors.primaries.length]; } }