99 AssignEvent ,
1010 CommentEvent ,
1111 CommitEvent ,
12+ CrossReferencedEvent ,
1213 EventType ,
1314 HeadRefDeleteEvent ,
1415 MergedEvent ,
@@ -20,7 +21,7 @@ import { ReviewType } from '../../src/github/views';
2021import PullRequestContext from '../common/context' ;
2122import { CommentView } from './comment' ;
2223import Diff from './diff' ;
23- import { commitIcon , mergeIcon , plusIcon } from './icon' ;
24+ import { assigneeIcon , commitIcon , linkIcon , mergeIcon , plusIcon } from './icon' ;
2425import { nbsp } from './space' ;
2526import { Timestamp } from './timestamp' ;
2627import { AuthorLink , Avatar } from './user' ;
@@ -41,6 +42,8 @@ export const Timeline = ({ events }: { events: TimelineEvent[] }) => (
4142 return < AssignEventView key = { `assign${ event . id } ` } { ...event } /> ;
4243 case EventType . HeadRefDeleted :
4344 return < HeadDeleteEventView key = { `head${ event . id } ` } { ...event } /> ;
45+ case EventType . CrossReferenced :
46+ return < CrossReferencedEventView key = { `cross${ event . id } ` } { ...event } /> ;
4447 case EventType . NewCommitsSinceReview :
4548 return < NewCommitsSinceReviewEventView key = { `newCommits${ event . id } ` } /> ;
4649 default :
@@ -282,6 +285,44 @@ const HeadDeleteEventView = (event: HeadRefDeleteEvent) => (
282285 </ div >
283286) ;
284287
285- // TODO: We should show these, but the pre-React overview page didn't. Add
286- // support in a separate PR.
287- const AssignEventView = ( event : AssignEvent ) => null ;
288+ const CrossReferencedEventView = ( event : CrossReferencedEvent ) => {
289+ const { source } = event ;
290+ return (
291+ < div className = "comment-container commit" >
292+ < div className = "commit-message" >
293+ { linkIcon }
294+ { nbsp }
295+ < div className = "avatar-container" >
296+ < Avatar for = { event . actor } />
297+ </ div >
298+ < AuthorLink for = { event . actor } />
299+ < div className = "message" >
300+ linked < a href = { source . url } > #{ source . number } </ a > { source . title }
301+ { nbsp }
302+ { event . willCloseTarget ? 'which will close this issue' : '' }
303+ </ div >
304+ </ div >
305+ < Timestamp date = { event . createdAt } />
306+ </ div >
307+ ) ;
308+ } ;
309+
310+ const AssignEventView = ( event : AssignEvent ) => {
311+ const { actor, assignee } = event ;
312+ return (
313+ < div className = "comment-container commit" >
314+ < div className = "commit-message" >
315+ { assigneeIcon }
316+ { nbsp }
317+ < div className = "avatar-container" >
318+ < Avatar for = { actor } />
319+ </ div >
320+ < AuthorLink for = { actor } />
321+ < div className = "message" >
322+ assigned < AuthorLink for = { assignee } /> to this pull request
323+ </ div >
324+ </ div >
325+ < Timestamp date = { event . createdAt } />
326+ </ div >
327+ ) ;
328+ } ;
0 commit comments