Files: e79b60cf3dad85b6ef8589856a512ebd338c257f / modules / message-confirm.js
1076 bytesRaw
1 | var lightbox = require('hyperlightbox') |
2 | var h = require('hyperscript') |
3 | var u = require('../util') |
4 | var self_id = require('../keys').id |
5 | var publish = require('./helpers-private').publish |
6 | |
7 | exports.needs = { |
8 | message_content: 'first', |
9 | message_render: 'first' |
10 | } |
11 | |
12 | exports.gives = 'message_confirm' |
13 | |
14 | exports.create = function (api) { |
15 | return function (content, cb) { |
16 | |
17 | cb = cb || function () {} |
18 | |
19 | var lb = lightbox() |
20 | document.body.appendChild(lb) |
21 | |
22 | var msg = { |
23 | key: "DRAFT", |
24 | value: { |
25 | author: self_id, |
26 | previous: null, |
27 | sequence: null, |
28 | timestamp: Date.now(), |
29 | content: content |
30 | } |
31 | } |
32 | |
33 | var okay = h('button.btn.btn-primary', 'Publish', {onclick: function () { |
34 | lb.remove() |
35 | publish(content, cb) |
36 | }}) |
37 | |
38 | var cancel = h('button.btn', 'Cancel', {onclick: function () { |
39 | lb.remove() |
40 | cb(null) |
41 | }}) |
42 | |
43 | lb.show( |
44 | h('div.column.message-confirm', |
45 | api.message_render(msg), |
46 | h('div.row.message-confirm__controls', okay, cancel) |
47 | ) |
48 | ) |
49 | |
50 | okay.focus() |
51 | } |
52 | } |
53 | |
54 |
Built with git-ssb-web