diff options
author | Michael Muré <batolettre@gmail.com> | 2018-08-15 22:09:17 +0200 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2018-08-15 22:09:17 +0200 |
commit | 17aa40505b58a4a9d679efb8512252397872470c (patch) | |
tree | 9d783de22809130675efea74338161bfb9c28a01 | |
parent | a47409377417538b7be446a6aa33dae8989cfd9a (diff) | |
download | git-bug-17aa40505b58a4a9d679efb8512252397872470c.tar.gz |
webui: display title changes in the timeline
-rw-r--r-- | webui/src/bug/SetTitle.js | 43 | ||||
-rw-r--r-- | webui/src/bug/Timeline.js | 3 | ||||
-rw-r--r-- | webui/src/bug/TimelineQuery.js | 3 |
3 files changed, 49 insertions, 0 deletions
diff --git a/webui/src/bug/SetTitle.js b/webui/src/bug/SetTitle.js new file mode 100644 index 00000000..b6bb8b70 --- /dev/null +++ b/webui/src/bug/SetTitle.js @@ -0,0 +1,43 @@ +import { withStyles } from '@material-ui/core/styles' +import gql from 'graphql-tag' +import React from 'react' +import Author from '../Author' +import Date from '../Date' + +const styles = theme => ({ + main: { + ...theme.typography.body2 + }, + bold: { + fontWeight: 'bold' + } +}) + +const SetTitle = ({op, classes}) => { + return ( + <div className={classes.main}> + <Author author={op.author} bold /> + <span> changed the title from </span> + <span className={classes.bold}>{op.was}</span> + <span> to </span> + <span className={classes.bold}>{op.title}</span> + <Date date={op.date} /> + </div> + ) +} + +SetTitle.fragment = gql` + fragment SetTitle on Operation { + ... on SetTitleOperation { + date + author { + name + email + } + title + was + } + } +` + +export default withStyles(styles)(SetTitle) diff --git a/webui/src/bug/Timeline.js b/webui/src/bug/Timeline.js index 72c07121..2881a73b 100644 --- a/webui/src/bug/Timeline.js +++ b/webui/src/bug/Timeline.js @@ -2,6 +2,7 @@ import { withStyles } from '@material-ui/core/styles' import React from 'react' import LabelChange from './LabelChange' import Message from './Message' +import SetTitle from './SetTitle' const styles = theme => ({ main: { @@ -32,6 +33,8 @@ class Timeline extends React.Component { return <Message key={index} op={op}/> case 'LabelChangeOperation': return <LabelChange key={index} op={op}/> + case 'SetTitleOperation': + return <SetTitle key={index} op={op}/> default: console.log('unsupported operation type ' + op.__typename) diff --git a/webui/src/bug/TimelineQuery.js b/webui/src/bug/TimelineQuery.js index ad4d00b0..3d7db143 100644 --- a/webui/src/bug/TimelineQuery.js +++ b/webui/src/bug/TimelineQuery.js @@ -3,6 +3,7 @@ import gql from 'graphql-tag' import React from 'react' import { Query } from 'react-apollo' import LabelChange from './LabelChange' +import SetTitle from './SetTitle' import Timeline from './Timeline' import Message from './Message' @@ -15,6 +16,7 @@ const QUERY = gql` ...Create ...Comment ...LabelChange + ...SetTitle } pageInfo { hasNextPage @@ -27,6 +29,7 @@ const QUERY = gql` ${Message.createFragment} ${Message.commentFragment} ${LabelChange.fragment} + ${SetTitle.fragment} ` const TimelineQuery = ({id}) => ( |