pro-logged-in.blade.php 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. @if(!isset($_REQUEST['optimised']))
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <title>Stag | Pro</title>
  8. <!-- Tell the browser to be responsive to screen width -->
  9. <meta name="viewport" content="width=device-width, initial-scale=1">
  10. <!-- Font Awesome -->
  11. <link rel="stylesheet" href="/AdminLTE-3.0.5/plugins/fontawesome-free/css/all.min.css">
  12. <!-- Theme style -->
  13. <link rel="stylesheet" href="/AdminLTE-3.0.5/dist/css/adminlte.min.css">
  14. <!-- overlayScrollbars -->
  15. <link rel="stylesheet" href="/AdminLTE-3.0.5/plugins/overlayScrollbars/css/OverlayScrollbars.min.css">
  16. <style>
  17. .loading-rotate {
  18. -webkit-animation:spin 0.3s linear infinite;
  19. -moz-animation:spin 0.3s linear infinite;
  20. animation:spin 0.3s linear infinite;
  21. }
  22. @-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
  23. @-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
  24. @keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }
  25. </style>
  26. {{-- stag theme --}}
  27. <link rel="stylesheet" href="/css/theme.css">
  28. </head>
  29. <body class="hold-transition sidebar-mini layout-fixed sidebar-collapse">
  30. <div class="wrapper">
  31. <!-- Navbar -->
  32. <nav class="main-header navbar navbar-expand navbar-white navbar-light">
  33. <!-- Left navbar links -->
  34. <ul class="navbar-nav">
  35. <li class="nav-item">
  36. <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
  37. </li>
  38. </ul>
  39. <!-- Right navbar links -->
  40. <ul class="navbar-nav ml-auto ml-2">
  41. <li class="nav-item">
  42. <a id="reload-icon" class="nav-link" href="#" role="button" onclick="window.location.reload(); return false">
  43. <i class="fa fa-sync"></i>
  44. </a>
  45. </li>
  46. </ul>
  47. <!-- SEARCH FORM -->
  48. <form class="form-inline ml-2 w-25 stag-search-form">
  49. <div class="input-group input-group-sm w-100">
  50. <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
  51. <div class="input-group-append">
  52. <button class="btn btn-navbar" type="submit">
  53. <i class="fas fa-search"></i>
  54. </button>
  55. </div>
  56. </div>
  57. </form>
  58. <ul class="navbar-nav ml-2 ml-2">
  59. <li class="nav-item">
  60. <a class="nav-link px-2" href="/api/session/logOut" target="_top" role="button" logout>
  61. <i class="fas fa-sign-out-alt"></i>
  62. </a>
  63. </li>
  64. </ul>
  65. </nav>
  66. <!-- /.navbar -->
  67. @endif
  68. <!-- Main Sidebar Container -->
  69. <aside class="main-sidebar sidebar-light-primary elevation-4">
  70. <!-- Brand Logo -->
  71. <a href="#" class="brand-link">
  72. <img src="/AdminLTE-3.0.5/dist/img/AdminLTELogo.png" alt="AdminLTE Logo" class="brand-image img-circle elevation-3"
  73. style="opacity: .8">
  74. <span class="brand-text font-weight-light">Scholar</span>
  75. </a>
  76. <!-- Sidebar -->
  77. <div class="sidebar">
  78. <!-- Sidebar Menu -->
  79. <nav class="mt-2">
  80. <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false" id="main-sidenav">
  81. <li class="nav-item">
  82. <a href="/dashboard" class="nav-link {{ request()->route()->getActionName() === 'App\Http\Controllers\ProController@dashboard' ? 'active' : '' }}">
  83. <i class="nav-icon fa fa-palette"></i>
  84. <p>
  85. Dashboard
  86. </p>
  87. </a>
  88. @if(\Illuminate\Support\Facades\View::exists('layouts.generated-links'))
  89. @include('layouts.generated-links')
  90. @endif
  91. </ul>
  92. </nav>
  93. <!-- /.sidebar-menu -->
  94. </div>
  95. <!-- /.sidebar -->
  96. </aside>
  97. @if(!isset($_REQUEST['optimised']))
  98. <!-- Content Wrapper. Contains page content -->
  99. <div class="content-wrapper">
  100. <!-- Main content -->
  101. <section class="content p-0">
  102. <div class="container-fluid p-0">
  103. <div class="row mb-2 mx-0">
  104. @endif
  105. <div class="col-12 px-0" id="main-content">
  106. @yield('content')
  107. </div>
  108. @if(!isset($_REQUEST['optimised']))
  109. </div>
  110. </div><!-- /.container-fluid -->
  111. </section>
  112. <!-- /.content -->
  113. </div>
  114. </div>
  115. <!-- ./wrapper -->
  116. <!-- Google Font: Source Sans Pro -->
  117. <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700" rel="stylesheet">
  118. <!-- jQuery -->
  119. <script src="/AdminLTE-3.0.5/plugins/jquery/jquery.min.js"></script>
  120. <!-- overlayScrollbars -->
  121. <script src="/AdminLTE-3.0.5/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js"></script>
  122. <!-- AdminLTE App -->
  123. <script src="/AdminLTE-3.0.5/dist/js/adminlte.js"></script>
  124. <!-- unpoly -->
  125. <script src="/unpoly-0.62.0/es6-promise.min.js"></script>
  126. <script src="/unpoly-0.62.0/es6-promise.auto.min.js"></script>
  127. <script src="/unpoly-0.62.0/unpoly.min.js"></script>
  128. <link rel="stylesheet" href="/unpoly-0.62.0/unpoly.min.css">
  129. <style>
  130. .up-modal-content {
  131. padding: 0;
  132. }
  133. .up-modal-close {
  134. display: none;
  135. }
  136. .up-modal-dialog {
  137. border-radius: 8px;
  138. overflow: hidden;
  139. }
  140. .inner-side-nav {
  141. width: 200px;
  142. }
  143. .inner-content {
  144. width: calc(100% - 200px);
  145. }
  146. </style>
  147. <script>
  148. if(window === window.top) {
  149. window.location.href = '/mc' + window.location.pathname;
  150. }
  151. </script>
  152. <script>
  153. // Prevent variables from being global
  154. $(document).ready(function () {
  155. function gotoTarget(target, pushState) {
  156. $.get('/' + target + '?optimised=1', function(_data) {
  157. $('#reload-icon').removeClass('loading-rotate');
  158. if(pushState) {
  159. window.top.history.pushState(target, null, '/mc/' + target);
  160. }
  161. var received = $('<div>' + _data + '</div>');
  162. $('#main-content').replaceWith(received.find('#main-content'));
  163. var activeHref = received.find('#main-sidenav').find('.nav-link.active').attr('href');
  164. $('#main-sidenav a.nav-link.active').removeClass('active').blur();
  165. $('#main-sidenav a[href="' + activeHref + '"]').addClass('active');
  166. $(window).scrollTop(0);
  167. });
  168. }
  169. $(document).on('click', 'a:not([href="#"]):not([up-modal]):not([up-close]):not([no-ajax]):not([logout])', function() {
  170. $('#reload-icon').addClass('loading-rotate');
  171. var target = this.href;
  172. if(target.indexOf('//') !== -1) {
  173. target = target.split('//')[1];
  174. if(target.indexOf('/') !== -1) {
  175. target = target.substr(target.indexOf('/') + 1);
  176. }
  177. }
  178. gotoTarget(target, true);
  179. return false;
  180. });
  181. $(document).on('submit', 'form[action="/post-to-api"]:not(.custom-submit)', function() {
  182. $('#reload-icon').addClass('loading-rotate');
  183. $.post(this.action, $(this).serialize(), function(_data) {
  184. $('#main-content').replaceWith($(_data).find('#main-content'));
  185. $(window).scrollTop(0);
  186. $('#reload-icon').removeClass('loading-rotate');
  187. });
  188. return false;
  189. });
  190. $(document).on('click', '[logout]', function() {
  191. $.get('/api/session/logOut', function(_data) {
  192. window.top.location = '/';
  193. });
  194. });
  195. window.top.addEventListener('popstate', function(event) {
  196. if(!!event.state) {
  197. gotoTarget(event.state, false);
  198. }
  199. });
  200. });
  201. </script>
  202. </body>
  203. </html>
  204. @endif