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