Files: a82d9b053001af225a6db818036079f377f481d0 / modules / app.js
1568 bytesRaw
1 | var h = require('hyperscript') |
2 | var id = require('../keys').id |
3 | |
4 | var avatar = require('./avatar') |
5 | |
6 | module.exports = { |
7 | needs: { |
8 | screen_view: 'first' |
9 | }, |
10 | gives: 'app', |
11 | |
12 | create: function (api) { |
13 | return function () { |
14 | document.head.appendChild(h('style', require('../style.css.json'))) |
15 | |
16 | function hash() { |
17 | return window.location.hash.substring(1) |
18 | } |
19 | |
20 | var view = api.screen_view(hash() || 'Public') |
21 | |
22 | var screen = h('div.screen.column', view) |
23 | |
24 | window.onhashchange = function (ev) { |
25 | var _view = view |
26 | view = api.screen_view(hash() || 'Public') |
27 | if(_view) screen.replaceChild(view, _view) |
28 | else document.body.appendChild(view) |
29 | } |
30 | |
31 | document.body.appendChild(screen) |
32 | |
33 | var search = h('input.search', {placeholder: 'Search'}) |
34 | |
35 | document.body.appendChild(h('div.navbar', |
36 | h('div.internal', |
37 | //h('li', h('a', {href: '#' + id}, api.avatar_image(id, 'tiny'))), |
38 | h('li', h('a', {href: '#' + id}, avatar.name(id))), |
39 | h('li', h('a', {href: '#'}, 'Public')), |
40 | h('li', h('a', {href: '#Private'}, 'Private')), |
41 | h('li', h('a', {href: '#Mentions'}, 'Mentions')), |
42 | h('li', h('a', {href: '#Key'}, 'Key')), |
43 | h('form.search', { onsubmit: function (e) { |
44 | //if (err) throw err |
45 | window.location.hash = '?' + search.value |
46 | e.preventDefault() |
47 | }}, |
48 | search, |
49 | h('button.btn.btn-primary.btn-search', 'Search') |
50 | ) |
51 | ) |
52 | )) |
53 | } |
54 | } |
55 | } |
56 | |
57 | |
58 |
Built with git-ssb-web