Commit 1b66c47afdef9e153462cf94ef615c9b15f47c84
display backlinks on threads
Matt McKegg committed on 2/17/2017, 4:02:17 PMParent: 0226ff61f37fc9d4a090da891284f7e6fa9646cc
Files changed
modules/page/html/render/message.js | changed |
plugs/message/html/layout/default.js | changed |
styles/message.mcss | changed |
modules/page/html/render/message.js | ||
---|---|---|
@@ -56,9 +56,9 @@ | ||
56 | 56 … | var container = h('Thread', [ |
57 | 57 … | when(thread.branchId, h('a.full', {href: thread.rootId}, ['View full thread'])), |
58 | 58 … | map(thread.messages, (msg) => { |
59 | 59 … | return computed([msg, thread.previousKey(msg)], (msg, previousId) => { |
60 | - return api.message.html.render(msg, {previousId}) | |
60 … | + return api.message.html.render(msg, {previousId, backlinks: true}) | |
61 | 61 … | }) |
62 | 62 … | }), |
63 | 63 … | compose |
64 | 64 … | ]) |
plugs/message/html/layout/default.js | |||
---|---|---|---|
@@ -1,9 +1,11 @@ | |||
1 | -const { when, h } = require('mutant') | ||
1 … | +const { when, h, map } = require('mutant') | ||
2 | 2 … | var nest = require('depnest') | |
3 | 3 … | ||
4 | 4 … | exports.needs = nest({ | |
5 | 5 … | 'profile.html.person': 'first', | |
6 … | + 'message.obs.backlinks': 'first', | ||
7 … | + 'message.obs.name': 'first', | ||
6 | 8 … | 'message.html': { | |
7 | 9 … | link: 'first', | |
8 | 10 … | meta: 'map', | |
9 | 11 … | action: 'map', | |
@@ -19,8 +21,9 @@ | |||
19 | 21 … | ||
20 | 22 … | function layout (msg, opts) { | |
21 | 23 … | if (!(opts.layout === undefined || opts.layout === 'default')) return | |
22 | 24 … | ||
25 … | + var backlinks = opts.backlinks ? api.message.obs.backlinks(msg.key) : [] | ||
23 | 26 … | var classList = ['Message'] | |
24 | 27 … | var replyInfo = null | |
25 | 28 … | ||
26 | 29 … | if (msg.value.content.root) { | |
@@ -37,8 +40,16 @@ | |||
37 | 40 … | classList | |
38 | 41 … | }, [ | |
39 | 42 … | messageHeader(msg, replyInfo), | |
40 | 43 … | h('section', [opts.content]), | |
44 … | + map(backlinks, backlink => { | ||
45 … | + return h('a.backlink', { | ||
46 … | + href: backlink, | ||
47 … | + title: backlink | ||
48 … | + }, [ | ||
49 … | + h('strong', 'Referenced from'), ' ', api.message.obs.name(backlink) | ||
50 … | + ]) | ||
51 … | + }), | ||
41 | 52 … | when(msg.key, h('footer', [ | |
42 | 53 … | h('div.actions', [ | |
43 | 54 … | api.message.html.action(msg) | |
44 | 55 … | ]) |
styles/message.mcss | ||
---|---|---|
@@ -141,8 +141,25 @@ | ||
141 | 141 … | max-width: 100% |
142 | 142 … | } |
143 | 143 … | } |
144 | 144 … | |
145 … | + a.backlink { | |
146 … | + display: block; | |
147 … | + border-top: 1px solid #d1d0d0; | |
148 … | + margin: 0 -1px; | |
149 … | + padding: 10px 15px; | |
150 … | + background: #e8e6e6; | |
151 … | + border-bottom: 1px solid #d1d0d0; | |
152 … | + color: #8f8f8f; | |
153 … | + margin-top: -1px; | |
154 … | + font-size: 9pt; | |
155 … | + | |
156 … | + :hover { | |
157 … | + text-decoration: none | |
158 … | + color: #777 | |
159 … | + } | |
160 … | + } | |
161 … | + | |
145 | 162 … | footer { |
146 | 163 … | background: #fdfdfd |
147 | 164 … | padding: 15px 15px |
148 | 165 … | text-align: right |
Built with git-ssb-web