55 lines
1.6 KiB
JavaScript
55 lines
1.6 KiB
JavaScript
|
'use strict'
|
||
|
var h = require('hyperscript')
|
||
|
var mlib = require('ssb-msgs')
|
||
|
var app = require('../app')
|
||
|
var ui = require('../ui')
|
||
|
var anim = require('../ui/anim')
|
||
|
var com = require('../com')
|
||
|
var util = require('../util')
|
||
|
|
||
|
module.exports = function () {
|
||
|
|
||
|
app.ssb.get(app.page.param, function (err, msg) {
|
||
|
var content
|
||
|
var isEncrypted = false
|
||
|
var secretMessageLabel
|
||
|
if (msg) {
|
||
|
msg = { key: app.page.param, value: msg }
|
||
|
content = com.message(msg, { markread: true, fullview: true, live: true })
|
||
|
|
||
|
// if encrypted, add the animated 'secret message' label
|
||
|
if (typeof msg.value.content == 'string') {
|
||
|
isEncrypted = true
|
||
|
secretMessageLabel = h('span')
|
||
|
anim.textDecoding(secretMessageLabel, 'Secret Thread')
|
||
|
}
|
||
|
} else {
|
||
|
content = 'Message not found.'
|
||
|
}
|
||
|
|
||
|
ui.setPage('message', h('.layout-twocol',
|
||
|
h('.layout-main', content),
|
||
|
h('.layout-rightnav',
|
||
|
(isEncrypted) ?
|
||
|
h('.text-center',
|
||
|
h('p', h('code', { style: 'font-size: 18px' }, secretMessageLabel, ' ', com.icon('lock'))),
|
||
|
h('p', 'All messages in this thread are encrypted.')
|
||
|
) :
|
||
|
''
|
||
|
)
|
||
|
))
|
||
|
|
||
|
if (app.page.qs.jumpto) {
|
||
|
setTimeout(function (){
|
||
|
var el = document.querySelector('.message[data-key="'+app.page.qs.jumpto+'"]')
|
||
|
if (el) {
|
||
|
el.scrollIntoView()
|
||
|
if ((window.innerHeight + window.scrollY) < document.body.offsetHeight)
|
||
|
window.scrollBy(0, -100) // show a little above, if not at the bottom of the page
|
||
|
}
|
||
|
}, 50)
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
|