Files: 42ce7079c3fb1c0fed6c733b7f8cef04102d9267 / modules / page / html / render / mentions.js
897 bytesRaw
1 | var nest = require('depnest') |
2 | |
3 | exports.needs = nest({ |
4 | 'feed.html.rollup': 'first', |
5 | 'keys.sync.id': 'first', |
6 | 'feed.pull.mentions': 'first' |
7 | }) |
8 | |
9 | exports.gives = nest('page.html.render') |
10 | |
11 | exports.create = function (api) { |
12 | return nest('page.html.render', function mentions (path) { |
13 | if (path !== '/mentions') return |
14 | var id = api.keys.sync.id() |
15 | return api.feed.html.rollup(api.feed.pull.mentions(id), { |
16 | bumpFilter: mentionFilter, |
17 | displayFilter: mentionFilter |
18 | }) |
19 | |
20 | // scoped |
21 | function mentionFilter (msg) { |
22 | if (Array.isArray(msg.value.content.mentions) && msg.value.content.mentions.some(mention => { |
23 | return mention && mention.link === id |
24 | })) { |
25 | return 'mention' |
26 | } else if (msg.value.content.type === 'contact') { |
27 | return true |
28 | } else if (msg.value.content.type === 'about') { |
29 | return true |
30 | } |
31 | } |
32 | }) |
33 | } |
34 |
Built with git-ssb-web