Commit d8fcc8b35fe6c7280e3c86cbb20788534c0f34f1
Fix showing new themes
Fix %3q4LzvS6VXCegRv6c0zBJ03hoDH+SUBuo6bfAqVmxZE=.sha256Charles Lehner committed on 8/28/2016, 11:09:45 PM
Parent: 11fc4a4c131af561b454a3251544add67c283036
Files changed
modules/theme.js | changed |
modules/theme.js | ||
---|---|---|
@@ -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