refactor: user item style
This commit is contained in:
parent
62c53e543d
commit
a513dfb7c6
|
@ -119,7 +119,7 @@ class OrganizationScreen extends StatelessWidget {
|
||||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
UserItem(
|
UserItem(
|
||||||
login,
|
login: login,
|
||||||
name: payload['name'],
|
name: payload['name'],
|
||||||
avatarUrl: payload['avatarUrl'],
|
avatarUrl: payload['avatarUrl'],
|
||||||
bio: payload['description'],
|
bio: payload['description'],
|
||||||
|
|
|
@ -64,7 +64,6 @@ class _SearchScreenState extends State<SearchScreen> {
|
||||||
}
|
}
|
||||||
... on User {
|
... on User {
|
||||||
$userGqlChunk
|
$userGqlChunk
|
||||||
login
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ class TrendingScreen extends StatelessWidget {
|
||||||
});
|
});
|
||||||
case 1:
|
case 1:
|
||||||
return UserItem(
|
return UserItem(
|
||||||
item['username'],
|
login: item['username'],
|
||||||
name: item['name'],
|
name: item['name'],
|
||||||
avatarUrl: item['avatar'],
|
avatarUrl: item['avatar'],
|
||||||
bio: '',
|
bio: '',
|
||||||
|
|
|
@ -30,7 +30,7 @@ class _TrendingScreenState extends State<TrendingScreen> {
|
||||||
switch (_activeTab) {
|
switch (_activeTab) {
|
||||||
case 0:
|
case 0:
|
||||||
return _userItems?.map((item) => UserItem(
|
return _userItems?.map((item) => UserItem(
|
||||||
item['username'],
|
login: item['username'],
|
||||||
name: item['name'],
|
name: item['name'],
|
||||||
avatarUrl: item['avatar'],
|
avatarUrl: item['avatar'],
|
||||||
bio: '',
|
bio: '',
|
||||||
|
|
|
@ -30,9 +30,7 @@ class UserScreen extends StatelessWidget {
|
||||||
var data = await Provider.of<AuthModel>(context).query('''
|
var data = await Provider.of<AuthModel>(context).query('''
|
||||||
{
|
{
|
||||||
user(login: "$login") {
|
user(login: "$login") {
|
||||||
name
|
$userGqlChunk
|
||||||
avatarUrl
|
|
||||||
bio
|
|
||||||
company
|
company
|
||||||
location
|
location
|
||||||
email
|
email
|
||||||
|
@ -201,12 +199,7 @@ class UserScreen extends StatelessWidget {
|
||||||
return Column(
|
return Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
UserItem(
|
UserItem.fromData(payload, inUserScreen: true),
|
||||||
login,
|
|
||||||
name: payload['name'],
|
|
||||||
avatarUrl: payload['avatarUrl'],
|
|
||||||
bio: payload['bio'],
|
|
||||||
),
|
|
||||||
borderView,
|
borderView,
|
||||||
Row(children: <Widget>[
|
Row(children: <Widget>[
|
||||||
EntryItem(
|
EntryItem(
|
||||||
|
|
|
@ -49,10 +49,7 @@ class UsersScreen extends StatelessWidget {
|
||||||
endCursor
|
endCursor
|
||||||
}
|
}
|
||||||
nodes {
|
nodes {
|
||||||
name
|
$userGqlChunk
|
||||||
login
|
|
||||||
avatarUrl
|
|
||||||
bio
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -73,12 +70,7 @@ class UsersScreen extends StatelessWidget {
|
||||||
title: AppBarTitle(title),
|
title: AppBarTitle(title),
|
||||||
onRefresh: () => _queryUsers(context),
|
onRefresh: () => _queryUsers(context),
|
||||||
onLoadMore: (cursor) => _queryUsers(context, cursor),
|
onLoadMore: (cursor) => _queryUsers(context, cursor),
|
||||||
itemBuilder: (payload) => UserItem(
|
itemBuilder: (payload) => UserItem.fromData(payload),
|
||||||
payload['login'],
|
|
||||||
name: payload['name'],
|
|
||||||
avatarUrl: payload['avatarUrl'],
|
|
||||||
bio: payload['bio'],
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import 'package:git_touch/widgets/text_contains_organization.dart';
|
||||||
import 'package:primer/primer.dart';
|
import 'package:primer/primer.dart';
|
||||||
|
|
||||||
const userGqlChunk = '''
|
const userGqlChunk = '''
|
||||||
|
login
|
||||||
name
|
name
|
||||||
avatarUrl
|
avatarUrl
|
||||||
bio
|
bio
|
||||||
|
@ -20,20 +21,22 @@ class UserItem extends StatelessWidget {
|
||||||
final bool inUserScreen;
|
final bool inUserScreen;
|
||||||
final bool isOrganization;
|
final bool isOrganization;
|
||||||
|
|
||||||
UserItem(
|
UserItem({
|
||||||
this.login, {
|
this.login,
|
||||||
this.name,
|
this.name,
|
||||||
this.avatarUrl,
|
this.avatarUrl,
|
||||||
this.bio,
|
this.bio,
|
||||||
this.inUserScreen = false,
|
this.inUserScreen = false,
|
||||||
this.isOrganization = false,
|
this.isOrganization = false,
|
||||||
});
|
});
|
||||||
UserItem.fromData(data, {this.isOrganization = false})
|
UserItem.fromData(
|
||||||
: login = data['login'],
|
data, {
|
||||||
|
this.isOrganization = false,
|
||||||
|
this.inUserScreen = false,
|
||||||
|
}) : login = data['login'],
|
||||||
name = data['name'],
|
name = data['name'],
|
||||||
avatarUrl = data['avatarUrl'],
|
avatarUrl = data['avatarUrl'],
|
||||||
bio = data['bio'],
|
bio = data['bio'];
|
||||||
inUserScreen = false;
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -55,15 +58,16 @@ class UserItem extends StatelessWidget {
|
||||||
name ?? login,
|
name ?? login,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: PrimerColors.blue500,
|
color: PrimerColors.blue500,
|
||||||
fontSize: 18,
|
fontSize: inUserScreen ? 18 : 16,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(width: 8),
|
SizedBox(width: 8),
|
||||||
Text(
|
Text(
|
||||||
login,
|
login,
|
||||||
style:
|
style: TextStyle(
|
||||||
TextStyle(color: PrimerColors.gray700, fontSize: 16),
|
color: PrimerColors.gray700,
|
||||||
|
fontSize: inUserScreen ? 16 : 14),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -71,7 +75,9 @@ class UserItem extends StatelessWidget {
|
||||||
if (bio != null && bio.isNotEmpty)
|
if (bio != null && bio.isNotEmpty)
|
||||||
TextContainsOrganization(
|
TextContainsOrganization(
|
||||||
bio,
|
bio,
|
||||||
style: TextStyle(color: PrimerColors.gray700, fontSize: 15),
|
style: TextStyle(
|
||||||
|
color: PrimerColors.gray700,
|
||||||
|
fontSize: inUserScreen ? 15 : 14),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in New Issue