diff --git a/dashboard-ui/scripts/plugincatalogpage.js b/dashboard-ui/scripts/plugincatalogpage.js
index 1c9a889d19..63394e442b 100644
--- a/dashboard-ui/scripts/plugincatalogpage.js
+++ b/dashboard-ui/scripts/plugincatalogpage.js
@@ -5,11 +5,39 @@
TargetSystems: 'Server'
};
+ function getApps() {
+
+ var apps = [];
+
+ apps.push({
+ type: "UserInstalled",
+ name: "MBKinect",
+ category: "Voice Control",
+ isApp: true,
+ tileColor: "#050810",
+ thumbImage: "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/images/mbkinect/thumb.png",
+ externalUrl: "http://community.mediabrowser.tv/permalinks/14020/mb-kinect-and-control-public-alpha",
+ isPremium: false
+ });
+
+ return apps;
+ }
+
+ function getAppsPromise() {
+
+ var deferred = $.Deferred();
+
+ deferred.resolveWith(null, [[getApps()]]);
+
+ return deferred.promise();
+ }
+
function reloadList(page) {
Dashboard.showLoadingMsg();
- var promise1 = ApiClient.getAvailablePlugins(query);
+ var promise1 = query.TargetSystems == "Apps" ? getAppsPromise() : ApiClient.getAvailablePlugins(query);
+
var promise2 = ApiClient.getInstalledPlugins();
$.when(promise1, promise2).done(function (response1, response2) {
@@ -42,13 +70,16 @@
var plugin = availablePlugins[i];
var category = plugin.category || "General";
-
+
if (category != currentCategory) {
html += '
';
currentCategory = category;
}
- html += "
";
if (plugin.thumbImage) {
html += '';
@@ -68,7 +99,7 @@
html += "";
- var installedPlugin = installedPlugins.filter(function (ip) {
+ var installedPlugin = plugin.isApp ? null : installedPlugins.filter(function (ip) {
return ip.Name == plugin.name;
})[0];