index.html 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <!DOCTYPE html>
  2. <html lang="en" ng-app="pineapple">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1, user-scalable=no">
  6. <title>WiFi Pineapple</title>
  7. <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
  8. <link rel="stylesheet" type="text/css" href="css/main.css">
  9. <link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon">
  10. <link rel="icon" href="img/favicon.ico" type="image/x-icon">
  11. <script src="js/vendor/jquery.min.js"></script>
  12. <script src="js/vendor/bootstrap.min.js"></script>
  13. <script src="js/vendor/angular.min.js"></script>
  14. <script src="js/vendor/angular-route.min.js"></script>
  15. <script src="js/vendor/angular-cookies.min.js"></script>
  16. <script src="js/pineapple.js"></script>
  17. <script src="js/services.js"></script>
  18. <script src="js/filters.js"></script>
  19. <script src="js/controllers.js"></script>
  20. <script src="js/directives.js"></script>
  21. <script src="js/helpers.js"></script>
  22. </head>
  23. <nav class="navbar navbar-default navbar-static-top">
  24. <div class="navbar-header">
  25. <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
  26. <span class="sr-only">Toggle navigation</span>
  27. <span class="icon-bar"></span>
  28. <span class="icon-bar"></span>
  29. <span class="icon-bar"></span>
  30. </button>
  31. <a class="navbar-brand" href="#!/module/Dashboard">
  32. <span class="brand-logo"></span>
  33. <span class="brand-text"></span>
  34. </a>
  35. <ul class="nav navbar-nav navbar-right pull-right navbar-top-links">
  36. <li class="dropdown" ng-controller="NotificationController" ng-show="notifications.length">
  37. <a class="dropdown-toggle" data-toggle="dropdown" href="">
  38. <img width="18px" src="img/notify.png">
  39. <span class="caret"></span>
  40. </a>
  41. <ul class="dropdown-menu dropdown-menu-top">
  42. <li ng-repeat="notification in notifications"><a>{{ notification.message }}</a></li>
  43. <li role="separator" class="divider"></li>
  44. <li ng-click="clearNotifications()"><a><span class="text-center"><i>- Clear -</i></span></a></li>
  45. </ul>
  46. </li>
  47. <li class="dropdown logout" ng-controller="AuthenticationController">
  48. <a class="dropdown-toggle" data-toggle="dropdown" href="">
  49. <img width="18px" src="img/logout.png">
  50. <span class="caret"></span>
  51. </a>
  52. <ul class="dropdown-menu dropdown-menu-top dropdown-menu-logout">
  53. <li ng-click="logout()"><a>Log Off</a></li>
  54. <li ng-click="rebootPineapple()"><a>Reboot</a></li>
  55. <li ng-click="haltPineapple()"><a>Shut Down</a></li>
  56. </ul>
  57. </li>
  58. </ul>
  59. </div>
  60. </nav>
  61. <div class="navbar-default sidebar" role="navigation" ng-controller="NavigationController">
  62. <div class="sidebar-nav navbar-collapse collapse">
  63. <ul class="nav sidebar-nav">
  64. <li ng-repeat-start="systemModule in systemModules" ng-class="getClass(systemModule.name)" module="{{ systemModule.name }}">
  65. <a href="#!/modules/{{ systemModule.name }}"><img class="module-icon pull-right" ng-src="{{ systemModule.icon }}" ng-if="systemModule.icon != null"> {{ systemModule.title }}</a>
  66. </li>
  67. <li ng-if="$index == 3" ng-repeat-end>
  68. <a ng-class="getModuleClass()" onclick="$('.module-nav').collapse('toggle')" href=''><img class="module-icon pull-right" src="/modules/ModuleManager/module_icon.svg"> Modules <span class="caret"></span></a>
  69. <ul class="nav module-nav collapse">
  70. <li ng-class="getClass('ModuleManager')" module="ModuleManager"><a href="#!/modules/ModuleManager">Manage Modules</a></li>
  71. <li ng-class="getClass(userModule.name)" ng-repeat="userModule in userModules" module="{{ userModule.name }}"><a href="#!/modules/{{ userModule.name }}"><img class="module-icon pull-right" ng-src="{{ userModule.icon }}" ng-if="userModule.icon != null"/> {{ userModule.title }}</a></li>
  72. </ul>
  73. </li>
  74. </ul>
  75. </div>
  76. </div>
  77. <div class="module-content" ng-view>
  78. </div>
  79. <div id="loginModal" class="modal fade" role="dialog" data-keyboard="false" ng-controller="AuthenticationController">
  80. <div class="modal-dialog">
  81. <div class="modal-content">
  82. <div class="modal-header">
  83. <h4 class="modal-title">WiFi Pineapple Login</h4>
  84. </div>
  85. <div class="modal-body">
  86. <div class="row">
  87. <img class="img-responsive login-logo" src="img/logo.png">
  88. </div>
  89. <form role="form" ng-submit="login()">
  90. <fieldset>
  91. <div class="form-group">
  92. <input class="form-control" value="root" type="text" ng-model="username" tabindex="2" autocomplete="false">
  93. </div>
  94. <div class="form-group">
  95. <input class="form-control" placeholder="Password" type="password" ng-model="password" autofocus="autofocus" tabindex="1" autocomplete="current-password">
  96. </div>
  97. <div class="form-group">
  98. <div class="alert alert-danger" ng-show="message">
  99. {{ message }}
  100. </div>
  101. </div>
  102. <input class="btn btn-lg btn-success btn-block" type="submit" id="submit" value="Login" />
  103. </fieldset>
  104. </form>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. </body>
  110. </html>