diff --git a/dashboard-ui/css/images/userdata/heart_off.png b/dashboard-ui/css/images/userdata/heart_off.png
new file mode 100644
index 0000000000..5c39dd323e
Binary files /dev/null and b/dashboard-ui/css/images/userdata/heart_off.png differ
diff --git a/dashboard-ui/css/images/userdata/heart_on.png b/dashboard-ui/css/images/userdata/heart_on.png
new file mode 100644
index 0000000000..8cc2cae873
Binary files /dev/null and b/dashboard-ui/css/images/userdata/heart_on.png differ
diff --git a/dashboard-ui/css/images/userdata/thumbs_down_off.png b/dashboard-ui/css/images/userdata/thumbs_down_off.png
new file mode 100644
index 0000000000..2627f0e2c6
Binary files /dev/null and b/dashboard-ui/css/images/userdata/thumbs_down_off.png differ
diff --git a/dashboard-ui/css/images/userdata/thumbs_down_on.png b/dashboard-ui/css/images/userdata/thumbs_down_on.png
new file mode 100644
index 0000000000..38d6ff3c0c
Binary files /dev/null and b/dashboard-ui/css/images/userdata/thumbs_down_on.png differ
diff --git a/dashboard-ui/css/images/userdata/thumbs_up_off.png b/dashboard-ui/css/images/userdata/thumbs_up_off.png
new file mode 100644
index 0000000000..932a8bfb8f
Binary files /dev/null and b/dashboard-ui/css/images/userdata/thumbs_up_off.png differ
diff --git a/dashboard-ui/css/images/userdata/thumbs_up_on.png b/dashboard-ui/css/images/userdata/thumbs_up_on.png
new file mode 100644
index 0000000000..96b244c54a
Binary files /dev/null and b/dashboard-ui/css/images/userdata/thumbs_up_on.png differ
diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css
index 85b9b62441..1de5bfd233 100644
--- a/dashboard-ui/css/site.css
+++ b/dashboard-ui/css/site.css
@@ -887,4 +887,9 @@ progress {
height: 26px;
width: 26px;
margin: -.7em .5em auto 0;
+}
+
+#itemFav img {
+ width: 64px;
+ cursor: pointer;
}
\ No newline at end of file
diff --git a/dashboard-ui/scripts/Itemdetailpage.js b/dashboard-ui/scripts/Itemdetailpage.js
index 02d41cc2f4..9a8175118e 100644
--- a/dashboard-ui/scripts/Itemdetailpage.js
+++ b/dashboard-ui/scripts/Itemdetailpage.js
@@ -88,6 +88,8 @@
$('#seriesName', page).html(series_name).show();
}
+ ItemDetailPage.renderFav(item);
+
Dashboard.hideLoadingMsg();
},
@@ -709,7 +711,73 @@
}
$('#castContent', page).html(html);
+ },
+
+ renderFav: function (item) {
+ var html = '';
+ var page = $.mobile.activePage;
+
+ if (typeof(item.UserData.Likes) == "undefined") {
+ html += '
';
+ html += '
';
+ } else if (item.UserData.Likes) {
+ html += '
';
+ html += '
';
+ } else {
+ html += '
';
+ html += '
';
+ }
+
+ if (item.UserData.IsFavorite) {
+ html += '
';
+ }else {
+ html += '
';
+ }
+
+ $('#itemFav', page).html(html);
+ },
+
+ setFavorite: function () {
+ var item = ItemDetailPage.item;
+
+ var setting = !item.UserData.IsFavorite;
+ item.UserData.IsFavorite = setting;
+
+ ApiClient.updateFavoriteStatus(Dashboard.getCurrentUserId(), item.Id, setting);
+
+ ItemDetailPage.renderFav(item);
+ },
+
+ setLike: function () {
+ var item = ItemDetailPage.item;
+
+ item.UserData.Likes = true;
+
+ ApiClient.updateUserItemRating(Dashboard.getCurrentUserId(), item.Id, true);
+
+ ItemDetailPage.renderFav(item);
+ },
+
+ clearLike: function () {
+ var item = ItemDetailPage.item;
+
+ delete item.UserData.Likes;
+
+ ApiClient.clearUserItemRating(Dashboard.getCurrentUserId(), item.Id);
+
+ ItemDetailPage.renderFav(item);
+ },
+
+ setDislike: function () {
+ var item = ItemDetailPage.item;
+
+ item.UserData.Likes = false;
+
+ ApiClient.updateUserItemRating(Dashboard.getCurrentUserId(), item.Id, false);
+
+ ItemDetailPage.renderFav(item);
}
+
};
$(document).on('pageshow', "#itemDetailPage", ItemDetailPage.onPageShow).on('pagehide', "#itemDetailPage", ItemDetailPage.onPageHide);