aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/render-msg.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/render-msg.js b/lib/render-msg.js
index bc0d383..a9b783f 100644
--- a/lib/render-msg.js
+++ b/lib/render-msg.js
@@ -55,6 +55,7 @@ RenderMsg.prototype.wrap = function (content, cb) {
h('code.ssb-id',
{href: this.toUrl(this.msg.key)}, this.msg.key),
channel ? [' ', h('a', {href: this.toUrl(channel)}, channel)] : ''),
+ this.issues(done()),
content),
h('td.msg-right',
this.msg.rel ? [this.msg.rel, ' '] : '',
@@ -220,6 +221,19 @@ RenderMsg.prototype.link = function (link, cb) {
})
}
+RenderMsg.prototype.link1 = function (link, cb) {
+ var self = this
+ var ref = u.linkDest(link)
+ if (!ref) return cb(), ''
+ var a = h('a', {href: self.toUrl(ref)}, ref)
+ self.getName(ref, function (err, name) {
+ if (err) return cb(err)
+ a.childNodes[0].textContent = name
+ cb()
+ })
+ return a
+}
+
RenderMsg.prototype.about = function (cb) {
var img = u.linkDest(this.c.image)
this.wrapMini([
@@ -335,3 +349,23 @@ RenderMsg.prototype.issue = function (cb) {
RenderMsg.prototype.object = function (cb) {
this.wrapMini(h('pre', this.c.type), cb)
}
+
+RenderMsg.prototype.issues = function (cb) {
+ var self = this
+ var done = multicb({pluck: 1, spread: true})
+ var els = u.toArray(self.c.issues).map(function (issue) {
+ var commit = issue.object || issue.label ? [
+ issue.object ? h('code', issue.object) : '', ' ',
+ issue.label ? h('q', issue.label) : ''] : ''
+ if (issue.merged === true)
+ return h('div',
+ 'merged ', self.link1(issue, done()),
+ commit ? [' in ', commit] : '')
+ if (issue.open === false)
+ return h('div',
+ 'closed ', self.link1(issue, done()),
+ commit ? [' in ', commit] : '')
+ })
+ done(cb)
+ return els
+}