diff --git a/browser/main/SideNav/index.js b/browser/main/SideNav/index.js index 6b53478e..0159293a 100644 --- a/browser/main/SideNav/index.js +++ b/browser/main/SideNav/index.js @@ -148,7 +148,9 @@ class SideNav extends React.Component { const relatedTags = this.getRelatedTags(this.getActiveTags(location.pathname), data.noteMap) let tagList = _.sortBy(data.tagNoteMap.map( (tag, name) => ({ name, size: tag.size, related: relatedTags.has(name) }) - ), ['name']) + ), ['name']).filter( + tag => tag.size > 0 + ) if (config.sortTagsBy === 'COUNTER') { tagList = _.sortBy(tagList, item => (0 - item.size)) } diff --git a/browser/main/store.js b/browser/main/store.js index f078ad20..8ca00e7f 100644 --- a/browser/main/store.js +++ b/browser/main/store.js @@ -88,9 +88,27 @@ function data (state = defaultDataMap(), action) { if (note.isTrashed) { state.trashedSet.add(uniqueKey) state.starredSet.delete(uniqueKey) + + note.tags.forEach(tag => { + let tagNoteList = state.tagNoteMap.get(tag) + if (tagNoteList != null) { + tagNoteList = new Set(tagNoteList) + tagNoteList.delete(uniqueKey) + state.tagNoteMap.set(tag, tagNoteList) + } + }) } else { state.trashedSet.delete(uniqueKey) + note.tags.forEach(tag => { + let tagNoteList = state.tagNoteMap.get(tag) + if (tagNoteList != null) { + tagNoteList = new Set(tagNoteList) + tagNoteList.add(uniqueKey) + state.tagNoteMap.set(tag, tagNoteList) + } + }) + if (note.isStarred) { state.starredSet.add(uniqueKey) }