Files: 17b07347cac60d6c6ad5588e2408644c177b2c9c / index.js
1533 bytesRaw
1 | var client = require('ssb-client'); |
2 | var pull = require('pull-stream'); |
3 | var avatar = require('ssb-avatar'); |
4 | var moment = require('moment'); |
5 | var app = require('koa')(); |
6 | var router = require('koa-router')(); |
7 | var views = require('co-views'); |
8 | |
9 | var me = '@8Qee0I/DwI5DHSCi3p5fsl6FyLGArrnDz3ox9qZr5Qc=.ed25519'; |
10 | |
11 | app.use(router.routes()) |
12 | |
13 | var render = views(__dirname, { ext: 'jade'}); |
14 | |
15 | router.get('/', function *(next) { |
16 | client(function (err, sbot) { |
17 | if (err) { |
18 | throw err; |
19 | } |
20 | avatar(sbot, me, me, function (err, avatar){ |
21 | if (err) { |
22 | throw err; |
23 | } |
24 | name = avatar.name; |
25 | image = avatar.image; |
26 | }) |
27 | pull(sbot.createUserStream({ |
28 | id: me, |
29 | limit: 1, |
30 | reverse: true |
31 | }), |
32 | pull.drain(function (msg) { |
33 | date = moment(msg.value.timestamp).fromNow() |
34 | if (msg.value.content.type === 'post') { |
35 | message = (msg.value.content.text) |
36 | } |
37 | else if (msg.value.content.type === 'vote') { |
38 | message = (' dug ' + msg.value.content.vote.link) |
39 | } |
40 | else if (msg.value.content.type === 'about') { |
41 | message = (' identified ' + msg.value.content.about + ' as ' + msg.value.content.name) |
42 | } |
43 | else if (msg.value.content.type === 'git-update') { |
44 | message = (' pushed a git commit ') |
45 | } |
46 | else { |
47 | message = (' sent a private message ') |
48 | } |
49 | gotMessage(); |
50 | })); |
51 | }); |
52 | function gotMessage() {} |
53 | this.body = yield render('index', {title: 'sdash', message, date, name, image}); |
54 | }); |
55 | app.listen(4000); |
56 | |
57 |
Built with git-ssb-web