Files: c4e6d69c2cdcc875fc3ac222471b3c5d55810b77 / modules / avatar.js
2410 bytesRaw
1 | var pull = require('pull-stream') |
2 | var query = require('./scuttlebot').query |
3 | var h = require('hyperscript') |
4 | var markdown = require('./helpers').markdown |
5 | var visualize = require('visualize-buffer') |
6 | |
7 | var config = require('../config')() |
8 | |
9 | module.exports.name = function (id) { |
10 | |
11 | var name = h('span', id.substring(0, 10)) |
12 | if (localStorage[id + 'name']) |
13 | name.textContent = localStorage[id + 'name'] |
14 | else |
15 | pull(query({query: [{$filter: { value: { author: id, content: {type: 'about', about: id, name: {'$truthy': true}}}}}], reverse: true}), |
16 | pull.collect(function (err, data){ |
17 | if(data[0]) { |
18 | localStorage[id + 'name'] = '@' + data[0].value.content.name |
19 | name.textContent = localStorage[id + 'name'] |
20 | } |
21 | })) |
22 | return name |
23 | } |
24 | |
25 | var ref = require('ssb-ref') |
26 | |
27 | module.exports.image = function (id) { |
28 | var img = visualize(new Buffer(id.substring(1), 'base64'), 256) |
29 | |
30 | if (localStorage[id + 'image']) |
31 | img.src = localStorage[id + 'image'] |
32 | else |
33 | pull(query({query: [{$filter: { value: { author: id, content: {type: 'about', about: id, image: {'$truthy': true}}}}}], reverse: true}), |
34 | pull.collect(function (err, data){ |
35 | if(data[0]) { |
36 | if (ref.isBlob(data[0].value.content.image.link)) { |
37 | var data = config.blobsUrl + data[0].value.content.image.link |
38 | localStorage[id + 'image'] = data |
39 | img.src = data |
40 | } else if (ref.isBlob(data[0].value.content.image)) { |
41 | var data = config.blobsUrl + data[0].value.content.image |
42 | localStorage[id + 'image'] = data |
43 | img.src = data |
44 | } |
45 | } |
46 | }) |
47 | ) |
48 | |
49 | return img |
50 | } |
51 | |
52 | module.exports.loc = function (id) { |
53 | var loc = h('span.loc') |
54 | |
55 | pull(query({query: [{$filter: { value: { author: id, content: {type: 'loc'}}}}], limit: 100, reverse: true}), |
56 | pull.collect(function (err, data){ |
57 | if(data[0]) { |
58 | var data = markdown(data[0].value.content.loc) |
59 | loc.appendChild(data) |
60 | } |
61 | }) |
62 | ) |
63 | return loc |
64 | } |
65 | |
66 | module.exports.description = function (id) { |
67 | var desc = h('span.desc') |
68 | |
69 | pull(query({query: [{$filter: { value: { author: id, content: {type: 'description', about: id}}}}], limit: 100, reverse: true}), |
70 | pull.collect(function (err, data){ |
71 | if(data[0]) { |
72 | var data = markdown(data[0].value.content.description) |
73 | desc.appendChild(data) |
74 | } |
75 | }) |
76 | ) |
77 | return desc |
78 | } |
79 | |
80 |
Built with git-ssb-web