mirror of
https://github.com/git-touch/git-touch
synced 2025-03-05 11:48:02 +01:00
feat(gt): stargazers, watchers and forks
This commit is contained in:
parent
a87a504cea
commit
61ad3ebb16
@ -266,6 +266,9 @@ class GiteaRouter {
|
||||
GiteaRouter.user,
|
||||
GiteaRouter.repo,
|
||||
GiteaRouter.object,
|
||||
GiteaRouter.stargazers,
|
||||
GiteaRouter.watchers,
|
||||
GiteaRouter.forks,
|
||||
GiteaRouter.commits,
|
||||
GiteaRouter.issues,
|
||||
GiteaRouter.pulls,
|
||||
@ -303,6 +306,15 @@ class GiteaRouter {
|
||||
path: params['path']?.first,
|
||||
),
|
||||
);
|
||||
static final stargazers = RouterScreen('/:owner/:name/stargazers', (_, p) {
|
||||
return GtUsersScreen.stargazers(p['owner'].first, p['name'].first);
|
||||
});
|
||||
static final watchers = RouterScreen('/:owner/:name/watchers', (_, p) {
|
||||
return GtUsersScreen.watchers(p['owner'].first, p['name'].first);
|
||||
});
|
||||
static final forks = RouterScreen('/:owner/:name/forks', (_, p) {
|
||||
return GtReposScreen.forks(p['owner'].first, p['name'].first);
|
||||
});
|
||||
static final commits = RouterScreen('/:owner/:name/commits',
|
||||
(_, p) => GtCommitsScreen(p['owner'].first, p['name'].first));
|
||||
static final issues = RouterScreen('/:owner/:name/issues',
|
||||
|
@ -50,13 +50,20 @@ class GtRepoScreen extends StatelessWidget {
|
||||
CommonStyle.border,
|
||||
Row(
|
||||
children: <Widget>[
|
||||
EntryItem(
|
||||
count: 0,
|
||||
text: 'Watchers',
|
||||
url: '/gitea/$owner/$name/watchers',
|
||||
),
|
||||
EntryItem(
|
||||
count: p.starsCount,
|
||||
text: 'Stars',
|
||||
url: '/gitea/$owner/$name/stargazers',
|
||||
),
|
||||
EntryItem(
|
||||
count: p.forksCount,
|
||||
text: 'Forks', // TODO:
|
||||
text: 'Forks',
|
||||
url: '/gitea/$owner/$name/forks',
|
||||
),
|
||||
],
|
||||
),
|
||||
|
@ -8,19 +8,21 @@ import 'package:git_touch/widgets/repository_item.dart';
|
||||
import 'package:timeago/timeago.dart' as timeago;
|
||||
|
||||
class GtReposScreen extends StatelessWidget {
|
||||
final String owner;
|
||||
final String api;
|
||||
final String title;
|
||||
|
||||
GtReposScreen(this.owner)
|
||||
GtReposScreen(String owner)
|
||||
: api = '/users/$owner/repos',
|
||||
title = 'Repositories';
|
||||
GtReposScreen.star(this.owner)
|
||||
GtReposScreen.star(String owner)
|
||||
: api = '/users/$owner/starred',
|
||||
title = 'Stars';
|
||||
GtReposScreen.org(this.owner)
|
||||
GtReposScreen.org(String owner)
|
||||
: api = '/orgs/$owner/repos',
|
||||
title = 'Repositories';
|
||||
GtReposScreen.forks(String owner, String repo)
|
||||
: api = '/repos/$owner/$repo/forks',
|
||||
title = 'Forks';
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -8,19 +8,24 @@ import 'package:provider/provider.dart';
|
||||
import 'package:timeago/timeago.dart' as timeago;
|
||||
|
||||
class GtUsersScreen extends StatelessWidget {
|
||||
final String login;
|
||||
final String api;
|
||||
final String title;
|
||||
|
||||
GtUsersScreen.followers(this.login)
|
||||
GtUsersScreen.followers(String login)
|
||||
: api = '/users/$login/followers',
|
||||
title = 'Followers';
|
||||
GtUsersScreen.following(this.login)
|
||||
GtUsersScreen.following(String login)
|
||||
: api = '/users/$login/following',
|
||||
title = "Following";
|
||||
GtUsersScreen.member(this.login)
|
||||
GtUsersScreen.member(String login)
|
||||
: api = '/orgs/$login/members',
|
||||
title = "Members";
|
||||
GtUsersScreen.stargazers(String owner, String repo)
|
||||
: api = '/repos/$owner/$repo/stargazers',
|
||||
title = 'Stargazers';
|
||||
GtUsersScreen.watchers(String owner, String repo)
|
||||
: api = '/repos/$owner/$repo/subscribers',
|
||||
title = 'Watchers';
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user