diff --git a/src/assets/index.html b/src/assets/index.html index 3b8cc7b7..33e44c0a 100644 --- a/src/assets/index.html +++ b/src/assets/index.html @@ -133,7 +133,7 @@ :class="{'d-none': filterSelected && !(current.folder.id == folder.id || current.feed.folder_id == folder.id) && !filteredFolderStats[folder.id] - && (!itemSelectedDetails || feedsById[itemSelectedDetails.feed_id].folder_id != folder.id)}"> + && (!itemSelectedDetails || (feedsById[itemSelectedDetails.feed_id] || {}).folder_id != folder.id)}">
{% inline "star-full.svg" %} - {{ feedsById[item.feed_id].title }} + {{ (feedsById[item.feed_id] || {}).title }}
@@ -338,7 +338,7 @@

{{ itemSelectedDetails.title || 'untitled' }}

-
{{ feedsById[itemSelectedDetails.feed_id].title }}
+
{{ (feedsById[itemSelectedDetails.feed_id] || {}).title }}

diff --git a/src/assets/javascripts/app.js b/src/assets/javascripts/app.js index a40cd1a5..6814b029 100644 --- a/src/assets/javascripts/app.js +++ b/src/assets/javascripts/app.js @@ -410,6 +410,7 @@ var vm = new Vue({ refreshItems: function(loadMore) { if (this.feedSelected === null) { vm.items = [] + vm.itemsHasMore = false return } @@ -516,10 +517,7 @@ var vm = new Vue({ deleteFolder: function(folder) { if (confirm('Are you sure you want to delete ' + folder.title + '?')) { api.folders.delete(folder.id).then(function() { - if (vm.feedSelected === 'folder:'+folder.id) { - vm.items = [] - vm.feedSelected = '' - } + vm.feedSelected = null vm.refreshStats() vm.refreshFeeds() }) @@ -536,12 +534,7 @@ var vm = new Vue({ deleteFeed: function(feed) { if (confirm('Are you sure you want to delete ' + feed.title + '?')) { api.feeds.delete(feed.id).then(function() { - // unselect feed to prevent reading properties of null in template - var isSelected = !vm.feedSelected - || (vm.feedSelected === 'feed:'+feed.id - || (feed.folder_id && vm.feedSelected === 'folder:'+feed.folder_id)); - if (isSelected) vm.feedSelected = null - + vm.feedSelected = null vm.refreshStats() vm.refreshFeeds() })