import 'package:core/presentation/extensions/string_extension.dart'; import 'package:core/presentation/views/image/avatar_builder.dart'; import 'package:flutter/material.dart'; class UserAvatarBuilder extends StatelessWidget { final String username; final double? size; final TextStyle? textStyle; final EdgeInsetsGeometry? padding; final VoidCallback? onTapAction; const UserAvatarBuilder({ Key? key, required this.username, this.size, this.textStyle, this.padding, this.onTapAction, }) : super(key: key); @override Widget build(BuildContext context) { final avatarBuilder = AvatarBuilder() ..text(username) ..size(size ?? 32) ..addTextStyle(textStyle ?? Theme.of(context).textTheme.titleMedium?.copyWith( color: Colors.white, )) ..avatarColor(username.gradientColors); if (onTapAction != null) { avatarBuilder.addOnTapActionClick(onTapAction!); } if (padding != null) { return Padding( padding: padding!, child: avatarBuilder.build(), ); } else { return avatarBuilder.build(); } } }