From ec99de2b6d35ae00fbf933aed2277de15baec3fe Mon Sep 17 00:00:00 2001 From: Rongjian Zhang Date: Sun, 18 Sep 2022 16:21:35 +0800 Subject: [PATCH] refactor: gql query names --- lib/graphql/github.graphql | 43 ++++++++++++++------------------ lib/screens/gh_repos.dart | 4 +-- lib/screens/gh_user.dart | 14 +++++------ lib/screens/gh_users.dart | 10 ++++---- lib/widgets/repository_item.dart | 2 +- lib/widgets/user_item.dart | 4 +-- 6 files changed, 36 insertions(+), 41 deletions(-) diff --git a/lib/graphql/github.graphql b/lib/graphql/github.graphql index a23083b..36863bd 100644 --- a/lib/graphql/github.graphql +++ b/lib/graphql/github.graphql @@ -3,7 +3,7 @@ fragment PageInfoParts on PageInfo { hasNextPage endCursor } -fragment RepoItem on Repository { +fragment RepoParts on Repository { owner { login avatarUrl @@ -23,7 +23,7 @@ fragment RepoItem on Repository { name } } -fragment UserItem on User { +fragment UserParts on User { login name avatarUrl @@ -84,7 +84,7 @@ query Followers($login: String!, $after: String) { ...PageInfoParts } nodes { - ...UserItem + ...UserParts } } } @@ -96,7 +96,7 @@ query Following($login: String!, $after: String) { ...PageInfoParts } nodes { - ...UserItem + ...UserParts } } } @@ -108,7 +108,7 @@ query Members($login: String!, $after: String) { ...PageInfoParts } nodes { - ...UserItem + ...UserParts } } } @@ -120,7 +120,7 @@ query Watchers($owner: String!, $name: String!, $after: String) { ...PageInfoParts } nodes { - ...UserItem + ...UserParts } } } @@ -136,15 +136,15 @@ query Stargazers($owner: String!, $name: String!, $after: String) { ...PageInfoParts } nodes { - ...UserItem + ...UserParts } } } } # repos -fragment ReposRepoItem on Repository { - ...RepoItem +fragment RepoPartsWithTime on Repository { + ...RepoParts updatedAt } query Repos($login: String!, $after: String) { @@ -158,7 +158,7 @@ query Repos($login: String!, $after: String) { ...PageInfoParts } nodes { - ...ReposRepoItem + ...RepoPartsWithTime } } } @@ -174,22 +174,17 @@ query Stars($login: String!, $after: String) { ...PageInfoParts } nodes { - ...ReposRepoItem + ...RepoPartsWithTime } } } } # user -fragment UserParts on User { - login - avatarUrl - name +fragment UserPartsFull on User { + ...UserParts bio - company - location email - createdAt websiteUrl viewerCanFollow # TODO: remove in viewer query viewerIsFollowing @@ -218,27 +213,27 @@ fragment UserParts on User { ) { totalCount nodes { - ...RepoItem + ...RepoParts } } pinnedItems(first: 6) { nodes { ... on Repository { - ...RepoItem + ...RepoParts } } } } query Viewer { viewer { - ...UserParts + ...UserPartsFull } } query User($login: String!) { repositoryOwner(login: $login) { url ... on User { - ...UserParts + ...UserPartsFull } ... on Organization { login @@ -255,7 +250,7 @@ query User($login: String!) { pinnedItems(first: 6) { nodes { ... on Repository { - ...RepoItem + ...RepoParts } } } @@ -263,7 +258,7 @@ query User($login: String!) { totalCount nodes { ... on Repository { - ...RepoItem + ...RepoParts } } } diff --git a/lib/screens/gh_repos.dart b/lib/screens/gh_repos.dart index 80060d9..7b21553 100644 --- a/lib/screens/gh_repos.dart +++ b/lib/screens/gh_repos.dart @@ -16,7 +16,7 @@ class GhRepos extends StatelessWidget { @override Widget build(BuildContext context) { - return ListStatefulScaffold( + return ListStatefulScaffold( title: const AppBarTitle('Repositories'), fetch: (cursor) async { final auth = context.read(); @@ -47,7 +47,7 @@ class GhStars extends StatelessWidget { @override Widget build(BuildContext context) { - return ListStatefulScaffold( + return ListStatefulScaffold( title: const AppBarTitle('Stars'), fetch: (cursor) async { final auth = context.read(); diff --git a/lib/screens/gh_user.dart b/lib/screens/gh_user.dart index b09ed25..4b88637 100644 --- a/lib/screens/gh_user.dart +++ b/lib/screens/gh_user.dart @@ -23,9 +23,9 @@ import 'package:provider/provider.dart'; class _Repos extends StatelessWidget { final String title; - final Iterable? repos; + final Iterable? repos; - _Repos(final Iterable pinned, final Iterable? repos) + _Repos(final Iterable pinned, final Iterable? repos) : title = pinned.isNotEmpty ? 'pinned repositories' : 'popular repositories', repos = pinned.isNotEmpty ? pinned : repos; @@ -59,7 +59,7 @@ class _Repos extends StatelessWidget { } class _User extends StatelessWidget { - final GUserParts? p; + final GUserPartsFull? p; final bool isViewer; final List rightWidgets; const _User(this.p, {this.isViewer = false, this.rightWidgets = const []}); @@ -177,7 +177,7 @@ class _User extends StatelessWidget { ), CommonStyle.verticalGap, _Repos( - p!.pinnedItems.nodes!.whereType(), + p!.pinnedItems.nodes!.whereType(), p!.repositories.nodes, ), CommonStyle.verticalGap, @@ -255,8 +255,8 @@ class _Org extends StatelessWidget { ), CommonStyle.verticalGap, _Repos( - p!.pinnedItems.nodes!.whereType(), - p!.pinnableItems.nodes!.whereType(), + p!.pinnedItems.nodes!.whereType(), + p!.pinnableItems.nodes!.whereType(), ), CommonStyle.verticalGap, ], @@ -268,7 +268,7 @@ class GhViewer extends StatelessWidget { @override Widget build(BuildContext context) { final auth = Provider.of(context); - return RefreshStatefulScaffold( + return RefreshStatefulScaffold( fetch: () async { final req = GViewerReq(); final OperationResponse res = diff --git a/lib/screens/gh_users.dart b/lib/screens/gh_users.dart index c9a6cc7..dcd41dd 100644 --- a/lib/screens/gh_users.dart +++ b/lib/screens/gh_users.dart @@ -15,7 +15,7 @@ class GhFollowers extends StatelessWidget { @override Widget build(BuildContext context) { - return ListStatefulScaffold( + return ListStatefulScaffold( title: const AppBarTitle('Followers'), fetch: (cursor) async { final auth = context.read(); @@ -45,7 +45,7 @@ class GhFollowing extends StatelessWidget { @override Widget build(BuildContext context) { - return ListStatefulScaffold( + return ListStatefulScaffold( title: const AppBarTitle('Following'), fetch: (cursor) async { final auth = context.read(); @@ -75,7 +75,7 @@ class GhMembers extends StatelessWidget { @override Widget build(BuildContext context) { - return ListStatefulScaffold( + return ListStatefulScaffold( title: const AppBarTitle('Members'), fetch: (cursor) async { final auth = context.read(); @@ -106,7 +106,7 @@ class GhWachers extends StatelessWidget { @override Widget build(BuildContext context) { - return ListStatefulScaffold( + return ListStatefulScaffold( title: const AppBarTitle('Wachers'), fetch: (cursor) async { final auth = context.read(); @@ -138,7 +138,7 @@ class GhStargazers extends StatelessWidget { @override Widget build(BuildContext context) { - return ListStatefulScaffold( + return ListStatefulScaffold( title: const AppBarTitle('Stargazers'), fetch: (cursor) async { final auth = context.read(); diff --git a/lib/widgets/repository_item.dart b/lib/widgets/repository_item.dart index e10def5..1fb2be8 100644 --- a/lib/widgets/repository_item.dart +++ b/lib/widgets/repository_item.dart @@ -105,7 +105,7 @@ class RepositoryItem extends StatelessWidget { avatarLink = '/github/$owner', url = '/github/$owner/$name'; - factory RepositoryItem.gql(GRepoItem v, {required note}) { + factory RepositoryItem.gql(GRepoParts v, {required note}) { return RepositoryItem.gh( owner: v.owner.login, avatarUrl: v.owner.avatarUrl, diff --git a/lib/widgets/user_item.dart b/lib/widgets/user_item.dart index 74414ec..c07813a 100644 --- a/lib/widgets/user_item.dart +++ b/lib/widgets/user_item.dart @@ -14,7 +14,7 @@ const userGqlChunk = ''' '''; class GhBioWidget extends StatelessWidget { - final GUserItem p; + final GUserParts p; const GhBioWidget(this.p); @override @@ -77,7 +77,7 @@ class UserItem extends StatelessWidget { required this.bio, }) : url = '/github/$login'; - UserItem.gql(GUserItem p) + UserItem.gql(GUserParts p) : login = p.login, name = p.name, avatarUrl = p.avatarUrl,