diff --git a/packages/neon/neon/lib/src/widgets/user_avatar.dart b/packages/neon/neon/lib/src/widgets/user_avatar.dart index 80ff76ee..027d04af 100644 --- a/packages/neon/neon/lib/src/widgets/user_avatar.dart +++ b/packages/neon/neon/lib/src/widgets/user_avatar.dart @@ -11,6 +11,8 @@ class NeonUserAvatar extends StatefulWidget { final String? username, this.showStatus = true, this.size = kAvatarSize, + this.backgroundColor, + this.foregroundColor, super.key, }) : username = username ?? account.client.username!; @@ -18,6 +20,8 @@ class NeonUserAvatar extends StatefulWidget { final String username; final bool showStatus; final double size; + final Color? backgroundColor; + final Color? foregroundColor; @override State createState() => _UserAvatarState(); @@ -31,7 +35,9 @@ class _UserAvatarState extends State { void initState() { super.initState(); - unawaited(_userStatusBloc.load(widget.username)); + if (widget.showStatus) { + unawaited(_userStatusBloc.load(widget.username)); + } } @override @@ -45,6 +51,7 @@ class _UserAvatarState extends State { children: [ CircleAvatar( radius: size / 2, + backgroundColor: widget.backgroundColor, child: ClipOval( child: NeonCachedApiImage( account: widget.account, @@ -85,7 +92,7 @@ class _UserAvatarState extends State { if (result.loading) { child = CircularProgressIndicator( strokeWidth: 1.5, - color: Theme.of(context).colorScheme.onPrimary, + color: widget.foregroundColor ?? Theme.of(context).colorScheme.onPrimary, ); } else if (result.error != null) { child = Icon(