diff --git a/src/main/java/com/commafeed/frontend/model/Entry.java b/src/main/java/com/commafeed/frontend/model/Entry.java
index 814f0a96..75808597 100644
--- a/src/main/java/com/commafeed/frontend/model/Entry.java
+++ b/src/main/java/com/commafeed/frontend/model/Entry.java
@@ -37,6 +37,7 @@ public class Entry implements Serializable {
entry.setUrl(feedEntry.getUrl());
entry.setRead(status.isRead());
+ entry.setStarred(status.isStarred());
entry.setFeedName(status.getSubscription().getTitle());
entry.setFeedId(String.valueOf(status.getSubscription().getId()));
diff --git a/src/main/webapp/css/app.css b/src/main/webapp/css/app.css
index f085564b..5de147e8 100644
--- a/src/main/webapp/css/app.css
+++ b/src/main/webapp/css/app.css
@@ -212,6 +212,19 @@
font-size: 12px;
}
+#feed-accordion .star {
+ text-decoration: none;
+ padding: 0px 5px;
+}
+
+#feed-accordion .icon-star-yellow {
+ color: gold;
+}
+
+#feed-accordion .icon-star-empty {
+ color: #555;
+}
+
/* admin */
.admin .users-table {
height: 400px;
diff --git a/src/main/webapp/directives/category.html b/src/main/webapp/directives/category.html
index 18765bcd..3e1fe6a9 100644
--- a/src/main/webapp/directives/category.html
+++ b/src/main/webapp/directives/category.html
@@ -1,5 +1,5 @@
-
+
-
-
+
+
{{formatCategoryName(node)}}
-
+
diff --git a/src/main/webapp/js/controllers.js b/src/main/webapp/js/controllers.js
index 404e65b0..4bb48ffa 100644
--- a/src/main/webapp/js/controllers.js
+++ b/src/main/webapp/js/controllers.js
@@ -99,6 +99,11 @@ function($scope, $timeout, $stateParams, $window, $location, $state, $route, Cat
$scope.selectedType = $stateParams._type;
$scope.selectedId = $stateParams._id;
+ $scope.starred = {
+ id: 'starred',
+ name: 'Starred'
+ };
+
$scope.$on('$stateChangeSuccess', function() {
$scope.selectedType = $stateParams._type;
$scope.selectedId = $stateParams._id;
@@ -339,6 +344,18 @@ function($scope, $stateParams, $http, $route, $window, EntryService, SettingsSer
});
}
};
+
+ $scope.star = function(entry, star, event) {
+ event.preventDefault();
+ event.stopPropagation();
+ if (entry.starred != star) {
+ entry.starred = star;
+ EntryService.star({
+ id : entry.id,
+ starred : star
+ });
+ }
+ };
$scope.isOpen = false;
$scope.entryClicked = function(entry, event) {
diff --git a/src/main/webapp/js/directives.js b/src/main/webapp/js/directives.js
index f3c3de32..ad3e8f86 100644
--- a/src/main/webapp/js/directives.js
+++ b/src/main/webapp/js/directives.js
@@ -95,6 +95,8 @@ module.directive('category', [ function() {
node : '=',
selectedType : '=',
selectedId : '=',
+ showLabel : '=',
+ showChildren : '=',
unreadCount : '&'
},
restrict : 'E',
diff --git a/src/main/webapp/js/services.js b/src/main/webapp/js/services.js
index 243de1f5..1ec25b5b 100644
--- a/src/main/webapp/js/services.js
+++ b/src/main/webapp/js/services.js
@@ -186,6 +186,12 @@ function($resource, $http) {
params : {
_method : 'mark'
}
+ },
+ star : {
+ method : 'POST',
+ params : {
+ _method : 'star'
+ }
}
};
var res = $resource('rest/entry/:_method', {}, actions);
diff --git a/src/main/webapp/templates/_tree.html b/src/main/webapp/templates/_tree.html
index 0f9721ec..0ada8788 100644
--- a/src/main/webapp/templates/_tree.html
+++ b/src/main/webapp/templates/_tree.html
@@ -1,6 +1,12 @@
diff --git a/src/main/webapp/templates/feeds.view.html b/src/main/webapp/templates/feeds.view.html
index 0ef010a7..113725f8 100644
--- a/src/main/webapp/templates/feeds.view.html
+++ b/src/main/webapp/templates/feeds.view.html
@@ -9,6 +9,10 @@
+
+
+
{{entry.feedName}}