Commit 37a6df5a58de74ccdb2f4152cf7272d0eba0d4f9
Merge branch 'themes' of ssb://%Hq+YIFBq9MM1Idy4+IB05MHcVaRgNyG4UJARn8C/2ck=.sha256
Dominic Tarr committed on 9/12/2016, 3:54:34 AMParent: cc5e838dce2fc6b64f1607e8a71f33b4676fc604
Parent: 38af2fdb5719a156793f1114d29328b6f0386cd7
Files changed
modules/theme.js | changed |
modules/theme.js | ||
---|---|---|
@@ -47,9 +47,9 @@ | ||
47 | 47 … | ]), |
48 | 48 … | pull( |
49 | 49 … | sbot_links2({ |
50 | 50 … | query: [ |
51 | - {$filter: {rel: ['mentions', {$prefix: 'patchbay-'}, {$gt: null}]}}, | |
51 … | + {$filter: {rel: ['mentions', {$prefix: 'patchbay-'}]}}, | |
52 | 52 … | {$filter: {dest: {$prefix: '&'}}}, |
53 | 53 … | {$map: {id: 'dest', feed: 'source', name: ['rel', 1]}} |
54 | 54 … | ], |
55 | 55 … | live: true, |
@@ -84,8 +84,14 @@ | ||
84 | 84 … | link.feed ? h('a', {href: '#'+link.feed}, avatar_name(link.feed)) : '' |
85 | 85 … | ) |
86 | 86 … | } |
87 | 87 … | |
88 … | +function insertAfter(parentNode, newNode, referenceNode) { | |
89 … | + var nextSibling = referenceNode && referenceNode.nextSibling | |
90 … | + if (nextSibling) parentNode.insertBefore(newNode, nextSibling) | |
91 … | + else parentNode.appendChild(newNode) | |
92 … | +} | |
93 … | + | |
88 | 94 … | function theme_view() { |
89 | 95 … | var themeInput |
90 | 96 … | var themesList = h('form.themes__list') |
91 | 97 … | var themesByKey = {} |
@@ -93,22 +99,23 @@ | ||
93 | 99 … | pull( |
94 | 100 … | themes(), |
95 | 101 … | pull.unique('id'), |
96 | 102 … | pull.drain(function (theme) { |
97 | - // replace old versions of themes in the list | |
103 … | + // don't show old versions of theme | |
98 | 104 … | var key = theme.feed + theme.name |
99 | - var oldTheme = themesByKey[key] | |
105 … | + var newerTheme = themesByKey[key] | |
100 | 106 … | theme.el = renderTheme(theme) |
101 | 107 … | themesByKey[key] = theme |
102 | - if (!oldTheme) { | |
108 … | + if (!newerTheme) { | |
109 … | + // show latest theme | |
103 | 110 … | themesList.appendChild(theme.el) |
104 | - } else if (oldTheme.id === localStorage.themeId | |
105 | - || oldTheme.id === activeTheme) { | |
111 … | + } else if (theme.id === localStorage.themeId | |
112 … | + || theme.id === activeTheme) { | |
106 | 113 … | // show old version because the user is still using it |
107 | - oldTheme.el.appendChild(document.createTextNode(' (old)')) | |
108 | - themesList.appendChild(theme.el) | |
114 … | + theme.el.appendChild(document.createTextNode(' (old)')) | |
115 … | + insertAfter(themesList, theme.el, newerTheme.el) | |
109 | 116 … | } else { |
110 | - themesList.replaceChild(theme.el, oldTheme.el) | |
117 … | + // ignore old version of theme | |
111 | 118 … | } |
112 | 119 … | }, function (err) { |
113 | 120 … | if (err) console.error(err) |
114 | 121 … | }) |
Built with git-ssb-web