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.

396 lines
23 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. <!DOCTYPE html>
  2. <html xmlns:th="http://www.thymeleaf.org">
  3. <head>
  4. <div th:replace="fragments/head :: headFragment">
  5. <title id="pageTitle">Admin Home</title>
  6. </div>
  7. <script src="https://code.jquery.com/jquery-2.1.4.min.js" th:if="false"></script>
  8. <script src="http://blackpeppersoftware.github.io/thymeleaf-fragment.js/thymeleaf-fragment.js"
  9. data-template-prefix="../" defer="defer" th:if="false"></script>
  10. <th:block th:include="fragments/admin :: headFragment"></th:block>
  11. </head>
  12. <!-- TODO
  13. Make user admin / remove user from admin
  14. Change E2E passphrase
  15. Delete Messages
  16. -->
  17. <!-- <div th:include="fragments/admin :: admin-sideb ar"></div> -->
  18. <body id="page-top">
  19. <!-- Page Wrapper -->
  20. <div id="wrapper">
  21. <th:block th:include="fragments/admin :: sidebar-fragment"></th:block>
  22. <!-- Content Wrapper -->
  23. <div id="content-wrapper" class="d-flex flex-column" style="background-color: #333;">
  24. <!-- Main Content -->
  25. <div id="content">
  26. <div th:include="fragments/admin :: topbar-fragment"></div>
  27. <!-- Begin Page Content -->
  28. <div class="container-fluid">
  29. <!-- Page Heading -->
  30. <div class="d-sm-flex align-items-center justify-content-between mb-4">
  31. <h1 class="h3 mb-0 text-light">Dashboard</h1>
  32. <a href="#" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i
  33. class="fas fa-download fa-sm text-white-50"></i> Generate Report</a>
  34. </div>
  35. <!-- Content Row -->
  36. <div class="row">
  37. <!-- Earnings (Monthly) Card Example -->
  38. <div class="col-xl-3 col-md-6 mb-4">
  39. <div
  40. class="card text-light border border-dark bg-dark border-left-primary-dark shadow h-100 py-2">
  41. <div class="card-body">
  42. <div class="row no-gutters align-items-center">
  43. <div class="col mr-2">
  44. <div
  45. class="text-xs font-weight-bold text-primary-dark text-uppercase mb-1">
  46. Total Users</div>
  47. <div class="h5 mb-0 font-weight-bold " id="totalUsers" hidden>0</div>
  48. <div
  49. class="spinner-grow spinner-grow-lg text-info admin-stats-spinner admin-spinner">
  50. </div>
  51. </div>
  52. <div class="col-auto">
  53. <i class="fas fa-users fa-2x text-gray-300"></i>
  54. </div>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. <!-- Earnings (Monthly) Card Example -->
  60. <div class="col-xl-3 col-md-6 mb-4">
  61. <div
  62. class="card text-light border border-dark bg-dark border-left-success shadow h-100 py-2">
  63. <div class="card-body">
  64. <div class="row no-gutters align-items-center">
  65. <div class="col mr-2">
  66. <div class="text-xs font-weight-bold text-success text-uppercase mb-1">
  67. Total Messages</div>
  68. <div class="h5 mb-0 font-weight-bold text-light" id="totalMessages" hidden>0
  69. </div>
  70. <div
  71. class="spinner-grow spinner-grow-lg text-info admin-stats-spinner admin-spinner">
  72. </div>
  73. </div>
  74. <div class="col-auto">
  75. <i class="fas fa-comments fa-2x text-gray-300"></i>
  76. </div>
  77. </div>
  78. </div>
  79. </div>
  80. </div>
  81. <!-- Earnings (Monthly) Card Example -->
  82. <div class="col-xl-3 col-md-6 mb-4">
  83. <div class="card text-light border border-dark bg-dark border-left-info shadow h-100 py-2">
  84. <div class="card-body">
  85. <div class="row no-gutters align-items-center">
  86. <div class="col mr-2">
  87. <div class="text-xs font-weight-bold text-info text-uppercase mb-1">Users
  88. Online
  89. </div>
  90. <div class="row no-gutters align-items-center">
  91. <div class="col-auto">
  92. <div class="h5 mb-0 mr-3 font-weight-bold text-white"
  93. id="totalOnlineUsers" hidden>0</div>
  94. <div
  95. class="spinner-grow spinner-grow-lg text-info admin-stats-spinner admin-spinner">
  96. </div>
  97. </div>
  98. <!-- <div class="col">
  99. <div class="progress progress-sm mr-2">
  100. <div class="progress-bar bg-info" role="progressbar"
  101. style="width: 50%" aria-valuenow="50" aria-valuemin="0"
  102. aria-valuemax="100"></div>
  103. </div>
  104. </div> -->
  105. </div>
  106. </div>
  107. <div class="col-auto">
  108. <i class="fas fa-user fa-2x text-gray-300"></i>
  109. </div>
  110. </div>
  111. </div>
  112. </div>
  113. </div>
  114. <!-- Pending Requests Card Example -->
  115. <div class="col-xl-3 col-md-6 mb-4">
  116. <div
  117. class="card text-light border border-dark bg-dark border-left-warning shadow h-100 py-2">
  118. <div class="card-body">
  119. <div class="row no-gutters align-items-center">
  120. <div class="col mr-2">
  121. <div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
  122. Messages Today</div>
  123. <div class="h5 mb-0 font-weight-bold text-white" id="numMessagesToday"
  124. hidden>0</div>
  125. <div
  126. class="spinner-grow spinner-grow-lg text-info admin-stats-spinner admin-spinner">
  127. </div>
  128. </div>
  129. <div class="col-auto">
  130. <i class="fas fa-comment fa-2x text-gray-300"></i>
  131. </div>
  132. </div>
  133. </div>
  134. </div>
  135. </div>
  136. </div>
  137. <!-- Content Row -->
  138. <div class="row">
  139. <!-- Area Chart -->
  140. <div class="col-xl-8 col-lg-7">
  141. <div class="card bg-dark border border-dark text-white shadow mb-4">
  142. <!-- Card Header - Dropdown -->
  143. <div
  144. class="card-header bg-secondary border border-secondary py-3 d-flex flex-row align-items-center justify-content-between">
  145. <h6 class="m-0 font-weight-bold text-white">Earnings Overview</h6>
  146. <div class="dropdown no-arrow">
  147. <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink"
  148. data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  149. <i class="fas fa-ellipsis-v fa-sm fa-fw text-white"></i>
  150. </a>
  151. <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in"
  152. aria-labelledby="dropdownMenuLink">
  153. <div class="dropdown-header">Dropdown Header:</div>
  154. <a class="dropdown-item" href="#">Action</a>
  155. <a class="dropdown-item" href="#">Another action</a>
  156. <div class="dropdown-divider"></div>
  157. <a class="dropdown-item" href="#">Something else here</a>
  158. </div>
  159. </div>
  160. </div>
  161. <!-- Card Body -->
  162. <div class="card-body">
  163. <div class="chart-area">
  164. <canvas id="myAreaChart"></canvas>
  165. </div>
  166. </div>
  167. </div>
  168. </div>
  169. <!-- Pie Chart -->
  170. <div class="col-xl-4 col-lg-5">
  171. <div class="card bg-dark border border-dark text-white shadow mb-4">
  172. <!-- Card Header - Dropdown -->
  173. <div
  174. class="card-header bg-secondary border border-secondary py-3 d-flex flex-row align-items-center justify-content-between">
  175. <h6 class="m-0 font-weight-bold text-white">Revenue Sources</h6>
  176. <div class="dropdown no-arrow">
  177. <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink"
  178. data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  179. <i class="fas fa-ellipsis-v fa-sm fa-fw text-white"></i>
  180. </a>
  181. <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in"
  182. aria-labelledby="dropdownMenuLink">
  183. <div class="dropdown-header">Dropdown Header:</div>
  184. <a class="dropdown-item" href="#">Action</a>
  185. <a class="dropdown-item" href="#">Another action</a>
  186. <div class="dropdown-divider"></div>
  187. <a class="dropdown-item" href="#">Something else here</a>
  188. </div>
  189. </div>
  190. </div>
  191. <!-- Card Body -->
  192. <div class="card-body">
  193. <div class="chart-pie pt-4 pb-2">
  194. <canvas id="myPieChart"></canvas>
  195. </div>
  196. <div class="mt-4 text-center small">
  197. <span class="mr-2">
  198. <i class="fas fa-circle text-primary"></i> Direct
  199. </span>
  200. <span class="mr-2">
  201. <i class="fas fa-circle text-success"></i> Social
  202. </span>
  203. <span class="mr-2">
  204. <i class="fas fa-circle text-info"></i> Referral
  205. </span>
  206. </div>
  207. </div>
  208. </div>
  209. </div>
  210. </div>
  211. <!-- Content Row -->
  212. <div class="row">
  213. <!-- Content Column -->
  214. <div class="col-lg-6 mb-4">
  215. <!-- Project Card Example -->
  216. <div class="card bg-dark border border-dark bg-dark text-white shadow mb-4">
  217. <div class="card-header bg-secondary border border-secondary py-3">
  218. <h6 class="m-0 font-weight-bold text-white">Projects</h6>
  219. </div>
  220. <div class="card-body">
  221. <h4 class="small font-weight-bold">Server Migration <span
  222. class="float-right">20%</span></h4>
  223. <div class="progress mb-4">
  224. <div class="progress-bar bg-danger" role="progressbar" style="width: 20%"
  225. aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div>
  226. </div>
  227. <h4 class="small font-weight-bold">Sales Tracking <span
  228. class="float-right">40%</span></h4>
  229. <div class="progress mb-4">
  230. <div class="progress-bar bg-warning" role="progressbar" style="width: 40%"
  231. aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div>
  232. </div>
  233. <h4 class="small font-weight-bold">Customer Database <span
  234. class="float-right">60%</span></h4>
  235. <div class="progress mb-4">
  236. <div class="progress-bar" role="progressbar" style="width: 60%"
  237. aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
  238. </div>
  239. <h4 class="small font-weight-bold">Payout Details <span
  240. class="float-right">80%</span></h4>
  241. <div class="progress mb-4">
  242. <div class="progress-bar bg-info" role="progressbar" style="width: 80%"
  243. aria-valuenow="80" aria-valuemin="0" aria-valuemax="100"></div>
  244. </div>
  245. <h4 class="small font-weight-bold">Account Setup <span
  246. class="float-right">Complete!</span></h4>
  247. <div class="progress">
  248. <div class="progress-bar bg-success" role="progressbar" style="width: 100%"
  249. aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
  250. </div>
  251. </div>
  252. </div>
  253. <!-- Color System -->
  254. <div class="row">
  255. <div class="col-lg-6 mb-4">
  256. <div class="card bg-primary text-white shadow">
  257. <div class="card-body">
  258. Primary
  259. <div class="text-white-50 small">#4e73df</div>
  260. </div>
  261. </div>
  262. </div>
  263. <div class="col-lg-6 mb-4">
  264. <div class="card bg-success text-white shadow">
  265. <div class="card-body">
  266. Success
  267. <div class="text-white-50 small">#1cc88a</div>
  268. </div>
  269. </div>
  270. </div>
  271. <div class="col-lg-6 mb-4">
  272. <div class="card bg-info text-white shadow">
  273. <div class="card-body">
  274. Info
  275. <div class="text-white-50 small">#36b9cc</div>
  276. </div>
  277. </div>
  278. </div>
  279. <div class="col-lg-6 mb-4">
  280. <div class="card bg-warning text-white shadow">
  281. <div class="card-body">
  282. Warning
  283. <div class="text-white-50 small">#f6c23e</div>
  284. </div>
  285. </div>
  286. </div>
  287. <div class="col-lg-6 mb-4">
  288. <div class="card bg-danger text-white shadow">
  289. <div class="card-body">
  290. Danger
  291. <div class="text-white-50 small">#e74a3b</div>
  292. </div>
  293. </div>
  294. </div>
  295. <div class="col-lg-6 mb-4">
  296. <div class="card bg-secondary text-white shadow">
  297. <div class="card-body">
  298. Secondary
  299. <div class="text-white-50 small">#858796</div>
  300. </div>
  301. </div>
  302. </div>
  303. </div>
  304. </div>
  305. <div class="col-lg-6 mb-4">
  306. <!-- Illustrations -->
  307. <div class="card bg-dark border border-dark text-white shadow mb-4">
  308. <div class="card-header bg-secondary border border-secondary py-3">
  309. <h6 class="m-0 font-weight-bold text-white">Illustrations</h6>
  310. </div>
  311. <div class="card-body">
  312. <div class="text-center">
  313. <img class="img-fluid px-3 px-sm-4 mt-3 mb-4" style="width: 25rem;"
  314. th:src="@{/img/undraw_posting_photo.svg}"
  315. src="../../static/img/undraw_posting_photo.svg" alt="">
  316. </div>
  317. <p>Add some quality, svg illustrations to your project courtesy of <a
  318. target="_blank" rel="nofollow" href="https://undraw.co/">unDraw</a>, a
  319. constantly updated collection of beautiful svg images that you can use
  320. completely
  321. free and without attribution!</p>
  322. <a target="_blank" rel="nofollow" href="https://undraw.co/">Browse Illustrations on
  323. unDraw &rarr;</a>
  324. </div>
  325. </div>
  326. <!-- Approach -->
  327. <div class="card bg-dark border border-dark text-white shadow mb-4">
  328. <div class="card-header bg-secondary border border-secondary py-3">
  329. <h6 class="m-0 font-weight-bold text-white">Development Approach</h6>
  330. </div>
  331. <div class="card-body">
  332. <p>SB Admin 2 makes extensive use of Bootstrap 4 utility classes in order to reduce
  333. CSS bloat and poor page performance. Custom CSS classes are used to create
  334. custom components and custom utility classes.</p>
  335. <p class="mb-0">Before working with this theme, you should become familiar with the
  336. Bootstrap framework, especially the utility classes.</p>
  337. </div>
  338. </div>
  339. </div>
  340. </div>
  341. </div>
  342. <!-- /.container-fluid -->
  343. </div>
  344. <!-- End of Main Content -->
  345. <div th:include="fragments/admin :: footer"></div>
  346. </div>
  347. <!-- End of Content Wrapper -->
  348. </div>
  349. <!-- End of Page Wrapper -->
  350. <th:block th:include="fragments/admin :: modal"></th:block>
  351. <div th:if="false">
  352. <th:block th:include="admin :: modal"></th:block>
  353. </div>
  354. <!-- Page level custom scripts -->
  355. <script th:src="@{/js/demo/chart-area-demo.js}" src="../../static/js/demo/chart-area-demo.js"></script>
  356. <script th:src="@{/js/demo/chart-pie-demo.js}" src="../../static/js/demo/chart-pie-demo.js"></script>
  357. </body>
  358. </html>