git ssb

1+

punkmonk.termux / mvd



forked from ev / mvd

Commit 565af159eaf7a2f0d880ff7e4286e19e59da7ae7

new way of routing

Ev Bogue committed on 5/16/2018, 4:30:42 PM
Parent: a7a118a87904589a2808d74928225f4ed7832b17

Files changed

index.jschanged
index.jsView
@@ -1,25 +1,113 @@
1+var pull = require('pull-stream')
2+var sbot = require('./scuttlebot')
3+var hyperscroll = require('hyperscroll')
4+var More = require('pull-more')
5+var stream = require('hyperloadmore/stream')
16 var h = require('hyperscript')
7+var render = require('./render')
28
3-var views = require('./views')
4-
59 var ref = require('ssb-ref')
610
711 document.head.appendChild(h('style', require('./style.css.json')))
812
9-var src = window.location.hash.substring(1)
13+function hash () {
14+ return window.location.hash.substring(1)
15+}
1016
17+var content = h('div.content')
18+
19+var screen = h('div#screen', {style: {position: 'absolute', top: '0px', bottom: '0px', left: '0px', right: '0px'}})
20+
21+function route () {
22+ var src = hash()
23+
24+ if (ref.isFeed(src)) {
25+ var content = h('div.content')
26+ var screen = document.getElementById('screen')
27+ screen.appendChild(hyperscroll(content))
28+ function createStream (opts) {
29+ return pull(
30+ More(sbot.userStream, opts, ['value', 'sequence']),
31+ pull.map(function (msg) {
32+ return h('div', render(msg))
33+ })
34+ )
35+ }
36+
37+ pull(
38+ createStream({old: false, limit: 10, id: src}),
39+ stream.top(content)
40+ )
41+
42+ pull(
43+ createStream({reverse: true, live: false, limit: 10, id: src}),
44+ stream.bottom(content)
45+ )
46+
47+
48+ } else if (ref.isMsg(src)) {
49+ var content = h('div.content')
50+ var screen = document.getElementById('screen')
51+ screen.appendChild(hyperscroll(content))
52+ sbot.get(src, function (err, data) {
53+ if (err) {console.log('could not find message') }
54+ data.value = data
55+ console.log(data)
56+ var root = src
57+ if (data.value.content.root)
58+ root = data.value.content.root
59+ sbot.get(root, function (err, data) {
60+ if (err) { console.log('could not find root')}
61+ data.value = data
62+ data.key = root
63+ content.appendChild(h('div', render(data)))
64+ pull(
65+ sbot.links({rel: 'root', dest: root, values: true, keys: true, live: true}),
66+ pull.drain(function (msg) {
67+ console.log(msg)
68+ if (msg.value)
69+ content.appendChild(h('div', render(msg)))
70+ })
71+ )
72+ })
73+ })
74+ } else {
75+ var content = h('div.content')
76+ var screen = document.getElementById('screen')
77+ screen.appendChild(hyperscroll(content))
78+ function createStream (opts) {
79+ return pull(
80+ More(sbot.createLogStream, opts),
81+ pull.map(function (msg) {
82+ return h('div', render(msg))
83+ })
84+ )
85+ }
86+
87+ pull(
88+ createStream({old: false, limit: 10}),
89+ stream.top(content)
90+ )
91+
92+ pull(
93+ createStream({reverse: true, live: false, limit: 10}),
94+ stream.bottom(content)
95+ )
96+
97+ }
98+}
99+
100+document.body.appendChild(screen)
101+route()
102+
11103 window.onhashchange = function () {
12- window.location.reload()
104+ //var content = h('div.content')
105+ var screen = document.getElementById('screen')
106+ var newscreen = h('div#screen', {style: {position: 'absolute', top: '0px', bottom: '0px', left: '0px', right: '0px'}})
107+
108+ //if(_screen != null)
109+ console.log(screen)
110+ screen.parentNode.replaceChild(newscreen, screen)
111+ route()
13112 }
14113
15-if (src == 'raw') {
16- views.rawstream()
17-} else if (ref.isFeed(src)) {
18- views.userstream(src)
19-} else if (ref.isMsg(src)) {
20- views.get(src)
21-} else if (src == 'compose') {
22- views.compose()
23-} else {
24- views.logstream()
25-}

Built with git-ssb-web