Skip to content

Commit

Permalink
feat(gitea): add orgs in user screen
Browse files Browse the repository at this point in the history
  • Loading branch information
pd4d10 committed Oct 6, 2020
1 parent aa62524 commit 99b2b79
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 9 deletions.
2 changes: 2 additions & 0 deletions lib/models/gitea.dart
Expand Up @@ -21,6 +21,8 @@ class GiteaOrg {
String fullName;
String avatarUrl;
String description;
String website;
String location;
GiteaOrg();
factory GiteaOrg.fromJson(Map<String, dynamic> json) =>
_$GiteaOrgFromJson(json);
Expand Down
6 changes: 5 additions & 1 deletion lib/models/gitea.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions lib/router.dart
Expand Up @@ -17,6 +17,7 @@ import 'package:git_touch/screens/gl_starrers.dart';
import 'package:git_touch/screens/gt_commits.dart';
import 'package:git_touch/screens/gt_issues.dart';
import 'package:git_touch/screens/gt_object.dart';
import 'package:git_touch/screens/gt_orgs.dart';
import 'package:git_touch/screens/gt_repo.dart';
import 'package:git_touch/screens/gt_repos.dart';
import 'package:git_touch/screens/gt_user.dart';
Expand Down Expand Up @@ -289,6 +290,8 @@ class GiteaRouter {
return GtReposScreen(login);
case 'orgrepo':
return GtReposScreen.org(login);
case 'organizations':
return GtOrgsScreen.ofUser(login);
default:
return GtUserScreen(login);
}
Expand Down
15 changes: 8 additions & 7 deletions lib/screens/gt_orgs.dart
Expand Up @@ -7,27 +7,28 @@ import 'package:git_touch/widgets/user_item.dart';
import 'package:provider/provider.dart';

class GtOrgsScreen extends StatelessWidget {
final String api;
GtOrgsScreen() : api = '/orgs';
GtOrgsScreen.ofUser(String login) : api = '/users/$login/orgs';

@override
Widget build(BuildContext context) {
return ListStatefulScaffold<GiteaOrg, int>(
title: AppBarTitle('Organizations'),
onLoadMore: (page) async {
// final String branch; // TODO:
final res = await context
.read<AuthModel>()
.fetchGiteaWithPage('/orgs', page: page);
// TODO: https://github.com/go-gitea/gitea/issues/10199
final res =
await context.read<AuthModel>().fetchGiteaWithPage(api, page: page);
return ListPayload(
cursor: res.cursor,
hasMore: res.hasMore,
items: (res.data as List).map((v) => GiteaOrg.fromJson(v)).toList(),
items: [for (var v in res.data) GiteaOrg.fromJson(v)],
);
},
itemBuilder: (v) {
return UserItem(
avatarUrl: v.avatarUrl,
login: v.username,
bio: Text(v.description ?? ''),
bio: Text(v.description ?? v.website ?? v.location),
url: '/gitea/${v.username}?org=1',
);
},
Expand Down
14 changes: 13 additions & 1 deletion lib/screens/gt_user.dart
Expand Up @@ -8,6 +8,7 @@ import 'package:git_touch/widgets/action_entry.dart';
import 'package:git_touch/widgets/contribution.dart';
import 'package:git_touch/widgets/entry_item.dart';
import 'package:git_touch/widgets/repository_item.dart';
import 'package:git_touch/widgets/table_view.dart';
import 'package:git_touch/widgets/user_header.dart';
import 'package:provider/provider.dart';
import 'package:timeago/timeago.dart' as timeago;
Expand Down Expand Up @@ -143,7 +144,18 @@ class GtUserScreen extends StatelessWidget {
avatarLink: '/gitea/${v.owner.login}',
)
],
)
),
CommonStyle.border,
TableView(
hasIcon: true,
items: [
TableViewItem(
leftIconData: Octicons.home,
text: Text('Organizations'),
url: '/gitea/$login?tab=organizations',
),
],
),
],
);
} else if (p.org != null) {
Expand Down

0 comments on commit 99b2b79

Please sign in to comment.