diff options
author | Ev Bogue <ev@evbogue.com> | 2020-01-11 07:43:32 -0600 |
---|---|---|
committer | Ev Bogue <ev@evbogue.com> | 2020-01-11 07:43:32 -0600 |
commit | 2995dfc6982846494f493a5eb1dc7ffc2e3687c1 (patch) | |
tree | 6709577d6b8643643740c744fca915ea253adb52 | |
parent | dac0064cf55e6a3f9321ea78875bfe8ca9952fc3 (diff) |
finish adding backgrounds
-rw-r--r-- | css/style.css | 2 | ||||
-rw-r--r-- | identify.js | 89 | ||||
-rw-r--r-- | render.js | 20 | ||||
-rw-r--r-- | views.js | 92 |
4 files changed, 169 insertions, 34 deletions
diff --git a/css/style.css b/css/style.css index 26784e7..cfa5012 100644 --- a/css/style.css +++ b/css/style.css @@ -240,7 +240,7 @@ form.search { text-decoration: none; } -.profileAvatar { width: 75px; vertical-align: top; border-radius: 5px; object-fit: cover; margin-right: .25em; margin-bottom: .25em;} +.profileAvatar { width: 95px; height: 95px; vertical-align: top; border-radius: 5px; object-fit: cover; margin-right: .25em; margin-bottom: .25em;} .avatar { width: 25px; height: 25px; vertical-align: middle; object-fit: cover; border-radius: 5px; margin-right: .5em; } .image { width: 75px; height: 75px; object-fit: cover; margin-right: .2em; border-radius: 5px; cursor: pointer;} diff --git a/identify.js b/identify.js index f56a0f9..acda8c8 100644 --- a/identify.js +++ b/identify.js @@ -3,7 +3,10 @@ function identify (src, profile, keys, name) { var identifyDiv = h('div') if ((src[0] == '@') && (src != keys.publicKey)) { - identifyDiv.appendChild(h('p', ['Please note: ' + src + ' is not you.'])) + identifyDiv.appendChild(h('p', [ + 'Please note: ' + src.substring(0, 10) + '... is not you. You are: ', + h('a', {href: '#' + keys.publicKey}, [keys.publicKey.substring(0, 10) + '...']) + ])) } var photoURL = {} @@ -148,8 +151,67 @@ function identify (src, profile, keys, name) { }, ['Publish']) ]) + var descInput = h('textarea', {placeholder: 'New description'}) + var newDescription = h('div', [ + descInput, + h('button', { + onclick: function () { + if (descInput.value) { + content = { + type: 'description', + descripted: src, + description: descInput.value + } + publish(content, keys).then(post => { + open(post).then(msg => { + descInput.value = '' + scroller.insertBefore(render(msg, keys), scroller.childNodes[1]) + }) + }) + newDescription.parentNode.removeChild(newDescription) + identifyDiv.appendChild(identifyButton) + } + } + }, ['Publish']), + h('button', { + onclick: function () { + identifyDiv.appendChild(identifyButtons) + newDescription.parentNode.removeChild(newDescription) + } + }, ['Cancel']) + ]) + var locInput = h('input', {placeholder: 'New location'}) + + var newLocation = h('div', [ + locInput, + h('button', { + onclick: function () { + if (locInput.value) { + content = { + type: 'location', + located: src, + loc: locInput.value + } + publish(content, keys).then(post => { + open(post).then(msg => { + locationInput.value = '' + scroller.insertBefore(render(msg, keys), scroller.childNodes[1]) + }) + }) + newLocation.parentNode.removeChild(newLocation) + identifyDiv.appendChild(identifyButton) + } + } + }, ['Publish']), + h('button', { + onclick: function () { + identifyDiv.appendChild(identifyButtons) + newLocation.parentNode.removeChild(newLocation) + } + }, ['Cancel']) + ]) var nameInput = h('input', {placeholder: 'New name'}) @@ -198,6 +260,13 @@ function identify (src, profile, keys, name) { identifyButtons.parentNode.removeChild(identifyButtons) } }, ['New background'])) + identifyButtons.appendChild(h('button', { + onclick: function () { + identifyDiv.appendChild(newDescription) + identifyButtons.parentNode.removeChild(identifyButtons) + } + }, ['New description'])) + } //}, ['Identify ' + src.substring(0, 10) + '... with a new name']), identifyButtons.appendChild(h('button', { @@ -206,6 +275,15 @@ function identify (src, profile, keys, name) { identifyButtons.parentNode.removeChild(identifyButtons) } }, ['New image'])) + + identifyButtons.appendChild(h('button', { + onclick: function () { + identifyDiv.appendChild(newLocation) + identifyButtons.parentNode.removeChild(identifyButtons) + } + }, ['New location'])) + + //}, ['Identify ' + src.substring(0, 10) + '... with a new photo']), identifyButtons.appendChild(h('button', { onclick: function () { @@ -213,7 +291,7 @@ function identify (src, profile, keys, name) { identifyButtons.parentNode.removeChild(identifyButtons) } }, ['Cancel'])) - if (src[0] == '@') { + /*if (src[0] == '@') { var identifyButton = h('button', { onclick: function () { profile.appendChild(identifyDiv) @@ -221,15 +299,16 @@ function identify (src, profile, keys, name) { identifyButton.parentNode.removeChild(identifyButton) } }, ['Identify ' + name]) - } else { + } else { */ var identifyButton = h('button', { onclick: function () { profile.appendChild(identifyDiv) profile.appendChild(identifyButtons) identifyButton.parentNode.removeChild(identifyButton) } - }, ['Add to ' + src.substring(0, 10) + '...']) - } + //}, ['Add to ' + src.substring(0, 10) + '...']) + }, ['+']) + //} return identifyButton } @@ -15,6 +15,8 @@ function getHeader (post, keys, mini) { var head = h('span', [ h('p', {classList: 'right'}, [ + getLoc(post), + ' ', h('a', {href: '#' + post.key}, [ human(new Date(post.timestamp)), ]), @@ -204,9 +206,25 @@ function render (msg, keys, preview) { h('img', {src: msg.background, classList: 'avatar'}) ]) message.appendChild(getHeader(msg, keys, mini)) - } + } if (msg.type == 'description') { + var mini = h('span', [ + ' added a description to ', + h('a', { href: '#' + msg.descripted }, [msg.descripted.substring(0, 10) + '...']), + ' ', + h('div', {innerHTML: marked(msg.description)}) + ]) + message.appendChild(getHeader(msg, keys, mini)) + } if (msg.type == 'location') { + var mini = h('span', [ + ' added a location to ', + h('a', { href: '#' + msg.located }, [msg.located.substring(0, 10) + '...']), + ': ', + msg.loc + ]) + message.appendChild(getHeader(msg, keys, mini)) + } messageDiv.appendChild(message) return messageDiv @@ -4,7 +4,36 @@ function threadPage (src, keys) { }) } +function getLoc (src) { + var loc = h('span') + bog().then(log => { + if (log) { + for (var i = 0; i < log.length; i++) { + if (((log[i].located === src) && (log[i].author === src)) || ((log[i].located === src.key) && (log[i].author === src.author))) { + // if you've identified someone as something else show that something else + return loc.textContent = log[i].loc + } + } + } + }) + return loc +} + + function profilePage (src, keys) { + + var interval = 500 + + timer = function() { + if (src === window.location.hash.substring(1)) { + if (interval < 10000) { interval = interval + 50 } + sync([src], keys) + setTimeout(timer, interval) + } + } + + timer() + var msg = {} msg.author = src @@ -12,6 +41,21 @@ function profilePage (src, keys) { var profile = h('div', {classList: 'profile'}) var banner = h('div', {classList: 'banner'}) + function getDesc (src) { + var desc = h('span') + bog().then(log => { + if (log) { + for (var i = 0; i < log.length; i++) { + if ((log[i].descripted === src) && (log[i].author === src)) { + // if you've identified someone as something else show that something else + return desc.innerHTML = marked(log[i].description) + } + } + } + }) + return desc + } + function getBg (src, profile) { bog().then(log => { if (log) { @@ -26,33 +70,23 @@ function profilePage (src, keys) { }) } + getBg(src, profile) profileDiv.appendChild(banner) profileDiv.appendChild(profile) scroller.appendChild(profileDiv) - var subs = [src] - - var interval = 2500 - timer = function() { - if (src === window.location.hash.substring(1)) { - if (interval < 10000) { interval = interval + 50 } - sync(subs, keys) - setTimeout(timer, interval) - } - } - timer() - - profile.appendChild(h('a', {href: '#' + src}, [ - getImage(src, keys, 'profileAvatar'), - getName(src, keys), + profile.appendChild(h('span', {classList: 'right'}, [getLoc(src)])) + profile.appendChild(h('div', [ + h('a', {href: '#' + src}, [ + getImage(src, keys, 'profileAvatar'), + getName(src, keys) + ]), + profile.appendChild(getDesc(src)) ])) - profile.appendChild(h('br')) - quickName(src).then(name => { - profile.appendChild(identify(src, profile, keys, name)) var mentionsButton = h('button', { onclick: function () { location.href = '#?' + src @@ -66,6 +100,15 @@ function profilePage (src, keys) { }, ['Reply to ' + name]) profile.appendChild(respond) + profile.appendChild(h('button', { + onclick: function () { + localforage.removeItem(src).then(function () { + var home = true + regenerate(home) + }) + } + }, ['Delete ' + name + '\'s feed'])) + if (src != keys.publicKey) { localforage.getItem('subscriptions').then(function (subs) { if (subs.includes(src)) { @@ -83,17 +126,12 @@ function profilePage (src, keys) { } }, ['Subscribe to ' + name])) } + profile.appendChild(identify(src, profile, keys)) }) + } else { + profile.appendChild(identify(src, profile, keys)) } - - profile.appendChild(h('button', { - onclick: function () { - localforage.removeItem(src).then(function () { - var home = true - regenerate(home) - }) - } - }, ['Delete ' + name + '\'s feed'])) + //profile.appendChild(identify(src, profile, keys, name)) }) |