stations.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. <template name="stations">
  2. {{> alerts}}
  3. <div class="landing">
  4. {{> header}}
  5. <div class="row">
  6. {{#each queues}}
  7. <div class="col-md-8 col-md-offset-2 admin-queue-panel">
  8. <div class="panel panel-danger">
  9. <div class="panel-heading">
  10. <h3 class="panel-title">{{display}} review queue</h3>
  11. </div>
  12. <div class="panel-body admin-panel-body">
  13. <table class="table table-striped">
  14. <thead>
  15. <tr>
  16. <th>Title</th>
  17. <th>Artist(s)</th>
  18. <th>Type</th>
  19. <th>Id</th>
  20. <th>Likes</th>
  21. <th>Dislikes</th>
  22. <th>Img</th>
  23. <th>Preview</th>
  24. <th>Edit</th>
  25. <th>Add</th>
  26. <th colspan="10">Remove</th>
  27. </tr>
  28. </thead>
  29. <tbody>
  30. {{#each songs}}
  31. <tr>
  32. <th scope="row">{{title}}</th>
  33. <td>{{artist}}</td>
  34. <td>{{type}}</td>
  35. <td>{{id}}</td>
  36. <td>{{likes}}</td>
  37. <td>{{dislikes}}</td>
  38. <td class="column-small"><button class="btn btn-primary preview-button" id="previewImageButton" data-toggle="modal" data-target="#previewImageModal">Preview Image</button></td>
  39. <td class="column-small"><button class="btn btn-primary preview-button" data-toggle="modal" data-target="#previewModal">Preview</button></td>
  40. <td class="column-small"><button class="btn btn-primary edit-queue-button" data-genre="{{../type}}" data-toggle="modal" data-target="#editModal">Edit</button></td>
  41. <td class="column-small"><button class="btn btn-success add-song-button" data-genre="{{../type}}"><i class="fa fa-check-circle"></i></button></td>
  42. <td class="column-small"><button class="btn btn-danger deny-song-button" data-genre="{{../type}}"><i class="fa fa-ban"></i></button></td>
  43. </tr>
  44. {{/each}}
  45. </tbody>
  46. </table>
  47. </div>
  48. </div>
  49. </div>
  50. {{/each}}
  51. <h1 class="col-md-8 col-md-offset-2 admin-header">Playlists:</h1>
  52. {{#each playlists}}
  53. <div class="col-md-8 col-md-offset-2 admin-playlist-panel">
  54. <div class="panel panel-primary">
  55. <div class="panel-heading">
  56. <h3 class="panel-title"><span>{{display}}</span> playlist</h3> <i class="fa fa-times delete-room" name="Delete room"></i>
  57. </div>
  58. <div class="panel-body admin-panel-body">
  59. <table class="table table-striped">
  60. <thead>
  61. <tr>
  62. <th>Mid</th>
  63. <th>Title</th>
  64. <th>Artist(s)</th>
  65. <th>Type</th>
  66. <th>Id</th>
  67. <th>Likes</th>
  68. <th>Dislikes</th>
  69. <th>Img</th>
  70. <th>Preview</th>
  71. <th>Edit</th>
  72. <th colspan="10">Remove</th>
  73. </tr>
  74. </thead>
  75. <tbody>
  76. {{#each songs}}
  77. <tr>
  78. <th scope="row">{{mid}}</th>
  79. <th>{{title}}</th>
  80. <td>{{artist}}</td>
  81. <td>{{type}}</td>
  82. <td>{{id}}</td>
  83. <td>{{likes}}</td>
  84. <td>{{dislikes}}</td>
  85. <td class="column-small"><button class="btn btn-primary preview-button" id="previewImageButton" data-toggle="modal" data-target="#previewImageModal">Preview Image</button></td>
  86. <td class="column-small"><button class="btn btn-primary preview-button" data-toggle="modal" data-target="#previewModal">Preview</button></td>
  87. <td class="column-small"><button class="btn btn-primary edit-playlist-button" data-genre="{{../type}}" data-toggle="modal" data-target="#editModal">Edit</button></td>
  88. <td class="column-small"><button class="btn btn-danger remove-song-button" data-genre="{{../type}}"><i class="fa fa-ban"></i></button></td>
  89. </tr>
  90. {{/each}}
  91. </tbody>
  92. </table>
  93. </div>
  94. </div>
  95. </div>
  96. {{/each}}
  97. <button class="btn btn-danger col-md-6 col-md-offset-3" id="rrating" data-toggle="modal" data-target="#confirmModal">Reset Rating</button>
  98. <div class="col-md-4 col-md-offset-4">
  99. <div id="croom_container">
  100. <label for="croom_display" class="croom_label">Room Display Name (eg 'Edm'):</label>
  101. <div class="input-group">
  102. <input type="text" class="croom" id="croom_display" name="croom" required />
  103. </div>
  104. <label for="croom_tag" class="croom_label">Room Tag Name (eg 'edm'):</label>
  105. <div class="input-group">
  106. <input type="text" class="croom" id="croom_tag" name="croom" required />
  107. </div>
  108. <button class="btn btn-warning btn-block" id="croom_create">Create</button>
  109. </div>
  110. </div>
  111. <div id="confirmModal" class="modal fade" role="dialog">
  112. <div class="modal-dialog">
  113. <!-- Modal content-->
  114. <div class="modal-content">
  115. <div class="modal-header">
  116. <button type="button" class="close" data-dismiss="modal">&times;</button>
  117. <h4 class="modal-title">Confirm</h4>
  118. </div>
  119. <div class="modal-body">
  120. <button id="rreset_confirm" class="btn btn-danger">Reset All Ratings</button>
  121. </div>
  122. <div class="modal-footer">
  123. <button id="close-modal" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  124. </div>
  125. </div>
  126. </div>
  127. </div>
  128. <div id="previewModal" class="modal fade" role="dialog">
  129. <div class="modal-dialog">
  130. <!-- Modal content-->
  131. <div class="modal-content">
  132. <div class="modal-header">
  133. <button type="button" class="close" data-dismiss="modal">&times;</button>
  134. <h4 class="modal-title">Preview</h4>
  135. </div>
  136. <div class="modal-body">
  137. <div width="960" height="540" id="previewPlayer"></div>
  138. <button id="play" class="btn btn-success"><i class="fa fa-play"></i></button>
  139. <button id="stop" class="btn btn-danger" disabled><i class="fa fa-stop"></i></button>
  140. <div id="volume-container-admin">
  141. <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">
  142. </div>
  143. </div>
  144. <div class="modal-footer">
  145. <button id="close-modal" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  146. </div>
  147. </div>
  148. </div>
  149. </div>
  150. <div id="previewImageModal" class="modal fade" role="dialog">
  151. <div class="modal-dialog">
  152. <!-- Modal content-->
  153. <div class="modal-content">
  154. <div class="modal-header">
  155. <button type="button" class="close" data-dismiss="modal">&times;</button>
  156. <h4 class="modal-title">Preview Image</h4>
  157. </div>
  158. <div class="modal-body">
  159. <img id="preview-image" height="210px" width="210px" src=""/>
  160. </div>
  161. <div class="modal-footer">
  162. <button id="close-modal" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  163. </div>
  164. </div>
  165. </div>
  166. </div>
  167. <div id="editModal" class="modal fade" role="dialog">
  168. <div class="modal-dialog">
  169. <!-- Modal content-->
  170. <div class="modal-content">
  171. <div class="modal-header">
  172. <button type="button" class="close" data-dismiss="modal">&times;</button>
  173. <h4 class="modal-title">Edit</h4>
  174. </div>
  175. <div class="modal-body">
  176. <label for="type" class="song-input-label">Song Type</label>
  177. <select name="type" id="type" class="song-input-select">
  178. <option name="youtube" id="youtube">YouTube</option>
  179. <option name="soundcloud" id="soundcloud">SoundCloud</option>
  180. </select>
  181. <label for="mid" class="song-input-label">Song MID</label>
  182. <input class="song-input" name="mid" id="mid" type="text" />
  183. <label for="id" class="song-input-label">Song ID</label>
  184. <input class="song-input" name="id" id="id" type="text" />
  185. <label for="id" class="song-input-label">Song Artist</label>
  186. <input class="song-input" name="artist" id="artist" type="text" />
  187. <label for="title" class="song-input-label">Song Title</label>
  188. <input class="song-input" name="title" id="title" type="text" />
  189. <label for="title" class="song-input-label">Song Duration</label>
  190. <input class="song-input" name="duration" id="duration" type="number" />
  191. <label for="skip-duration" class="song-input-label">Skip Duration</label>
  192. <input class="song-input" id="skip-duration" type="number" />
  193. <label for="likes" class="song-input-label">Likes</label>
  194. <input class="song-input" id="likes" type="number"/>
  195. <label for="dislikes" class="song-input-label">Dislikes</label>
  196. <input class="song-input" id="dislikes" type="number"/>
  197. <label for="img" class="song-input-label">Song Image</label>
  198. <input class="song-input" name="img" id="img" type="text" />
  199. <button type="button" id="get-spotify-info" class="button">Get Spotify Data</button>
  200. <button type="button" id="save-song-button" class="button">Save Changes</button>
  201. </div>
  202. <div class="modal-footer">
  203. <button id="close-modal" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  204. </div>
  205. </div>
  206. </div>
  207. </div>
  208. </div>
  209. </div>
  210. </template>