blob: f954372a5b1618d8860ccb5aee57ede6ed1ec2bf (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
import { withStyles } from '@material-ui/core/styles'
import gql from 'graphql-tag'
import React from 'react'
import Author from '../Author'
import Date from '../Date'
import Label from '../Label'
const styles = theme => ({
main: {
...theme.typography.body2
},
})
const LabelChange = ({op, classes}) => {
const {added, removed} = op
return (
<div className={classes.main}>
<Author author={op.author} bold />
{ added.length > 0 && <span> added the </span>}
{ added.map((label, index) => <Label key={index} label={label} />)}
{ (added.length > 0 && removed.length > 0) && <span> and</span>}
{ removed.length > 0 && <span> removed the </span>}
{ removed.map((label, index) => <Label key={index} label={label} />)}
<span> label{ (added.length + removed.length > 1) && 's'} </span>
<Date date={op.date} />
</div>
)
}
LabelChange.fragment = gql`
fragment LabelChange on Operation {
... on LabelChangeOperation {
date
author {
name
email
}
added
removed
}
}
`
export default withStyles(styles)(LabelChange)
|