git ssb

16+

Dominic / patchbay



Tree: 8645df8d5c4edf3b8fe98b8e3b257e80ab48d09d

Files: 8645df8d5c4edf3b8fe98b8e3b257e80ab48d09d / modules_core / message / confirm.js

1444 bytesRaw
1var fs = require('fs')
2var lightbox = require('hyperlightbox')
3var h = require('../../h')
4var u = require('../../util')
5var self_id = require('../../keys').id
6//publish or add
7
8exports.needs = {
9 publish: 'first',
10 message_render: 'first',
11 avatar: 'first',
12 message_meta: 'map'
13}
14
15exports.gives = {
16 message_confirm: true,
17 mcss: true
18}
19
20exports.create = function (api) {
21 return {
22 message_confirm,
23 mcss: () => fs.readFileSync(__filename.replace(/js$/, 'mcss'), 'utf8')
24 }
25
26 function message_confirm (content, cb) {
27
28 cb = cb || function () {}
29
30 var lb = lightbox()
31 document.body.appendChild(lb)
32
33 var msg = {
34 key: "DRAFT",
35 value: {
36 author: self_id,
37 previous: null,
38 sequence: null,
39 timestamp: Date.now(),
40 content: content
41 }
42 }
43
44 var okay = h('button', {
45 'ev-click': () => {
46 lb.remove()
47 api.publish(content, cb)
48 }},
49 'okay'
50 )
51
52 var cancel = h('button', {
53 'ev-click': () => {
54 lb.remove()
55 cb(null)
56 }},
57 'Cancel'
58 )
59
60 okay.addEventListener('keydown', function (ev) {
61 if(ev.keyCode === 27) cancel.click() //escape
62 })
63
64 lb.show(h('MessageConfirm', [
65 h('header -preview_description', h('h1', 'Preview')),
66 h('section -message_preview', api.message_render(msg)),
67 h('section -actions', [okay, cancel])
68 ]
69 ))
70
71 okay.focus()
72 }
73}
74
75

Built with git-ssb-web