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