From d27e69919c6e165cb97d628014fa2e1caf3577ba Mon Sep 17 00:00:00 2001 From: Ev Bogue Date: Wed, 10 Jul 2019 20:34:43 -0500 Subject: improvements to getname --- app.js | 2 +- bog.js | 12 +++++++++--- render.js | 12 ++++++------ views.js | 2 +- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/app.js b/app.js index bab24e7..17c2de0 100644 --- a/app.js +++ b/app.js @@ -26,7 +26,7 @@ keys().then(key => { var navbar = h('div', {classList: 'navbar'}, [ h('div', {classList: 'internal'}, [ h('li', [h('a', {href: '#'}, ['Home'])]), - h('li', [h('a', {href: '#' + key.publicKey}, [getName(key.publicKey)])]), + h('li', [h('a', {href: '#' + key.publicKey}, [getName(key.publicKey, keys)])]), h('li', [h('a', {href: '#key'}, ['Key'])]), h('li', [h('a', {href: '#pubs'}, ['Pubs'])]), h('li', {classList: 'right'}, [h('a', {href: 'http://github.com/bogbook/bog/'}, ['Git'])]) diff --git a/bog.js b/bog.js index e578e90..fa84fe5 100644 --- a/bog.js +++ b/bog.js @@ -54,7 +54,7 @@ async function get (key) { // bog.getName -- iterates over a feed and returns a person's name -function getName (id) { +function getName (id, keys) { var name = h('span') name.textContent = id.substring(0, 10) + '...' @@ -62,10 +62,16 @@ function getName (id) { bog().then(log => { if (log) { for (var i = 0; i < log.length; i++ ) { - if (log[i].named == id) { - console.log(log[i].name) + if ((log[i].named === id) && (log[i].author === keys.publicKey)) { + // if you've identified someone as something else show that something else + console.log('I NAMED THEM ' + log[i].name) + return name.textContent = '@' + log[i].name + } else if ((log[i].named === id) && (log[i].author === id)) { + // else if show the name they gave themselves + console.log('THEY NAMED THEMSELVES ' + log[i].name) return name.textContent = '@' + log[i].name } + // there should probably be some sort of sybil attack resiliance here (weight avatar name based on number of times used by individuals), but this will do for now. } } }) diff --git a/render.js b/render.js index 63a4c1f..05d9887 100644 --- a/render.js +++ b/render.js @@ -1,4 +1,4 @@ -function getHeader (post, mini) { +function getHeader (post, keys, mini) { var getRaw = h('button', { onclick: function () { @@ -24,7 +24,7 @@ function getHeader (post, mini) { ]), h('p', [ h('a', {href: '#' + post.author}, [ - getName(post.author) + getName(post.author, keys) ]), mini ]) @@ -83,7 +83,7 @@ function render (msg, keys, preview) { if (msg.type == 'edit') { - message.appendChild(getHeader(msg)) + message.appendChild(getHeader(msg, keys)) message.appendChild(h('span', [ 'edited: ', @@ -123,7 +123,7 @@ function render (msg, keys, preview) { } if (msg.type == 'post') { - message.appendChild(getHeader(msg)) + message.appendChild(getHeader(msg, keys)) if (msg.reply) { message.appendChild(h('span', [ @@ -131,7 +131,7 @@ function render (msg, keys, preview) { h('a', {href: '#' + msg.reply}, [msg.reply.substring(0, 10) + '...']) ])) } - var gotName = getName(msg.author) + var gotName = getName(msg.author, keys) message.appendChild(h('div',{id: 'content:' + msg.key, innerHTML: marked(msg.text)})) if (!preview) { message.appendChild(h('button', { @@ -154,7 +154,7 @@ function render (msg, keys, preview) { } } } else if (msg.type == 'name') { - message.appendChild(getHeader(msg)) + message.appendChild(getHeader(msg, keys)) message.appendChild(h('span', ['identified ', h('a', {href: '#' + msg.named }, [msg.named.substring(0, 10) + '...']), ' as ' + msg.name])) } diff --git a/views.js b/views.js index 9da4412..b3cd061 100644 --- a/views.js +++ b/views.js @@ -15,7 +15,7 @@ function profilePage (src, keys) { var input = h('input', {placeholder: 'New name'}) - profile.appendChild(h('a', {href: '#' + src}, [getName(src)])) + profile.appendChild(h('a', {href: '#' + src}, [getName(src, keys)])) profile.appendChild(h('div', [ input, -- cgit v1.2.3-70-g09d2