mirror of
https://github.com/pd4d10/git-touch.git
synced 2026-03-26 04:42:35 -05:00
refactor: extract all avatar to one widget
This commit is contained in:
@@ -4,32 +4,38 @@ import '../screens/user.dart';
|
||||
import 'link.dart';
|
||||
|
||||
class Avatar extends StatelessWidget {
|
||||
final String login;
|
||||
final String url;
|
||||
final String login;
|
||||
final double size;
|
||||
|
||||
Avatar({
|
||||
@required this.login,
|
||||
@required this.url,
|
||||
this.size = 18,
|
||||
this.login,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Link(
|
||||
screenBuilder: (_) => UserScreen(login),
|
||||
child: ClipRRect(
|
||||
borderRadius: BorderRadius.circular(size),
|
||||
child: FadeInImage.assetNetwork(
|
||||
placeholder: 'images/octoface.png',
|
||||
image: url,
|
||||
width: 2 * size,
|
||||
height: 2 * size,
|
||||
fadeInDuration: Duration(milliseconds: 200),
|
||||
fadeOutDuration: Duration(milliseconds: 100),
|
||||
),
|
||||
var avatar = ClipRRect(
|
||||
borderRadius: BorderRadius.circular(size),
|
||||
child: FadeInImage.assetNetwork(
|
||||
placeholder: 'images/octoface.png',
|
||||
image: url,
|
||||
width: 2 * size,
|
||||
height: 2 * size,
|
||||
fadeInDuration: Duration(milliseconds: 200),
|
||||
fadeOutDuration: Duration(milliseconds: 100),
|
||||
),
|
||||
material: false,
|
||||
);
|
||||
|
||||
if (login == null) {
|
||||
return avatar;
|
||||
} else {
|
||||
return Link(
|
||||
screenBuilder: (_) => UserScreen(login),
|
||||
child: avatar,
|
||||
material: false,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,9 +14,9 @@ class CommentItem extends StatelessWidget {
|
||||
return Column(children: <Widget>[
|
||||
Row(children: <Widget>[
|
||||
Avatar(
|
||||
login: payload['author']['login'],
|
||||
url: payload['author']['avatarUrl'],
|
||||
size: 16,
|
||||
login: payload['author']['login'],
|
||||
),
|
||||
Padding(padding: EdgeInsets.only(left: 6)),
|
||||
Expanded(
|
||||
|
||||
@@ -66,7 +66,7 @@ class EventItem extends StatelessWidget {
|
||||
children: <Widget>[
|
||||
Row(
|
||||
children: <Widget>[
|
||||
Avatar(login: event.actorLogin, url: event.actorAvatarUrl),
|
||||
Avatar(url: event.actorAvatarUrl, login: event.actorLogin),
|
||||
Padding(padding: EdgeInsets.only(left: 10)),
|
||||
Expanded(
|
||||
child: RichText(
|
||||
|
||||
Reference in New Issue
Block a user