aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/render-msg.js45
-rw-r--r--lib/serve.js3
-rw-r--r--static/styles.css9
3 files changed, 35 insertions, 22 deletions
diff --git a/lib/render-msg.js b/lib/render-msg.js
index 51d094e..1af0b34 100644
--- a/lib/render-msg.js
+++ b/lib/render-msg.js
@@ -92,8 +92,8 @@ RenderMsg.prototype.wrap = function (content, cb) {
var self = this
var channel = this.c.channel ? '#' + this.c.channel : ''
var done = multicb({pluck: 1, spread: true})
- done()(null, h('tr.msg-row',
- h('td.msg-left',
+ done()(null, [h('tr.msg-row',
+ h('td.msg-left', {rowspan: 2},
h('div', this.render.avatarImage(this.msg.value.author, done())),
h('div', this.render.idLink(this.msg.value.author, done())),
this.recpsLine(done())
@@ -107,20 +107,17 @@ RenderMsg.prototype.wrap = function (content, cb) {
h('code', h('a.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.issues(done())),
+ h('td.msg-right', h('form', {method: 'post', action: '/vote'},
this.msg.rel ? [this.msg.rel, ' '] : '',
- this.msg.key ? h('form', {method: 'post', action: '/vote'},
- h('div', h('a', {href: this.toUrl(this.msg.key) + '?raw'}, 'raw')),
- h('input', {type: 'hidden', name: 'recps',
- value: this.recpsIds().join(',')}),
- h('input', {type: 'hidden', name: 'link', value: this.msg.key}),
- h('input', {type: 'hidden', name: 'value', value: 1}),
- h('input', {type: 'submit', name: 'expression', value: 'dig'})
- ) : ''
- )
- ))
+ this.msg.key ? [
+ h('a', {href: this.toUrl(this.msg.key) + '?raw'}, 'raw'), ' ',
+ this.voteFormInner('dig')
+ ] : ''
+ ))
+ ), h('tr',
+ h('td.msg-content', {colspan: 2}, content)
+ )])
done(cb)
}
@@ -141,8 +138,13 @@ RenderMsg.prototype.wrapMini = function (content, cb) {
href: this.msg.key ? this.toUrl(this.msg.key) : undefined
}, htime(date)), ' ',
content),
- h('td.msg-right',
- h('a', {href: this.toUrl(this.msg.key) + '?raw'}, 'raw'))
+ h('td.msg-right', h('form', {method: 'post', action: '/vote'},
+ this.msg.rel ? [this.msg.rel, ' '] : '',
+ this.msg.key ? [
+ h('a', {href: this.toUrl(this.msg.key) + '?raw'}, 'raw'), ' ',
+ this.voteFormInner('dig')
+ ] : ''
+ ))
))
done(cb)
}
@@ -162,6 +164,15 @@ RenderMsg.prototype.recpsIds = function () {
: []
}
+RenderMsg.prototype.voteFormInner = function (expression) {
+ return [
+ h('input', {type: 'hidden', name: 'recps',
+ value: this.recpsIds().join(',')}),
+ h('input', {type: 'hidden', name: 'link', value: this.msg.key}),
+ h('input', {type: 'hidden', name: 'value', value: 1}),
+ h('input', {type: 'submit', name: 'expression', value: expression})]
+}
+
RenderMsg.prototype.message = function (raw, cb) {
if (raw) return this.raw(cb)
if (typeof this.c === 'string') return this.encrypted(cb)
diff --git a/lib/serve.js b/lib/serve.js
index 5386cbc..c2ac2ee 100644
--- a/lib/serve.js
+++ b/lib/serve.js
@@ -539,7 +539,7 @@ Serve.prototype.renderThreadPaginated = function (opts, feedId, q) {
}
function links(opts) {
var limit = opts.limit || q.limit || 10
- return h('tr', h('td.paginate', {colspan: 2},
+ return h('tr', h('td.paginate', {colspan: 3},
opts.forwards ? '↑ newer ' : '↓ older ',
linkA(mergeOpts(opts, {limit: 1})), ' ',
linkA(mergeOpts(opts, {limit: 10})), ' ',
@@ -917,6 +917,7 @@ Serve.prototype.composer = function (opts, cb) {
pull.once(msg),
pull.asyncMap(self.app.unboxMsg),
self.app.render.renderFeeds(raw),
+ pull.flatten(),
pull.drain(function (el) {
msgContainer.appendChild(el)
}, cb)
diff --git a/static/styles.css b/static/styles.css
index ccda4cb..e4e43c4 100644
--- a/static/styles.css
+++ b/static/styles.css
@@ -104,16 +104,17 @@ pre {
padding: .5ex;
}
-td {
- vertical-align: top;
+.msg-content {
+ padding: 0 .5ex .5ex 0;
}
-.msg-main {
- width: 100%;
+td {
+ vertical-align: top;
}
.msg-right {
text-align: right;
+ padding: .2ex .5ex;
}
.feed-name {