mirror of
https://github.com/pd4d10/git-touch.git
synced 2026-05-05 19:29:37 -05:00
fix: add missing links
This commit is contained in:
@@ -16,21 +16,15 @@ import '../screens/issues.dart';
|
||||
import '../screens/user.dart';
|
||||
import '../screens/organization.dart';
|
||||
import '../widgets/action.dart';
|
||||
import '../utils/utils.dart';
|
||||
|
||||
class RepoScreen extends StatefulWidget {
|
||||
class RepoScreen extends StatelessWidget {
|
||||
final String owner;
|
||||
final String name;
|
||||
|
||||
RepoScreen(this.owner, this.name);
|
||||
|
||||
@override
|
||||
_RepoScreenState createState() => _RepoScreenState();
|
||||
}
|
||||
|
||||
class _RepoScreenState extends State<RepoScreen> {
|
||||
String get owner => widget.owner;
|
||||
String get name => widget.name;
|
||||
RepoScreen.fromFullName(String fullName)
|
||||
: owner = fullName.split('/')[0],
|
||||
name = fullName.split('/')[1];
|
||||
|
||||
Future queryRepo(BuildContext context) async {
|
||||
var data = await Provider.of<SettingsModel>(context).query('''
|
||||
@@ -83,8 +77,6 @@ class _RepoScreenState extends State<RepoScreen> {
|
||||
}
|
||||
|
||||
Future fetchReadme(BuildContext context) async {
|
||||
var owner = widget.owner;
|
||||
var name = widget.name;
|
||||
var data = await Provider.of<SettingsModel>(context)
|
||||
.getWithCredentials('/repos/$owner/$name/readme');
|
||||
|
||||
@@ -100,7 +92,7 @@ class _RepoScreenState extends State<RepoScreen> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return RefreshScaffold(
|
||||
title: Text(widget.owner + '/' + widget.name),
|
||||
title: Text(owner + '/' + name),
|
||||
trailingBuilder: (data) {
|
||||
var payload = data[0];
|
||||
|
||||
@@ -180,33 +172,25 @@ class _RepoScreenState extends State<RepoScreen> {
|
||||
EntryItem(
|
||||
count: payload['issues']['totalCount'],
|
||||
text: 'Issues',
|
||||
screenBuilder: (context) => IssuesScreen(
|
||||
owner: widget.owner,
|
||||
name: widget.name,
|
||||
),
|
||||
screenBuilder: (context) =>
|
||||
IssuesScreen(owner: owner, name: name),
|
||||
),
|
||||
EntryItem(
|
||||
count: payload['pullRequests']['totalCount'],
|
||||
text: 'Pull Requests',
|
||||
screenBuilder: (context) => IssuesScreen(
|
||||
owner: widget.owner,
|
||||
name: widget.name,
|
||||
isPullRequest: true,
|
||||
),
|
||||
owner: owner, name: name, isPullRequest: true),
|
||||
),
|
||||
EntryItem(
|
||||
text: 'Files',
|
||||
screenBuilder: (context) => ObjectScreen(
|
||||
owner: widget.owner,
|
||||
name: widget.name,
|
||||
),
|
||||
screenBuilder: (context) =>
|
||||
ObjectScreen(owner: owner, name: name),
|
||||
),
|
||||
EntryItem(
|
||||
count: payload['defaultBranchRef']['target']['history']
|
||||
['totalCount'],
|
||||
text: 'Commits',
|
||||
screenBuilder: (context) =>
|
||||
CommitsScreen(widget.owner, widget.name),
|
||||
screenBuilder: (context) => CommitsScreen(owner, name),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
import 'package:git_touch/screens/repo.dart';
|
||||
import 'package:timeago/timeago.dart' as timeago;
|
||||
import 'package:primer/primer.dart';
|
||||
import '../screens/issue.dart';
|
||||
@@ -59,6 +59,7 @@ class EventItem extends StatelessWidget {
|
||||
Widget detailWidget,
|
||||
IconData iconData = Octicons.octoface,
|
||||
WidgetBuilder screenBuilder,
|
||||
String url,
|
||||
}) {
|
||||
if (detailWidget == null && detail != null) {
|
||||
detailWidget =
|
||||
@@ -67,6 +68,7 @@ class EventItem extends StatelessWidget {
|
||||
|
||||
return Link(
|
||||
screenBuilder: screenBuilder,
|
||||
url: url,
|
||||
child: Container(
|
||||
padding: EdgeInsets.all(10),
|
||||
child: Column(
|
||||
@@ -84,7 +86,7 @@ class EventItem extends StatelessWidget {
|
||||
Expanded(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: join(SizedBox(height: 6), [
|
||||
children: join(SizedBox(height: 8), [
|
||||
RichText(
|
||||
text: TextSpan(
|
||||
style: TextStyle(
|
||||
@@ -170,6 +172,9 @@ class EventItem extends StatelessWidget {
|
||||
_buildRepo(context),
|
||||
],
|
||||
iconData: Octicons.repo_forked,
|
||||
screenBuilder: (_) => RepoScreen(
|
||||
event.payload['forkee']['owner']['login'],
|
||||
event.payload['forkee']['name']),
|
||||
);
|
||||
case 'ForkApplyEvent':
|
||||
case 'GitHubAppAuthorizationEvent':
|
||||
@@ -298,40 +303,36 @@ class EventItem extends StatelessWidget {
|
||||
_buildRepo(context)
|
||||
],
|
||||
iconData: Octicons.repo_push,
|
||||
detailWidget: Link(
|
||||
onTap: () {
|
||||
launch('https://github.com/' +
|
||||
event.repoFullName +
|
||||
'/compare/' +
|
||||
event.payload['before'] +
|
||||
'...' +
|
||||
event.payload['head']);
|
||||
},
|
||||
child: Column(
|
||||
children: commits.map((commit) {
|
||||
return Row(children: <Widget>[
|
||||
Text(
|
||||
(commit['sha'] as String).substring(0, 7),
|
||||
style: TextStyle(
|
||||
color: PrimerColors.blue500,
|
||||
fontSize: 13,
|
||||
fontFamily: 'Menlo',
|
||||
fontFamilyFallback: ['Menlo', 'Roboto Mono'],
|
||||
),
|
||||
detailWidget: Column(
|
||||
children: commits.map((commit) {
|
||||
return Row(children: <Widget>[
|
||||
Text(
|
||||
(commit['sha'] as String).substring(0, 7),
|
||||
style: TextStyle(
|
||||
color: PrimerColors.blue500,
|
||||
fontSize: 13,
|
||||
fontFamily: 'Menlo',
|
||||
fontFamilyFallback: ['Menlo', 'Roboto Mono'],
|
||||
),
|
||||
SizedBox(width: 6),
|
||||
Expanded(
|
||||
child: Text(
|
||||
commit['message'],
|
||||
style: TextStyle(color: Colors.black54, fontSize: 14),
|
||||
overflow: TextOverflow.ellipsis,
|
||||
maxLines: 1,
|
||||
),
|
||||
)
|
||||
]);
|
||||
}).toList(),
|
||||
),
|
||||
),
|
||||
SizedBox(width: 6),
|
||||
Expanded(
|
||||
child: Text(
|
||||
commit['message'],
|
||||
style: TextStyle(color: Colors.black54, fontSize: 14),
|
||||
overflow: TextOverflow.ellipsis,
|
||||
maxLines: 1,
|
||||
),
|
||||
)
|
||||
]);
|
||||
}).toList(),
|
||||
),
|
||||
url: 'https://github.com/' +
|
||||
event.repoFullName +
|
||||
'/compare/' +
|
||||
event.payload['before'] +
|
||||
'...' +
|
||||
event.payload['head'],
|
||||
);
|
||||
case 'ReleaseEvent':
|
||||
case 'RepositoryEvent':
|
||||
@@ -348,6 +349,7 @@ class EventItem extends StatelessWidget {
|
||||
context: context,
|
||||
spans: [TextSpan(text: ' starred '), _buildRepo(context)],
|
||||
iconData: Octicons.star,
|
||||
screenBuilder: (_) => RepoScreen.fromFullName(event.repoFullName),
|
||||
);
|
||||
default:
|
||||
return defaultItem;
|
||||
|
||||
Reference in New Issue
Block a user