mirror of
https://github.com/git-touch/git-touch
synced 2025-02-20 13:30:38 +01:00
refactor: repository full name
This commit is contained in:
parent
ac4fe0b2ed
commit
88509f9872
@ -4,7 +4,8 @@ import 'package:git_touch/models/code.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:git_touch/models/theme.dart';
|
||||
import 'package:git_touch/screens/issues.dart';
|
||||
import 'package:git_touch/screens/repo.dart';
|
||||
import 'package:git_touch/screens/repository.dart';
|
||||
import 'package:git_touch/screens/repositories.dart';
|
||||
import 'package:git_touch/screens/user.dart';
|
||||
import 'package:primer/primer.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
@ -14,7 +15,6 @@ import 'screens/notifications.dart';
|
||||
import 'screens/search.dart';
|
||||
import 'screens/login.dart';
|
||||
import 'screens/issue.dart';
|
||||
import 'screens/repos.dart';
|
||||
import 'screens/organization.dart';
|
||||
import 'screens/trending.dart';
|
||||
import 'utils/utils.dart';
|
||||
|
@ -1,9 +1,10 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:git_touch/screens/repos.dart';
|
||||
import 'package:git_touch/screens/repositories.dart';
|
||||
import 'package:git_touch/screens/users.dart';
|
||||
import 'package:git_touch/widgets/app_bar_title.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_item.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
@ -11,7 +12,6 @@ import 'package:share/share.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../scaffolds/refresh.dart';
|
||||
import '../widgets/repo_item.dart';
|
||||
import '../widgets/action.dart';
|
||||
import '../utils/utils.dart';
|
||||
|
||||
@ -46,7 +46,7 @@ class OrganizationScreen extends StatelessWidget {
|
||||
...join(
|
||||
borderView,
|
||||
items.map((item) {
|
||||
return RepoItem(item);
|
||||
return RepositoryItem(item);
|
||||
}).toList(),
|
||||
)
|
||||
];
|
||||
@ -122,7 +122,8 @@ class OrganizationScreen extends StatelessWidget {
|
||||
EntryItem(
|
||||
count: payload['pinnableItems']['totalCount'],
|
||||
text: 'Repositories',
|
||||
screenBuilder: (context) => ReposScreen(login, org: true),
|
||||
screenBuilder: (context) =>
|
||||
RepositoriesScreen(login, org: true),
|
||||
),
|
||||
EntryItem(
|
||||
count: payload['membersWithRole']['totalCount'],
|
||||
|
@ -4,15 +4,15 @@ import '../scaffolds/list.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../utils/utils.dart';
|
||||
import '../widgets/repo_item.dart';
|
||||
import 'package:git_touch/widgets/repository_item.dart';
|
||||
|
||||
// TODO: refactor
|
||||
class ReposScreen extends StatelessWidget {
|
||||
class RepositoriesScreen extends StatelessWidget {
|
||||
final String login;
|
||||
final bool star;
|
||||
final bool org;
|
||||
|
||||
ReposScreen(this.login, {this.star = false, this.org = false});
|
||||
RepositoriesScreen(this.login, {this.star = false, this.org = false});
|
||||
|
||||
String get scope => org ? 'organization' : 'user';
|
||||
String get resource =>
|
||||
@ -63,7 +63,7 @@ class ReposScreen extends StatelessWidget {
|
||||
title: AppBarTitle(star ? 'Stars' : 'Repositories'),
|
||||
onRefresh: () => _queryRepos(context),
|
||||
onLoadMore: (cursor) => _queryRepos(context, cursor),
|
||||
itemBuilder: (payload) => RepoItem(payload),
|
||||
itemBuilder: (payload) => RepositoryItem(payload),
|
||||
);
|
||||
}
|
||||
}
|
@ -14,22 +14,22 @@ import 'package:git_touch/screens/object.dart';
|
||||
import 'package:share/share.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
import '../scaffolds/refresh.dart';
|
||||
import '../widgets/repo_item.dart';
|
||||
import 'package:git_touch/widgets/repository_item.dart';
|
||||
import '../widgets/entry_item.dart';
|
||||
import '../screens/issues.dart';
|
||||
import '../screens/user.dart';
|
||||
import '../screens/organization.dart';
|
||||
import '../widgets/action.dart';
|
||||
|
||||
class RepoScreen extends StatelessWidget {
|
||||
class RepositoryScreen extends StatelessWidget {
|
||||
final String owner;
|
||||
final String name;
|
||||
final String branch;
|
||||
|
||||
static const _languageBarPadding = 10.0;
|
||||
|
||||
RepoScreen(this.owner, this.name, {this.branch});
|
||||
RepoScreen.fromFullName(String fullName, {this.branch})
|
||||
RepositoryScreen(this.owner, this.name, {this.branch});
|
||||
RepositoryScreen.fromFullName(String fullName, {this.branch})
|
||||
: owner = fullName.split('/')[0],
|
||||
name = fullName.split('/')[1];
|
||||
|
||||
@ -180,7 +180,7 @@ class RepoScreen extends StatelessWidget {
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: <Widget>[
|
||||
RepoItem(payload, inRepoScreen: true),
|
||||
RepositoryItem(payload, inRepoScreen: true),
|
||||
borderView,
|
||||
Row(
|
||||
children: <Widget>[
|
||||
@ -296,7 +296,8 @@ class RepoScreen extends StatelessWidget {
|
||||
if (result != null) {
|
||||
Provider.of<ThemeModel>(context).pushReplacementRoute(
|
||||
context,
|
||||
(_) => RepoScreen(owner, name, branch: result));
|
||||
(_) =>
|
||||
RepositoryScreen(owner, name, branch: result));
|
||||
}
|
||||
},
|
||||
),
|
@ -6,7 +6,7 @@ import 'package:provider/provider.dart';
|
||||
import 'package:git_touch/models/settings.dart';
|
||||
import '../scaffolds/simple.dart';
|
||||
import '../utils/utils.dart';
|
||||
import '../widgets/repo_item.dart';
|
||||
import 'package:git_touch/widgets/repository_item.dart';
|
||||
import '../widgets/loading.dart';
|
||||
|
||||
class SearchScreen extends StatefulWidget {
|
||||
@ -69,7 +69,8 @@ class _SearchScreenState extends State<SearchScreen> {
|
||||
loading
|
||||
? Loading()
|
||||
: Column(
|
||||
children: repos.map((repo) => RepoItem(repo)).toList(),
|
||||
children:
|
||||
repos.map((repo) => RepositoryItem(repo)).toList(),
|
||||
)
|
||||
],
|
||||
);
|
||||
|
@ -2,13 +2,13 @@ import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:git_touch/models/theme.dart';
|
||||
import 'package:git_touch/screens/object.dart';
|
||||
import 'package:git_touch/screens/repository.dart';
|
||||
import 'package:git_touch/utils/utils.dart';
|
||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:launch_review/launch_review.dart';
|
||||
import '../scaffolds/simple.dart';
|
||||
import '../widgets/table_view.dart';
|
||||
import '../screens/repo.dart';
|
||||
import '../screens/login.dart';
|
||||
|
||||
class SettingsScreen extends StatelessWidget {
|
||||
@ -62,7 +62,7 @@ class SettingsScreen extends StatelessWidget {
|
||||
TableView(headerText: 'ABOUT', items: [
|
||||
TableViewItem(
|
||||
text: Text('Source Code'),
|
||||
screenBuilder: (_) => RepoScreen('pd4d10', 'git-touch'),
|
||||
screenBuilder: (_) => RepositoryScreen('pd4d10', 'git-touch'),
|
||||
),
|
||||
TableViewItem(
|
||||
text: Text('License'),
|
||||
|
@ -4,7 +4,7 @@ import 'package:git_touch/utils/utils.dart';
|
||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import '../scaffolds/refresh.dart';
|
||||
import '../widgets/repo_item.dart';
|
||||
import 'package:git_touch/widgets/repository_item.dart';
|
||||
|
||||
class TrendingScreen extends StatefulWidget {
|
||||
@override
|
||||
@ -49,7 +49,7 @@ class _TrendingScreenState extends State<TrendingScreen> {
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: join(
|
||||
borderView,
|
||||
payload.map<Widget>((item) => RepoItem(item)).toList(),
|
||||
payload.map<Widget>((item) => RepositoryItem(item)).toList(),
|
||||
),
|
||||
);
|
||||
},
|
||||
|
@ -1,5 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:git_touch/screens/repositories.dart';
|
||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||
import 'package:git_touch/widgets/table_view.dart';
|
||||
import 'package:git_touch/widgets/user_item.dart';
|
||||
@ -10,10 +11,9 @@ import 'package:git_touch/models/settings.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../scaffolds/refresh.dart';
|
||||
import '../widgets/entry_item.dart';
|
||||
import '../widgets/repo_item.dart';
|
||||
import 'package:git_touch/widgets/repository_item.dart';
|
||||
import '../widgets/link.dart';
|
||||
import '../widgets/action.dart';
|
||||
import '../screens/repos.dart';
|
||||
import '../screens/users.dart';
|
||||
import '../screens/settings.dart';
|
||||
import '../utils/utils.dart';
|
||||
@ -92,7 +92,7 @@ class UserScreen extends StatelessWidget {
|
||||
...join(
|
||||
borderView,
|
||||
items.map((item) {
|
||||
return RepoItem(item);
|
||||
return RepositoryItem(item);
|
||||
}).toList(),
|
||||
)
|
||||
];
|
||||
@ -204,12 +204,13 @@ class UserScreen extends StatelessWidget {
|
||||
EntryItem(
|
||||
count: payload['repositories']['totalCount'],
|
||||
text: 'Repositories',
|
||||
screenBuilder: (context) => ReposScreen(login),
|
||||
screenBuilder: (context) => RepositoriesScreen(login),
|
||||
),
|
||||
EntryItem(
|
||||
count: payload['starredRepositories']['totalCount'],
|
||||
text: 'Stars',
|
||||
screenBuilder: (context) => ReposScreen(login, star: true),
|
||||
screenBuilder: (context) =>
|
||||
RepositoriesScreen(login, star: true),
|
||||
),
|
||||
EntryItem(
|
||||
count: payload['followers']['totalCount'],
|
||||
|
@ -3,10 +3,10 @@ import 'dart:io';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:git_touch/screens/repository.dart';
|
||||
import 'package:git_touch/screens/user.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:primer/primer.dart';
|
||||
import '../screens/repo.dart';
|
||||
export 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
||||
|
||||
final monospaceFont = Platform.isIOS ? 'Menlo' : 'monospace'; // FIXME:
|
||||
@ -70,7 +70,8 @@ TextSpan createUserSpan(BuildContext context, String login) {
|
||||
}
|
||||
|
||||
TextSpan createRepoLinkSpan(BuildContext context, String owner, String name) {
|
||||
return createLinkSpan(context, '$owner/$name', () => RepoScreen(owner, name));
|
||||
return createLinkSpan(
|
||||
context, '$owner/$name', () => RepositoryScreen(owner, name));
|
||||
}
|
||||
|
||||
class Palette {
|
||||
|
@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:git_touch/screens/repo.dart';
|
||||
import 'package:git_touch/screens/repository.dart';
|
||||
import 'package:timeago/timeago.dart' as timeago;
|
||||
import 'package:primer/primer.dart';
|
||||
import '../screens/issue.dart';
|
||||
@ -175,7 +175,7 @@ class EventItem extends StatelessWidget {
|
||||
_buildRepo(context),
|
||||
],
|
||||
iconData: Octicons.repo_forked,
|
||||
screenBuilder: (_) => RepoScreen(
|
||||
screenBuilder: (_) => RepositoryScreen(
|
||||
event.payload['forkee']['owner']['login'],
|
||||
event.payload['forkee']['name']),
|
||||
);
|
||||
@ -352,7 +352,8 @@ class EventItem extends StatelessWidget {
|
||||
context: context,
|
||||
spans: [TextSpan(text: ' starred '), _buildRepo(context)],
|
||||
iconData: Octicons.star,
|
||||
screenBuilder: (_) => RepoScreen.fromFullName(event.repoFullName),
|
||||
screenBuilder: (_) =>
|
||||
RepositoryScreen.fromFullName(event.repoFullName),
|
||||
);
|
||||
default:
|
||||
return defaultItem;
|
||||
|
@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:git_touch/screens/repository.dart';
|
||||
import 'package:git_touch/widgets/avatar.dart';
|
||||
import 'package:primer/primer.dart';
|
||||
import '../utils/utils.dart';
|
||||
import '../screens/repo.dart';
|
||||
import 'link.dart';
|
||||
|
||||
const repoChunk = '''
|
||||
@ -27,11 +27,11 @@ primaryLanguage {
|
||||
}
|
||||
''';
|
||||
|
||||
class RepoItem extends StatelessWidget {
|
||||
class RepositoryItem extends StatelessWidget {
|
||||
final Map<String, dynamic> payload;
|
||||
final bool inRepoScreen;
|
||||
|
||||
RepoItem(this.payload, {this.inRepoScreen = false});
|
||||
RepositoryItem(this.payload, {this.inRepoScreen = false});
|
||||
|
||||
IconData _buildIconData() {
|
||||
if (payload['isPrivate']) {
|
||||
@ -150,7 +150,7 @@ class RepoItem extends StatelessWidget {
|
||||
// TODO: text style
|
||||
return Link(
|
||||
screenBuilder: (_) =>
|
||||
RepoScreen(payload['owner']['login'], payload['name']),
|
||||
RepositoryScreen(payload['owner']['login'], payload['name']),
|
||||
child: widget,
|
||||
);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user