aboutsummaryrefslogtreecommitdiff
path: root/render.js
blob: 346057939e3ce55d360fb60d0c5c9e5db300854c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function getHeader (post, mini) {
  var head = h('span', [
    h('a', {href: '#' + post.key}, [
      h('p', {classList: 'right'}, [human(new Date(post.timestamp))]),
    ]),
    h('p', [
      h('a', {href: '#' + post.author}, [
        getName(post.author)
      ]),
      mini 
    ])
  ])
  return head
}

function render (msg, keys) {
  var messageDiv = h('messageDiv', {id: msg.key})
  var message = h('div', {classList: 'message'})

  bog().then(logger => {
    logger.forEach(function (nextPost) {
      open(nextPost).then(nextMessage => {
        var messageExists = (document.getElementById(nextMessage.key) !== null);
        if (nextMessage.reply == msg.key) {
          if (!messageExists) {
            messageDiv.appendChild(h('div', {classList: 'submessage'}, [render(nextMessage, keys)]))
          }
        }
      })
    })
  }) 

  if (msg.type == 'post') {
    message.appendChild(getHeader(msg))

    if (msg.reply) {
      message.appendChild(h('span', [
        're: ',
        h('a', {href: '#' + msg.reply}, [msg.reply.substring(0, 10) + '...'])
      ]))
    }

    message.appendChild(h('div', [msg.text]))
    message.appendChild(h('button', {
      onclick: function () {
        messageDiv.appendChild(composer(keys, msg)) 
      }
    }, ['Reply']))
  } 

  messageDiv.appendChild(message)
  return messageDiv
}