mirror of
https://github.com/git-touch/git-touch
synced 2025-03-08 15:27:40 +01:00
improvement: add avatar link url
This commit is contained in:
parent
5fe740f450
commit
2bc130b91a
@ -56,7 +56,10 @@ class GitlabIssueScreen extends StatelessWidget {
|
|||||||
Text(issue.title),
|
Text(issue.title),
|
||||||
Row(
|
Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Avatar(url: issue.author.avatarUrl),
|
Avatar(
|
||||||
|
url: issue.author.avatarUrl,
|
||||||
|
linkUrl: '/user/${issue.author}',
|
||||||
|
),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(issue.description),
|
child: Text(issue.description),
|
||||||
),
|
),
|
||||||
|
@ -12,12 +12,13 @@ class AvatarSize {
|
|||||||
class Avatar extends StatelessWidget {
|
class Avatar extends StatelessWidget {
|
||||||
final String url;
|
final String url;
|
||||||
final double size;
|
final double size;
|
||||||
|
final String linkUrl;
|
||||||
|
|
||||||
Avatar.large({
|
Avatar({
|
||||||
@required this.url,
|
@required this.url,
|
||||||
}) : size = 48;
|
this.size = AvatarSize.medium,
|
||||||
|
this.linkUrl,
|
||||||
Avatar({this.url, this.size = AvatarSize.medium});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@ -34,9 +35,43 @@ class Avatar extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
// Provider.of<ThemeModel>(context).push(
|
if (linkUrl != null)
|
||||||
// context, '/$login');
|
Provider.of<ThemeModel>(context).push(context, linkUrl);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class GithubAvatar extends StatelessWidget {
|
||||||
|
final String url;
|
||||||
|
final double size;
|
||||||
|
final String login;
|
||||||
|
|
||||||
|
GithubAvatar({
|
||||||
|
@required this.url,
|
||||||
|
this.size = AvatarSize.medium,
|
||||||
|
this.login,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Avatar(url: url, size: size, linkUrl: '/$login');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class GitlabAvatar extends StatelessWidget {
|
||||||
|
final String url;
|
||||||
|
final double size;
|
||||||
|
final String login;
|
||||||
|
|
||||||
|
GitlabAvatar({
|
||||||
|
@required this.url,
|
||||||
|
this.size = AvatarSize.medium,
|
||||||
|
this.login,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Avatar(url: url, size: size, linkUrl: '/$login');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -45,9 +45,9 @@ class CommentItem extends StatelessWidget {
|
|||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Row(children: <Widget>[
|
Row(children: <Widget>[
|
||||||
Link(
|
Avatar(
|
||||||
url: '/' + payload['author']['login'],
|
url: payload['author']['avatarUrl'],
|
||||||
child: Avatar(url: payload['author']['avatarUrl']),
|
linkUrl: '/' + payload['author']['login'],
|
||||||
),
|
),
|
||||||
SizedBox(width: 8),
|
SizedBox(width: 8),
|
||||||
Expanded(
|
Expanded(
|
||||||
|
@ -52,10 +52,7 @@ class EventItem extends StatelessWidget {
|
|||||||
Row(
|
Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Link(
|
Avatar(url: e.actor.avatarUrl, linkUrl: '/' + e.actor.login),
|
||||||
url: '/' + e.actor.login,
|
|
||||||
child: Avatar(url: e.actor.avatarUrl),
|
|
||||||
),
|
|
||||||
SizedBox(width: 10),
|
SizedBox(width: 10),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Column(
|
||||||
|
@ -148,7 +148,7 @@ class RepositoryItem extends StatelessWidget {
|
|||||||
child: Row(
|
child: Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Avatar(url: avatarUrl, size: AvatarSize.small),
|
Avatar(url: avatarUrl, size: AvatarSize.small, linkUrl: '/$owner'),
|
||||||
SizedBox(width: 8),
|
SizedBox(width: 8),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Column(
|
||||||
|
@ -88,10 +88,7 @@ class UserItem extends StatelessWidget {
|
|||||||
if (inUserScreen) {
|
if (inUserScreen) {
|
||||||
return widget;
|
return widget;
|
||||||
} else {
|
} else {
|
||||||
return Link(
|
return Link(url: '/$login', child: widget);
|
||||||
url: '/$login',
|
|
||||||
child: widget,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user