git ssb

0+

ev / minbase



Tree: c4e6d69c2cdcc875fc3ac222471b3c5d55810b77

Files: c4e6d69c2cdcc875fc3ac222471b3c5d55810b77 / modules / avatar.js

2410 bytesRaw
1var pull = require('pull-stream')
2var query = require('./scuttlebot').query
3var h = require('hyperscript')
4var markdown = require('./helpers').markdown
5var visualize = require('visualize-buffer')
6
7var config = require('../config')()
8
9module.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
25var ref = require('ssb-ref')
26
27module.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
52module.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
66module.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