git ssb

16+

Dominic / patchbay



Commit 920f29c78bb0076a529cda4bbc4f01b19cabd924

wip

mix irving committed on 7/4/2018, 11:27:56 PM
Parent: 9ad609d054fd59c134b3aac1b801d0aa7d8d0e5a

Files changed

app/page/posts.jschanged
app/page/posts.jsView
@@ -39,63 +39,74 @@
3939 }, '/posts')
4040 }
4141
4242 function postsPage (location) {
43- const BY_UPDATE = 'by_update'
44- const BY_ROOT = 'by_root'
43 + const BY_UPDATE = 'by update'
44 + const BY_ROOT = 'by root'
4545
46- const composer = api.message.html.compose({
47- location,
48- meta: { type: 'post' },
49- placeholder: 'Write a public message'
50- })
46 + const state = Value(BY_UPDATE)
47 + const viewSettings = h('section.viewSettings', [
48 + h('button', 'hey!')
49 + ])
5150
52- const store = MutantArray([])
51 + return computed(state, state => {
52 + var page = byUpdatePage()
5353
54- const page = Scroller({
55- classList: ['Posts'],
56- prepend: [
57- composer
58- ],
59- streamToTop: createStream({ live: true, old: false }),
60- streamToBottom: createStream({ reverse: true }),
61- store,
62- updateTop: (soFar, msg) => {
63- const root = getRoot(msg)
64- if (soFar.includes(root)) soFar.delete(root)
65- soFar.insert(root)
66- },
67- updateBottom: (soFar, msg) => {
68- const root = getRoot(msg)
69- if (!soFar.includes(root)) soFar.push(root)
70- },
71- render
54 + page.title = '/posts'
55 + page.scroll = keyscroll(page.querySelector('section.content'))
56 + return page
7257 })
7358
74- function createStream (opts) {
75- return api.sbot.pull.stream(server => {
76- // by_update - stream by receive time
77- const defaults = {
78- limit: 50,
79- query: [{
80- $filter: {
81- timestamp: { $gt: 0 },
82- value: {
83- content: {
84- type: 'post',
85- recps: { $not: true }
59 + function byUpdatePage () {
60 + return Scroller({
61 + classList: ['Posts'],
62 + prepend: [
63 + viewSettings,
64 + Composer(location)
65 + ],
66 + streamToTop: createStream({ live: true, old: false }),
67 + streamToBottom: createStream({ reverse: true }),
68 + updateTop: (soFar, msg) => {
69 + const root = getRoot(msg)
70 + if (soFar.includes(root)) soFar.delete(root)
71 + soFar.insert(root)
72 + },
73 + updateBottom: (soFar, msg) => {
74 + const root = getRoot(msg)
75 + if (!soFar.includes(root)) soFar.push(root)
76 + },
77 + render
78 + })
79 +
80 + function createStream (opts) {
81 + return api.sbot.pull.stream(server => {
82 + // by_update - stream by receive time
83 + const defaults = {
84 + limit: 50,
85 + query: [{
86 + $filter: {
87 + timestamp: { $gt: 0 },
88 + value: {
89 + content: {
90 + type: 'post',
91 + recps: { $not: true }
92 + }
8693 }
8794 }
88- }
89- }]
90- }
91- return next(server.query.read, merge({}, defaults, opts), ['timestamp'])
92- })
95 + }]
96 + }
97 + return next(server.query.read, merge({}, defaults, opts), ['timestamp'])
98 + })
99 + }
93100 }
101 + }
94102
95- page.title = '/posts'
96- page.scroll = keyscroll(page.querySelector('section.content'))
97- return page
103 + function Composer (location) {
104 + return api.message.html.compose({
105 + location,
106 + meta: { type: 'post' },
107 + placeholder: 'Write a public message'
108 + })
98109 }
99110
100111 // TODO - move out into message.html.render ?
101112 function render (key) {

Built with git-ssb-web