A self hosted chat application with end-to-end encrypted messaging.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

429 lines
24 KiB

  1. <!DOCTYPE html>
  2. <html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
  3. <head>
  4. <!-- <div th:replace="head :: headFragment">
  5. <meta charset="UTF-8">
  6. <title id="pageTitle">Navbar Fragment</title>
  7. </div> -->
  8. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" th:if="false"></script>
  9. <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.bundle.js" th:if="false"></script>
  10. <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.css" th:if="false" rel="stylesheet" type="text/css">
  11. <script src="https://code.jquery.com/jquery-2.1.4.min.js" th:if="false"></script>
  12. <script src="http://blackpeppersoftware.github.io/thymeleaf-fragment.js/thymeleaf-fragment.js" defer="defer" th:if="false"></script>
  13. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" th:if="false">
  14. <th:block th:fragment="headFragment">
  15. <script th:src="@{/js/adminBundle.js}" src="../../static/js/adminBundle.js" defer="defer"></script>
  16. <script th:src="@{/js/admin.js}" src="../../static/js/admin.js" defer="defer"></script>
  17. <script th:src="@{/js/sb-admin-2.js}" src="../../static/js/sb-admin-2.js" defer="defer"></script>
  18. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.js" defer></script>
  19. <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.js" defer></script>
  20. <link th:href="@{/css/sb-admin-2.css}" href="../../static/css/sb-admin-2.css" rel="stylesheet">
  21. <link th:href="@{/css/admin-custom.css}" href="../../static/css/admin-custom.css" rel="stylesheet">
  22. </th:block>
  23. <link href="../../static/css/sb-admin-2.css" rel="stylesheet" th:if="false">
  24. <link href="../../static/css/admin-custom.css" rel="stylesheet" th:if="false">
  25. </head>
  26. <body id="page-top">
  27. <!-- Page Wrapper -->
  28. <div id="wrapper">
  29. <th:block th:fragment="sidebar-fragment">
  30. <!-- Sidebar -->
  31. <ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
  32. <!-- Sidebar - Brand -->
  33. <a class="sidebar-brand d-flex align-items-center justify-content-center" th:href="@{/admin}" href="../admin/home.html">
  34. <div class="sidebar-brand-icon rotate-n-15">
  35. <i class="fas fa-laugh-wink"></i>
  36. </div>
  37. <div class="sidebar-brand-text mx-3">SB Admin <sup>2</sup></div>
  38. </a>
  39. <!-- Divider -->
  40. <hr class="sidebar-divider my-0">
  41. <!-- Nav Item - Dashboard -->
  42. <li class="nav-item active">
  43. <a class="nav-link" th:href="@{/admin}" href="../admin/home.html">
  44. <i class="fas fa-fw fa-tachometer-alt"></i>
  45. <span>Dashboard</span></a>
  46. </li>
  47. <!-- Divider -->
  48. <hr class="sidebar-divider">
  49. <!-- Heading -->
  50. <div class="sidebar-heading">
  51. Administration
  52. </div>
  53. <!-- Nav Item - Pages Collapse Menu -->
  54. <li class="nav-item">
  55. <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseTwo">
  56. <i class="fas fa-fw fa-cog"></i>
  57. <span>Users</span>
  58. </a>
  59. <div id="collapseOne" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar">
  60. <div class="bg-dark py-2 collapse-inner rounded">
  61. <h6 class="collapse-header">Settings:</h6>
  62. <a class="collapse-item" th:href="@{/admin/change-passphrase}" href="../admin/change-passphrase.html">Change Passphrase</a>
  63. <a class="collapse-item" href="cards.html">Cards</a>
  64. </div>
  65. </div>
  66. </li>
  67. <!-- Divider -->
  68. <hr class="sidebar-divider">
  69. <!-- Heading -->
  70. <div class="sidebar-heading">
  71. Interface
  72. </div>
  73. <!-- Nav Item - Pages Collapse Menu -->
  74. <li class="nav-item">
  75. <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo">
  76. <i class="fas fa-fw fa-cog"></i>
  77. <span>Components</span>
  78. </a>
  79. <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar">
  80. <div class="bg-dark py-2 collapse-inner rounded">
  81. <h6 class="collapse-header">Custom Components:</h6>
  82. <a class="collapse-item" href="buttons.html"> <span class="text-white"> Buttons </span></a>
  83. <a class="collapse-item" href="cards.html"> <span class="text-white"> Cards </span></a>
  84. </div>
  85. </div>
  86. </li>
  87. <!-- Nav Item - Utilities Collapse Menu -->
  88. <li class="nav-item">
  89. <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities">
  90. <i class="fas fa-fw fa-wrench"></i>
  91. <span>Utilities</span>
  92. </a>
  93. <div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities" data-parent="#accordionSidebar">
  94. <div class="bg-dark py-2 collapse-inner rounded">
  95. <h6 class="collapse-header">Custom Utilities:</h6>
  96. <a class="collapse-item" href="utilities-color.html">Colors</a>
  97. <a class="collapse-item" href="utilities-border.html">Borders</a>
  98. <a class="collapse-item" href="utilities-animation.html">Animations</a>
  99. <a class="collapse-item" href="utilities-other.html">Other</a>
  100. </div>
  101. </div>
  102. </li>
  103. <!-- Divider -->
  104. <hr class="sidebar-divider">
  105. <!-- Heading -->
  106. <div class="sidebar-heading">
  107. Addons
  108. </div>
  109. <!-- Nav Item - Pages Collapse Menu -->
  110. <li class="nav-item">
  111. <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages">
  112. <i class="fas fa-fw fa-folder"></i>
  113. <span>Pages</span>
  114. </a>
  115. <div id="collapsePages" class="collapse" aria-labelledby="headingPages" data-parent="#accordionSidebar">
  116. <div class="bg-dark py-2 collapse-inner rounded">
  117. <h6 class="collapse-header">Login Screens:</h6>
  118. <a class="collapse-item" href="login.html">Login</a>
  119. <a class="collapse-item" href="register.html">Register</a>
  120. <a class="collapse-item" href="forgot-password.html">Forgot Password</a>
  121. <div class="collapse-divider"></div>
  122. <h6 class="collapse-header">Other Pages:</h6>
  123. <a class="collapse-item" href="404.html">404 Page</a>
  124. <a class="collapse-item" href="blank.html">Blank Page</a>
  125. </div>
  126. </div>
  127. </li>
  128. <!-- Nav Item - Charts -->
  129. <li class="nav-item">
  130. <a class="nav-link" href="charts.html">
  131. <i class="fas fa-fw fa-chart-area"></i>
  132. <span>Charts</span></a>
  133. </li>
  134. <!-- Nav Item - Tables -->
  135. <li class="nav-item">
  136. <a class="nav-link" href="tables.html">
  137. <i class="fas fa-fw fa-table"></i>
  138. <span>Tables</span></a>
  139. </li>
  140. <!-- Divider -->
  141. <hr class="sidebar-divider d-none d-md-block">
  142. <!-- Sidebar Toggler (Sidebar) -->
  143. <div class="text-center d-none d-md-inline">
  144. <button class="rounded-circle border-0" id="sidebarToggle"></button>
  145. </div>
  146. </ul>
  147. <!-- End of Sidebar -->
  148. </th:block>
  149. <!-- Content Wrapper -->
  150. <div id="content-wrapper" class="d-flex flex-column">
  151. <!-- Main Content -->
  152. <div id="content">
  153. <th:block th:fragment="topbar-fragment">
  154. <!-- Topbar -->
  155. <nav class="navbar navbar-expand navbar-dark bg-dark topbar mb-4 static-top shadow">
  156. <!-- Sidebar Toggle (Topbar) -->
  157. <button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
  158. <i class="fa fa-bars"></i>
  159. </button>
  160. <!-- Topbar Search -->
  161. <form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
  162. <div class="input-group">
  163. <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2">
  164. <div class="input-group-append">
  165. <button class="btn btn-primary" type="button">
  166. <i class="fas fa-search fa-sm"></i>
  167. </button>
  168. </div>
  169. </div>
  170. </form>
  171. <!-- <div th:include="fragments/navbar :: navbarContent"></div> -->
  172. <!-- Topbar Navbar -->
  173. <ul class="navbar-nav ml-auto">
  174. <!-- Nav Item - Search Dropdown (Visible Only XS) -->
  175. <li class="nav-item dropdown no-arrow d-sm-none">
  176. <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  177. <i class="fas fa-search fa-fw"></i>
  178. </a>
  179. <!-- Dropdown - Messages -->
  180. <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown">
  181. <form class="form-inline mr-auto w-100 navbar-search">
  182. <div class="input-group">
  183. <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2">
  184. <div class="input-group-append">
  185. <button class="btn btn-primary" type="button">
  186. <i class="fas fa-search fa-sm"></i>
  187. </button>
  188. </div>
  189. </div>
  190. </form>
  191. </div>
  192. </li>
  193. <div class="d-none d-lg-block" th:include="fragments/navbar :: navbarContent"></div>
  194. <th:block th:if="false">
  195. <th:block th:include="navbar :: navbarContent" class="d-none d-lg-block"></th:block>
  196. </th:block>
  197. <!-- <th:block th:include="fragments/navbar :: navbarFragment"></th:block> -->
  198. <!-- Nav Item - Alerts -->
  199. <li class="nav-item dropdown no-arrow mx-1">
  200. <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  201. <i class="fas fa-bell fa-fw"></i>
  202. <!-- Counter - Alerts -->
  203. <span class="badge badge-danger badge-counter">3+</span>
  204. </a>
  205. <!-- Dropdown - Alerts -->
  206. <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown">
  207. <h6 class="dropdown-header">
  208. Alerts Center
  209. </h6>
  210. <a class="dropdown-item d-flex align-items-center" href="#">
  211. <div class="mr-3">
  212. <div class="icon-circle bg-primary">
  213. <i class="fas fa-file-alt text-white"></i>
  214. </div>
  215. </div>
  216. <div>
  217. <div class="small text-gray-500">December 12, 2019</div>
  218. <span class="font-weight-bold">A new monthly report is ready to download!</span>
  219. </div>
  220. </a>
  221. <a class="dropdown-item d-flex align-items-center" href="#">
  222. <div class="mr-3">
  223. <div class="icon-circle bg-success">
  224. <i class="fas fa-donate text-white"></i>
  225. </div>
  226. </div>
  227. <div>
  228. <div class="small text-gray-500">December 7, 2019</div>
  229. $290.29 has been deposited into your account!
  230. </div>
  231. </a>
  232. <a class="dropdown-item d-flex align-items-center" href="#">
  233. <div class="mr-3">
  234. <div class="icon-circle bg-warning">
  235. <i class="fas fa-exclamation-triangle text-white"></i>
  236. </div>
  237. </div>
  238. <div>
  239. <div class="small text-gray-500">December 2, 2019</div>
  240. Spending Alert: We've noticed unusually high spending for your account.
  241. </div>
  242. </a>
  243. <a class="dropdown-item text-center small text-gray-500" href="#">Show All Alerts</a>
  244. </div>
  245. </li>
  246. <!-- Nav Item - Messages -->
  247. <li class="nav-item dropdown no-arrow mx-1">
  248. <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  249. <i class="fas fa-envelope fa-fw"></i>
  250. <!-- Counter - Messages -->
  251. <span class="badge badge-danger badge-counter">7</span>
  252. </a>
  253. <!-- Dropdown - Messages -->
  254. <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown">
  255. <h6 class="dropdown-header">
  256. Message Center
  257. </h6>
  258. <a class="dropdown-item d-flex align-items-center" href="#">
  259. <div class="dropdown-list-image mr-3">
  260. <img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt="">
  261. <div class="status-indicator bg-success"></div>
  262. </div>
  263. <div class="font-weight-bold">
  264. <div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div>
  265. <div class="small text-gray-500">Emily Fowler · 58m</div>
  266. </div>
  267. </a>
  268. <a class="dropdown-item d-flex align-items-center" href="#">
  269. <div class="dropdown-list-image mr-3">
  270. <img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt="">
  271. <div class="status-indicator"></div>
  272. </div>
  273. <div>
  274. <div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div>
  275. <div class="small text-gray-500">Jae Chun · 1d</div>
  276. </div>
  277. </a>
  278. <a class="dropdown-item d-flex align-items-center" href="#">
  279. <div class="dropdown-list-image mr-3">
  280. <img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt="">
  281. <div class="status-indicator bg-warning"></div>
  282. </div>
  283. <div>
  284. <div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div>
  285. <div class="small text-gray-500">Morgan Alvarez · 2d</div>
  286. </div>
  287. </a>
  288. <a class="dropdown-item d-flex align-items-center" href="#">
  289. <div class="dropdown-list-image mr-3">
  290. <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt="">
  291. <div class="status-indicator bg-success"></div>
  292. </div>
  293. <div>
  294. <div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div>
  295. <div class="small text-gray-500">Chicken the Dog · 2w</div>
  296. </div>
  297. </a>
  298. <a class="dropdown-item text-center small text-gray-500" href="#">Read More Messages</a>
  299. </div>
  300. </li>
  301. <div class="topbar-divider d-none d-sm-block"></div>
  302. <!-- Nav Item - User Information -->
  303. <li class="nav-item dropdown no-arrow">
  304. <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  305. <span class="mr-2 d-none d-lg-inline text-white small" th:text="${#authentication.name}">Valerie Luna</span>
  306. <img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60">
  307. </a>
  308. <!-- Dropdown - User Information -->
  309. <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown">
  310. <a class="dropdown-item" href="#">
  311. <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> Profile
  312. </a>
  313. <a class="dropdown-item" href="#">
  314. <i class="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i> Settings
  315. </a>
  316. <a class="dropdown-item" href="#">
  317. <i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i> Activity Log
  318. </a>
  319. <div class="dropdown-divider"></div>
  320. <a class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
  321. <i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i> Logout
  322. </a>
  323. </div>
  324. </li>
  325. </ul>
  326. </nav>
  327. <!-- End of Topbar -->
  328. </th:block>
  329. <!-- Begin Page Content -->
  330. <div class="container-fluid">
  331. <!-- Page Heading -->
  332. <h1 class="h3 mb-4 text-gray-800">Blank Page</h1>
  333. </div>
  334. <!-- /.container-fluid -->
  335. </div>
  336. <!-- End of Main Content -->
  337. <th:block th:fragment="footer">
  338. <!-- Footer -->
  339. <footer class="sticky-footer bg-dark">
  340. <div class="container my-auto">
  341. <div class="copyright text-center my-auto">
  342. <span class="text-white">Copyright &copy; Your Website 2019</span>
  343. </div>
  344. </div>
  345. </footer>
  346. <!-- End of Footer -->
  347. </th:block>
  348. </div>
  349. <!-- End of Content Wrapper -->
  350. </div>
  351. <!-- End of Page Wrapper -->
  352. <th:block th:fragment="modal">
  353. <!-- Scroll to Top Button-->
  354. <a class="scroll-to-top rounded" href="#page-top">
  355. <i class="fas fa-angle-up"></i>
  356. </a>
  357. <!-- Logout Modal-->
  358. <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  359. <div class="modal-dialog" role="document">
  360. <div class="modal-content bg-primary">
  361. <div class="modal-header">
  362. <h5 class="modal-title" id="exampleModalLabel">Ready to Leave?</h5>
  363. <button class="close" type="button" data-dismiss="modal" aria-label="Close">
  364. <span aria-hidden="true">×</span>
  365. </button>
  366. </div>
  367. <div class="modal-body">Select "Logout" below if you are ready to end your current session.</div>
  368. <div class="modal-footer">
  369. <button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
  370. <a class="btn btn-danger" href="login.html">Logout</a>
  371. </div>
  372. </div>
  373. </div>
  374. </div>
  375. </th:block>
  376. </body>
  377. </html>