admin.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <template name="admin">
  2. <div class="landing">
  3. {{> header}}
  4. <div class="row">
  5. <h1 class="col-md-8 col-md-offset-2" style="color: white">Total Users: {{{users}}}</h1>
  6. <h1 class="col-md-8 col-md-offset-2 admin-header">Queues:</h1>
  7. {{#each queues}}
  8. <div class="col-md-8 col-md-offset-2 admin-queue-panel">
  9. <div class="panel panel-danger">
  10. <div class="panel-heading">
  11. <h3 class="panel-title">{{display}} review queue</h3>
  12. </div>
  13. <div class="panel-body admin-panel-body">
  14. <table class="table table-striped">
  15. <thead>
  16. <tr>
  17. <th>Title</th>
  18. <th>Artist(s)</th>
  19. <th>Type</th>
  20. <th>Id</th>
  21. <th>Img</th>
  22. <th>Preview</th>
  23. <th>Edit</th>
  24. <th>Add</th>
  25. <th colspan="10">Remove</th>
  26. </tr>
  27. </thead>
  28. <tbody>
  29. {{#each songs}}
  30. <tr>
  31. <th scope="row">{{title}}</th>
  32. <td>{{artist}}</td>
  33. <td>{{type}}</td>
  34. <td>{{id}}</td>
  35. <td class="column-small"><a href="{{img}}" target="_blank"><button class="btn btn-primary preview-button">Preview Image</button></a></td>
  36. <td class="column-small"><button class="btn btn-primary preview-button" data-toggle="modal" data-target="#previewModal">Preview</button></td>
  37. <td class="column-small"><button class="btn btn-primary edit-queue-button" data-genre="{{../type}}" data-toggle="modal" data-target="#editModal">Edit</button></td>
  38. <td class="column-small"><button class="btn btn-success add-song-button" data-genre="{{../type}}"><i class="fa fa-check-circle"></i></button></td>
  39. <td class="column-small"><button class="btn btn-danger deny-song-button" data-genre="{{../type}}"><i class="fa fa-ban"></i></button></td>
  40. </tr>
  41. {{/each}}
  42. </tbody>
  43. </table>
  44. </div>
  45. </div>
  46. </div>
  47. {{/each}}
  48. <h1 class="col-md-8 col-md-offset-2 admin-header">Playlists:</h1>
  49. {{#each playlists}}
  50. <div class="col-md-8 col-md-offset-2 admin-playlist-panel">
  51. <div class="panel panel-primary">
  52. <div class="panel-heading">
  53. <h3 class="panel-title"><span>{{display}}</span> playlist</h3> <i class="fa fa-times delete-room" name="Delete room"></i>
  54. </div>
  55. <div class="panel-body admin-panel-body">
  56. <table class="table table-striped">
  57. <thead>
  58. <tr>
  59. <th>Title</th>
  60. <th>Artist(s)</th>
  61. <th>Type</th>
  62. <th>Id</th>
  63. <th>Img</th>
  64. <th>Preview</th>
  65. <th>Edit</th>
  66. <th colspan="10">Remove</th>
  67. </tr>
  68. </thead>
  69. <tbody>
  70. {{#each songs}}
  71. <tr>
  72. <th scope="row">{{title}}</th>
  73. <td>{{artist}}</td>
  74. <td>{{type}}</td>
  75. <td>{{id}}</td>
  76. <td class="column-small"><a href="{{img}}" target="_blank"><button class="btn btn-primary preview-button">Preview Image</button></a></td>
  77. <td class="column-small"><button class="btn btn-primary preview-button" data-toggle="modal" data-target="#previewModal">Preview</button></td>
  78. <td class="column-small"><button class="btn btn-primary edit-playlist-button" data-genre="{{../type}}" data-toggle="modal" data-target="#editModal">Edit</button></td>
  79. <td class="column-small"><button class="btn btn-danger remove-song-button" data-genre="{{../type}}"><i class="fa fa-ban"></i></button></td>
  80. </tr>
  81. {{/each}}
  82. </tbody>
  83. </table>
  84. </div>
  85. </div>
  86. </div>
  87. {{/each}}
  88. <div class="col-md-4 col-md-offset-4">
  89. <div id="croom_container">
  90. <label for="croom_display" class="croom_label">Room Display Name (eg 'Edm'):</label>
  91. <div class="input-group">
  92. <input type="text" class="croom" id="croom_display" name="croom" required />
  93. </div>
  94. <label for="croom_tag" class="croom_label">Room Tag Name (eg 'edm'):</label>
  95. <div class="input-group">
  96. <input type="text" class="croom" id="croom_tag" name="croom" required />
  97. </div>
  98. <button class="btn btn-warning btn-block" id="croom_create">Create</button>
  99. </div>
  100. </div>
  101. <div id="previewModal" class="modal fade" role="dialog">
  102. <div class="modal-dialog">
  103. <!-- Modal content-->
  104. <div class="modal-content">
  105. <div class="modal-header">
  106. <button type="button" class="close" data-dismiss="modal">&times;</button>
  107. <h4 class="modal-title">Preview</h4>
  108. </div>
  109. <div class="modal-body">
  110. <div width="960" height="540" id="previewPlayer"></div>
  111. <button id="play" class="btn btn-success"><i class="fa fa-play"></i></button>
  112. <button id="stop" class="btn btn-danger" disabled><i class="fa fa-stop"></i></button>
  113. <div id="volume-container-admin">
  114. <input type="text" id="volume-slider" class="span2" value="" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-value="50" data-slider-orientation="horizontal" data-slider-selection="after" data-slider-tooltip="hide">
  115. </div>
  116. </div>
  117. <div class="modal-footer">
  118. <button id="close-modal" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  119. </div>
  120. </div>
  121. </div>
  122. </div>
  123. <div id="editModal" class="modal fade" role="dialog">
  124. <div class="modal-dialog">
  125. <!-- Modal content-->
  126. <div class="modal-content">
  127. <div class="modal-header">
  128. <button type="button" class="close" data-dismiss="modal">&times;</button>
  129. <h4 class="modal-title">Edit</h4>
  130. </div>
  131. <div class="modal-body">
  132. <label for="type" class="song-input-label">Song Type</label>
  133. <select name="type" id="type" class="song-input-select">
  134. <option name="youtube" id="youtube">YouTube</option>
  135. <option name="soundcloud" id="soundcloud">SoundCloud</option>
  136. </select>
  137. <label for="id" class="song-input-label">Song ID</label>
  138. <input class="song-input" name="id" id="id" type="text" />
  139. <label for="id" class="song-input-label">Song Artist</label>
  140. <input class="song-input" name="artist" id="artist" type="text" />
  141. <label for="title" class="song-input-label">Song Title</label>
  142. <input class="song-input" name="title" id="title" type="text" />
  143. <label for="title" class="song-input-label">Song Duration</label>
  144. <input class="song-input" name="duration" id="duration" type="number" />
  145. <label for="img" class="song-input-label">Song Image</label>
  146. <input class="song-input" name="img" id="img" type="text" />
  147. <button type="button" id="get-spotify-info" class="button">Get Spotify Data</button>
  148. <button type="button" id="save-song-button" class="button">Save Changes</button>
  149. </div>
  150. <div class="modal-footer">
  151. <button id="close-modal" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  152. </div>
  153. </div>
  154. </div>
  155. </div>
  156. <ul class="bg-bubbles">
  157. <li></li>
  158. <li></li>
  159. <li></li>
  160. <li></li>
  161. <li></li>
  162. <li></li>
  163. <li></li>
  164. <li></li>
  165. <li></li>
  166. <li></li>
  167. </ul>
  168. </div>
  169. </div>
  170. </template>