From 0d722f062e714de105d228a6ea2683b36d6e616b Mon Sep 17 00:00:00 2001 From: Rongjian Zhang Date: Thu, 8 Oct 2020 14:30:13 +0800 Subject: [PATCH] fix(github): cross reference event --- lib/widgets/timeline_item.dart | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/widgets/timeline_item.dart b/lib/widgets/timeline_item.dart index b43c5e58..82692b64 100644 --- a/lib/widgets/timeline_item.dart +++ b/lib/widgets/timeline_item.dart @@ -103,12 +103,19 @@ class TimelineItem extends StatelessWidget { case 'IssueComment': return CommentItem.gh(p); case 'CrossReferencedEvent': + final number = p['source']['number'] as int; + final owner = p['source']['repository']['owner']['login'] as String; + final name = p['source']['repository']['name'] as String; + final prefix = p['source']['__typename'] == 'Issue' ? 'issues' : 'pull'; return TimelineEventItem( actor: p['actor']['login'], iconData: Octicons.primitive_dot, iconColor: GithubPalette.open, - textSpan: TextSpan( - text: ' referenced this on #' + p['source']['number'].toString()), + textSpan: TextSpan(children: [ + TextSpan(text: ' referenced this on '), + createLinkSpan(context, '$owner/$name#$number', + '/github/$owner/$name/$prefix/$number'), + ]), p: p, ); case 'ClosedEvent':