209 lines
8.9 KiB
HTML
209 lines
8.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" />
|
|
|
|
<title> Cloudron </title>
|
|
|
|
<!-- Bootstrap Core CSS -->
|
|
<link href="3rdparty/sb-admin-2/css/bootstrap.min.css" rel="stylesheet">
|
|
|
|
<!-- MetisMenu CSS -->
|
|
<link href="3rdparty/sb-admin-2/css/plugins/metisMenu/metisMenu.min.css" rel="stylesheet">
|
|
|
|
<!-- Timeline CSS -->
|
|
<link href="3rdparty/sb-admin-2/css/plugins/timeline.css" rel="stylesheet">
|
|
|
|
<!-- Custom CSS -->
|
|
<link href="3rdparty/sb-admin-2/css/sb-admin-2.css" rel="stylesheet">
|
|
|
|
<!-- Morris Charts CSS -->
|
|
<link href="3rdparty/sb-admin-2/css/plugins/morris.css" rel="stylesheet">
|
|
|
|
<!-- Custom Fonts -->
|
|
<link href="3rdparty/sb-admin-2/font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
|
|
|
|
|
<link href="3rdparty/rickshaw/rickshaw.min.css" rel="stylesheet">
|
|
|
|
<style>
|
|
|
|
.animateMe {
|
|
opacity: 1;
|
|
-webkit-transition: 0.25s ease all;
|
|
transition: 0.25s ease all;
|
|
}
|
|
|
|
.animateMe.ng-hide-add,
|
|
.animateMe.ng-hide-remove {
|
|
display: block !important;
|
|
transform: scale(0.9, 0.9);
|
|
opacity: 0;
|
|
}
|
|
|
|
.animateMeOpacity {
|
|
opacity: 1;
|
|
-webkit-transition: 0.25s ease all;
|
|
transition: 0.25s ease all;
|
|
}
|
|
|
|
.animateMeOpacity.ng-hide-add,
|
|
.animateMeOpacity.ng-hide-remove {
|
|
display: block !important;
|
|
opacity: 0;
|
|
}
|
|
|
|
</style>
|
|
|
|
<!-- angularjs scripts -->
|
|
<script src="3rdparty/js/angular.min.js"></script>
|
|
<script src="3rdparty/js/angular-loader.min.js"></script>
|
|
<script src="3rdparty/js/angular-route.min.js"></script>
|
|
<script src="3rdparty/js/angular-animate.min.js"></script>
|
|
<script src="3rdparty/js/angular-md5.min.js"></script>
|
|
<script src="3rdparty/js/autofill-event.js"></script>
|
|
|
|
<!-- jQuery Version 1.11.0 -->
|
|
<script src="3rdparty/sb-admin-2/js/jquery-1.11.0.js"></script>
|
|
|
|
<script src="3rdparty/js/ansi_up.js"></script>
|
|
|
|
<!-- Bootstrap Core JavaScript -->
|
|
<script src="3rdparty/sb-admin-2/js/bootstrap.min.js"></script>
|
|
|
|
<!-- Metis Menu Plugin JavaScript -->
|
|
<script src="3rdparty/sb-admin-2/js/plugins/metisMenu/metisMenu.min.js"></script>
|
|
|
|
<!-- Custom Theme JavaScript -->
|
|
<script src="3rdparty/sb-admin-2/js/sb-admin-2.js"></script>
|
|
|
|
<!-- Rickshaw -->
|
|
<script src="3rdparty/rickshaw/d3.js"></script>
|
|
<script src="3rdparty/rickshaw/rickshaw.js"></script>
|
|
|
|
<!-- cloudron oauth -->
|
|
<script src="/api/v1/oauth/cloudron.js"></script>
|
|
|
|
<!-- application -->
|
|
<script src="js/index.js"></script>
|
|
|
|
</head>
|
|
|
|
<body ng-app="Application" ng-controller="MainController">
|
|
|
|
<!-- Modal backup progress -->
|
|
<div class="modal fade" id="backupProgressModal" tabindex="-1" role="dialog" aria-labelledby="backupProgressModalLabel" aria-hidden="true" data-keyboard="false" data-backdrop="static">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title" id="backupProgressModalLabel">Backup in progress...</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="progress progress-striped active">
|
|
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- /.modal-content -->
|
|
</div>
|
|
<!-- /.modal-dialog -->
|
|
</div>
|
|
|
|
<!-- Modal reboot progress -->
|
|
<div class="modal fade" id="rebootProgressModal" tabindex="-1" role="dialog" aria-labelledby="rebootProgressModalLabel" aria-hidden="true" data-keyboard="false" data-backdrop="static">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title" id="rebootProgressModalLabel">Reboot in progress...</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="progress progress-striped active">
|
|
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- /.modal-content -->
|
|
</div>
|
|
<!-- /.modal-dialog -->
|
|
</div>
|
|
|
|
<div id="wrapper" class="animateMe ng-hide" ng-show="initialized">
|
|
|
|
<!-- Navigation -->
|
|
<nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand" href="index.html">Cloudron</a>
|
|
</div>
|
|
<!-- /.navbar-header -->
|
|
|
|
<ul class="nav navbar-top-links navbar-right">
|
|
<li ng-show="userInfo.admin">
|
|
<a ng-class="{ active: isActive('/appstore')}" href="#/appstore"><i class="fa fa-th-large fa-fw"></i> App Store</a>
|
|
</li>
|
|
<li ng-show="userInfo.admin">
|
|
<a ng-class="{ active: isActive('/userlist')}" href="#/userlist"><i class="fa fa-users fa-fw"></i> Users</a>
|
|
</li>
|
|
<li class="dropdown">
|
|
<a href="" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><img ng-src="{{userInfo.gravatar}}"/> {{userInfo.username}} <span class="caret"></span></a>
|
|
<ul class="dropdown-menu" role="menu">
|
|
<li><a href="#/account"><i class="fa fa-user fa-fw"></i> Account</a></li>
|
|
<li><a href="#/security"><i class="fa fa-unlock-alt fa-fw"></i> Security</a></li>
|
|
<li ng-show="userInfo.admin"><a href="#/settings"><i class="fa fa-wrench fa-fw"></i> Settings</a></li>
|
|
<li class="divider"></li>
|
|
<li><a href="" ng-click="logout($event)"><i class="fa fa-sign-out fa-fw"></i> Logout</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<!-- /.navbar-top-links -->
|
|
|
|
<div class="navbar-default sidebar" role="navigation">
|
|
<div class="sidebar-nav navbar-collapse">
|
|
<ul class="nav" id="side-menu">
|
|
<li ng-show="userInfo.admin">
|
|
<a href=""><i class="fa fa-cloud-download fa-fw"></i> My Apps ({{installedApps.length}}) <span class="fa arrow"></span></a>
|
|
<ul class="nav nav-second-level">
|
|
<li ng-show="!installedApps.length">
|
|
<a><em>No Apps installed</em></a>
|
|
</li>
|
|
<li ng-repeat="app in installedApps">
|
|
<a href="#/app/{{ app.id }}/details">
|
|
{{ app.location || "App" }}<span class="pull-right text-muted"><em>{{ app.installationState | installationStateLabel }}</em></span>
|
|
<div ng-show="app.installationState | installationActive" class="animateMe ng-hide">
|
|
<div class="progress progress-striped active">
|
|
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"></div>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<!-- /.sidebar-collapse -->
|
|
</div>
|
|
<!-- /.navbar-static-side -->
|
|
</nav>
|
|
|
|
<div id="page-wrapper">
|
|
<div ng-view id="ng-view"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<footer class="navbar navbar-default navbar-fixed-bottom">
|
|
<div class="container">
|
|
<p class="navbar-text pull-left">© 2015 - <a href="{{config.webServerOrigin}}" target="_blank" >Cloudron</a></p>
|
|
<!-- <a href="" class="navbar-btn btn btn-outline btn-success pull-right" data-toggle="modal" data-target="#updateModal">Update</a> -->
|
|
<p class="navbar-text pull-right">Version <b>{{config.version}}</b></p>
|
|
</div>
|
|
</footer>
|
|
|
|
</body>
|
|
</html>
|