git ssb

16+

Dominic / patchbay



Commit 0524824bf114bd868c66193a7b95a1d34b345240

Merge branch 'master' into hops

mixmix committed on 5/29/2019, 2:24:41 AM
Parent: b6a9827a89911708160d99ab1c32364dbd33c94c
Parent: f1525c1010f64cea0d0b7994b7fcca4bca3e99d4

Files changed

message/html/like.jschanged
message/html/like.jsView
@@ -1,5 +1,5 @@
1-const { h, computed, map } = require('mutant')
1+const { h, computed, map, Value } = require('mutant')
22 const nest = require('depnest')
33 const Scuttle = require('scuttle-thread')
44 const { isLink } = require('ssb-ref')
55
@@ -24,30 +24,44 @@
2424
2525 if (!isLink(msg.key)) return
2626
2727 const likes = api.message.obs.likes(msg.key)
28+ const iLikeHack = Value()
2829 const names = map(likes, id => api.about.obs.name(id))
2930 // TODO should really just calculate this on hover ...
3031
31- return computed([likes, names], (likes, names) => {
32- const iLike = likes.includes(id)
32+ return computed([likes, iLikeHack, names], (likes, iLikeHack, names) => {
33+ const iLike = (iLikeHack !== null) ? iLikeHack : likes.includes(id)
34+ var count = likes.length
35+ if (iLikeHack === true && !likes.includes(id)) count++
36+ else if (iLikeHack === false && likes.includes(id)) count--
3337
3438 return h('MessageLike',
3539 {
3640 className: iLike ? '-liked' : '',
3741 title: names.join('\n'),
3842 'ev-click': () => publishLike(msg, !iLike)
3943 },
4044 [
41- h('span.count', likes.length ? likes.length : ''),
45+ h('span.count', count || ''),
4246 h('i.fa', { className: iLike ? 'fa-heart' : 'fa-heart-o' })
4347 ]
4448 )
4549 })
46- }
4750
48- function publishLike (msg, value = true) {
49- const scuttle = Scuttle(api.sbot.obs.connection)
51+ function publishLike (msg, value = true) {
52+ const _val = iLikeHack()
53+ iLikeHack.set(value)
54+ const scuttle = Scuttle(api.sbot.obs.connection)
5055
51- scuttle.like(msg, { value }, console.log)
56+ scuttle.like(msg, { value }, (err, data) => {
57+ if (err) {
58+ iLikeHack.set(_val)
59+ console.error(err)
60+ return
61+ }
62+
63+ console.log(data)
64+ })
65+ }
5266 }
5367 }

Built with git-ssb-web