diff --git a/webadmin/src/theme.scss b/webadmin/src/theme.scss index edb7fb88e..7cff3b565 100644 --- a/webadmin/src/theme.scss +++ b/webadmin/src/theme.scss @@ -206,6 +206,31 @@ html { font-size: 18px; } +.appstore-category-missing { + padding: 10px; + background-color: white; + + p { + font-weight: bold; + } + + textarea { + display: block; + width: 100%; + height: 50px; + margin-bottom: 10px; + transition: all 250ms ease-out; + + &:focus { + height: 200px; + } + } + + button { + width: 100%; + } +} + .appstore-install-description { max-height: 250px; overflow-x: none; diff --git a/webadmin/src/views/appstore.html b/webadmin/src/views/appstore.html index 713ac7750..ffdc980f8 100644 --- a/webadmin/src/views/appstore.html +++ b/webadmin/src/views/appstore.html @@ -98,6 +98,24 @@ Wiki
Testing +
+
+
+
+
+
+

+ Missing an app? Let us know. +

+ +
{{feedback.error}}
+ +
+
+
+ Thank You! +
+
diff --git a/webadmin/src/views/appstore.js b/webadmin/src/views/appstore.js index 9316f1bdc..62837c7aa 100644 --- a/webadmin/src/views/appstore.js +++ b/webadmin/src/views/appstore.js @@ -21,6 +21,38 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$loca }; + $scope.feedback = { + error: null, + success: false, + subject: 'App feedback', + description: '', + type: 'app' + }; + + function resetFeedback() { + $scope.feedback.description = ''; + + $scope.feedbackForm.$setUntouched(); + $scope.feedbackForm.$setPristine(); + } + + $scope.submitFeedback = function () { + $scope.feedback.busy = true; + $scope.feedback.success = false; + $scope.feedback.error = null; + + Client.feedback($scope.feedback.type, $scope.feedback.subject, $scope.feedback.description, function (error) { + if (error) { + $scope.feedback.error = error; + } else { + $scope.feedback.success = true; + resetFeedback(); + } + + $scope.feedback.busy = false; + }); + }; + function getAppList(callback) { AppStore.getApps(function (error, apps) { if (error) return callback(error);