Commit 6bd197c0cc188a18da533f350d325a6b093eb085
first stab at diff messages
Ev Bogue committed on 8/8/2018, 8:01:33 PMParent: b30c4cc0dca27a87a4ff0e701383c4d9c13ea4c6
Files changed
render.js | changed |
render.js | |||
---|---|---|---|
@@ -9,15 +9,18 @@ | |||
9 | 9 … | var config = require('./config')() | |
10 | 10 … | var id = require('./keys').id | |
11 | 11 … | var avatar = require('./avatar') | |
12 | 12 … | ||
13 … | +var diff = require('diff') | ||
14 … | + | ||
13 | 15 … | function hash () { | |
14 | 16 … | return window.location.hash.substring(1) | |
15 | 17 … | } | |
16 | 18 … | ||
17 | 19 … | module.exports = function (msg) { | |
18 | 20 … | var message = h('div.message#' + msg.key.substring(0, 44)) | |
19 | 21 … | ||
22 … | + | ||
20 | 23 … | if (!localStorage[msg.value.author]) | |
21 | 24 … | var cache = {mute: false} | |
22 | 25 … | else | |
23 | 26 … | var cache = JSON.parse(localStorage[msg.value.author]) | |
@@ -26,8 +29,36 @@ | |||
26 | 29 … | var muted = h('span', ' muted') | |
27 | 30 … | message.appendChild(tools.mini(msg, muted)) | |
28 | 31 … | return message | |
29 | 32 … | } | |
33 … | + else if (msg.value.content.type == 'edit') { | ||
34 … | + message.appendChild(tools.header(msg)) | ||
35 … | + var current = msg.value.content.text | ||
36 … | + sbot.get(msg.value.content.updated, function (err, updated) { | ||
37 … | + if (updated) { | ||
38 … | + fragment = document.createDocumentFragment() | ||
39 … | + var previous = updated.content.text | ||
40 … | + var ready = diff.diffWords(previous, current) | ||
41 … | + console.log(ready) | ||
42 … | + ready.forEach(function (part) { | ||
43 … | + if (part.added === true) { | ||
44 … | + color = 'cyan' | ||
45 … | + } else if (part.removed === true) { | ||
46 … | + color = 'gray' | ||
47 … | + } else {color = 'white'} | ||
48 … | + var span = h('span') | ||
49 … | + span.style.color = color | ||
50 … | + span.appendChild(document.createTextNode(part.value)) | ||
51 … | + fragment.appendChild(span) | ||
52 … | + }) | ||
53 … | + message.appendChild(h('code', fragment)) | ||
54 … | + } | ||
55 … | + }) | ||
56 … | + return message | ||
57 … | + } | ||
58 … | + | ||
59 … | + | ||
60 … | + | ||
30 | 61 … | else if (msg.value.content.type == 'scat_message') { | |
31 | 62 … | var src = hash() | |
32 | 63 … | if (src != 'backchannel') { | |
33 | 64 … | message.appendChild(h('button.btn.right', h('a', {href: '#backchannel'}, 'Chat'))) | |
@@ -77,12 +108,14 @@ | |||
77 | 108 … | ) | |
78 | 109 … | message.appendChild(cloneurl) | |
79 | 110 … | ||
80 | 111 … | var commits = h('ul') | |
112 … | + if (msg.value.content.commits[0]) { | ||
113 … | + msg.value.content.commits.map(function (commit) { | ||
114 … | + commits.appendChild(h('li', h('code', commit.sha1), ' - ', commit.title)) | ||
115 … | + }) | ||
81 | 116 … | ||
82 | - msg.value.content.commits.map(function (commit) { | ||
83 | - commits.appendChild(h('li', h('code', commit.sha1), ' - ', commit.title)) | ||
84 | - }) | ||
117 … | + } | ||
85 | 118 … | ||
86 | 119 … | message.appendChild(commits) | |
87 | 120 … | ||
88 | 121 … | return message |
Built with git-ssb-web