git ssb

2+

ev / mvd



Tree: d741590f2a7c0c901ffcbac0294a4a802688aaee

Files: d741590f2a7c0c901ffcbac0294a4a802688aaee / views.js

2931 bytesRaw
1var pull = require('pull-stream')
2var sbot = require('./scuttlebot')
3var hyperscroll = require('hyperscroll')
4var More = require('pull-more')
5var stream = require('hyperloadmore/stream')
6var h = require('hyperscript')
7var render = require('./render')
8var ref = require('ssb-ref')
9
10var fs = require('fs')
11
12var compose = require('./compose')
13
14function hash () {
15 return window.location.hash.substring(1)
16}
17
18module.exports = function () {
19 var src = hash()
20
21 if (ref.isFeed(src)) {
22 var content = h('div.content')
23 var screen = document.getElementById('screen')
24 screen.appendChild(hyperscroll(content))
25 function createStream (opts) {
26 return pull(
27 More(sbot.userStream, opts, ['value', 'sequence']),
28 pull.map(function (msg) {
29 return h('div', render(msg))
30 })
31 )
32 }
33
34 pull(
35 createStream({old: false, limit: 10, id: src}),
36 stream.top(content)
37 )
38
39 pull(
40 createStream({reverse: true, live: false, limit: 10, id: src}),
41 stream.bottom(content)
42 )
43
44
45 } else if (ref.isMsg(src)) {
46 var content = h('div.content')
47 var screen = document.getElementById('screen')
48 screen.appendChild(hyperscroll(content))
49 sbot.get(src, function (err, data) {
50 if (err) {console.log('could not find message') }
51 data.value = data
52 console.log(data)
53 var root = src
54 if (data.value.content.root)
55 root = data.value.content.root
56 sbot.get(root, function (err, data) {
57 if (err) { console.log('could not find root')}
58 data.value = data
59 data.key = root
60 content.appendChild(h('div', render(data)))
61 pull(
62 sbot.links({rel: 'root', dest: root, values: true, keys: true, live: true}),
63 pull.drain(function (msg) {
64 console.log(msg)
65 if (msg.value)
66 content.appendChild(h('div', render(msg)))
67 })
68 )
69 })
70 })
71 }
72
73 else if (src == 'compose') {
74 var screen = document.getElementById('screen')
75
76 var opts = {}
77 opts.type = 'post'
78
79 var content = h('div.content', h('div.message', compose(opts)))
80
81 screen.appendChild(hyperscroll(content))
82 }
83 else if (src == 'about') {
84
85 var screen = document.getElementById('screen')
86
87 var about = require('./about')
88
89 var content = h('div.content', about)
90
91 screen.appendChild(hyperscroll(content))
92 }
93 else {
94 var content = h('div.content')
95 var screen = document.getElementById('screen')
96 screen.appendChild(hyperscroll(content))
97 function createStream (opts) {
98 return pull(
99 More(sbot.createLogStream, opts),
100 pull.map(function (msg) {
101 return h('div', render(msg))
102 })
103 )
104 }
105
106 pull(
107 createStream({old: false, limit: 10}),
108 stream.top(content)
109 )
110
111 pull(
112 createStream({reverse: true, live: false, limit: 10}),
113 stream.bottom(content)
114 )
115
116 }
117}
118
119
120

Built with git-ssb-web