diff --git a/webadmin/src/js/index.js b/webadmin/src/js/index.js
index 026f0bc27..2a3233f14 100644
--- a/webadmin/src/js/index.js
+++ b/webadmin/src/js/index.js
@@ -43,6 +43,9 @@ app.config(['$routeProvider', function ($routeProvider) {
}).when('/graphs', {
controller: 'GraphsController',
templateUrl: 'views/graphs.html'
+ }).when('/logs', {
+ controller: 'LogsController',
+ templateUrl: 'views/logs.html'
}).when('/certs', {
controller: 'CertsController',
templateUrl: 'views/certs.html'
diff --git a/webadmin/src/views/logs.html b/webadmin/src/views/logs.html
new file mode 100644
index 000000000..422305e94
--- /dev/null
+++ b/webadmin/src/views/logs.html
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
Logs
+ Select the log to view
+
+
+
+
+
+
+
+
+
+
+
diff --git a/webadmin/src/views/logs.js b/webadmin/src/views/logs.js
new file mode 100644
index 000000000..8bc0f988e
--- /dev/null
+++ b/webadmin/src/views/logs.js
@@ -0,0 +1,25 @@
+'use strict';
+
+angular.module('Application').controller('LogsController', ['$scope', '$location', 'Client', function ($scope, $location, Client) {
+ $scope.config = Client.getConfig();
+ $scope.user = Client.getUserInfo();
+
+ $scope.logs = {
+ types: null,
+ selectedUrl: '' // index into types
+ };
+
+ $scope.populateLogTypes = function () {
+ $scope.logs.types = [
+ { name: 'System (All)', url: Client.makeURL('/api/v1/cloudron/logs?units=all') },
+ { name: 'Box', url: Client.makeURL('/api/v1/cloudron/logs?units=box') },
+ { name: 'Mail', url: Client.makeURL('/api/v1/cloudron/logs?units=mail') }
+ ];
+
+ Client.getInstalledApps().forEach(function (app) {
+ $scope.logs.types.push({ name: app.fqdn, url: Client.makeURL('/api/v1/apps/' + app.id + '/logs') });
+ });
+ };
+
+ Client.onReady($scope.populateLogTypes);
+}]);