manageStation.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <template name="manageStation">
  2. {{> alerts}}
  3. <div class="landing">
  4. {{> header}}
  5. <div class="row">
  6. <div class="col m12 s12 l8 offset-l2 admin-playlist-panel card-panel light-blue accent-3">
  7. <div class="card-content white-text">
  8. <h3 class="text-center">Description</h3>
  9. <!--Meteor.call("editRoomDesc", Session.get("roomDesc"), description);-->
  10. {{#if editingDesc}}
  11. <input value="{{description}}" id="editDesc"/>
  12. <a class="waves-effect waves-light btn" id="editDescButton" style="margin-bottom: 10px;">Save</a>
  13. {{else}}
  14. <h5>{{description}}</h5>
  15. <a class="waves-effect waves-light btn" id="editDescButton" style="margin-bottom: 10px;">Edit</a>
  16. {{/if}}
  17. </div>
  18. </div>
  19. <div class="col m12 s12 l8 offset-l2 admin-playlist-panel card-panel light-blue accent-3">
  20. <div class="card-content white-text">
  21. <h3 class="text-center">{{display}} playlist</h3>
  22. <table class="bordered">
  23. <thead>
  24. <tr>
  25. <th>Title</th>
  26. <th>Artist(s)</th>
  27. <th>Id</th>
  28. <th>Mid</th>
  29. <th>Genres</th>
  30. <th>Likes</th>
  31. <th>Dislikes</th>
  32. <th class="table-right-th">Edit</th>
  33. <th class="table-right-th">Remove</th>
  34. </tr>
  35. </thead>
  36. <tbody>
  37. {{#each songs}}
  38. <tr>
  39. <th align="left" scope="row">{{title}}</th>
  40. <td align="left">{{artist}}</td>
  41. <td align="left">{{id}}</td>
  42. <td align="left">{{mid}}</td>
  43. <td align="left">{{genres}}</td>
  44. <td align="left">{{likes}}</td>
  45. <td align="left">{{dislikes}}</td>
  46. <td class="table-right-td">
  47. <button class="btn edit-song-button" data-genre="{{genre}}"
  48. data-toggle="modal" data-target="#editModal">Edit
  49. </button>
  50. </td>
  51. <td class="table-right-td">
  52. <button class="btn red remove-song-button" data-genre="{{genre}}"><i
  53. class="material-icons">remove_circle</i></button>
  54. </td>
  55. </tr>
  56. {{/each}}
  57. </tbody>
  58. </table>
  59. </div>
  60. </div>
  61. <div class="col m12 s12 l8 offset-l2 admin-playlist-panel card-panel light-blue accent-3">
  62. <div class="card-content white-text">
  63. <h3 class="text-center">Reports</h3>
  64. <table class="bordered">
  65. <thead>
  66. <tr>
  67. <th>Song mid</th>
  68. <th>Report Type</th>
  69. <th>Report Reason</th>
  70. <th>Remove</th>
  71. </tr>
  72. </thead>
  73. <tbody>
  74. {{#each reports}}
  75. {{#each report}}
  76. <tr>
  77. <td>{{song}}</td>
  78. <td>{{type}}</td>
  79. <td>{{reason}}</td>
  80. <td><a class="btn red remove-report-button"><i class="material-icons">remove_circle</i></a></td>
  81. </tr>
  82. {{/each}}
  83. {{/each}}
  84. </tbody>
  85. </table>
  86. </div>
  87. </div>
  88. <div class="col m12 s12 l8 offset-l2 admin-playlist-panel card-panel light-blue accent-3">
  89. <div class="card-content white-text">
  90. <h3 class="text-center">Delete Room</h3>
  91. <a id="deleteRoom" class="waves-effect waves-light btn red" style="margin-bottom: 10px">Delete Room</a>
  92. </div>
  93. </div>
  94. </div>
  95. </div>
  96. <div id="editModal" class="modal modal-fixed-footer">
  97. <div class="modal-content musare white-text">
  98. <div class="row">
  99. <h4 class="center-align">Video Preview</h4>
  100. <div class="video-container" id="previewPlayerContainer">
  101. <div width="960" height="540" id="previewPlayer"></div>
  102. </div>
  103. <div class="seeker-bar-container col l10 m10 s10 white" id="preview-progress">
  104. <div class="seeker-bar light-blue" style="width: 0%"></div>
  105. </div>
  106. <span class="col l2 m2 s2 center" id="preview-time">
  107. <span id="time-elapsed">0:00</span> / <span id="time-total">0:00</span>
  108. </span>
  109. <button id="play" title="Play video" class="btn green col m1 s1 l1 offset-l3 offset-m3 offset-s3">
  110. <i class="material-icons">play_arrow</i>
  111. </button>
  112. <button id="stop" title="Stop video" class="btn red col m1 s1 l1" disabled>
  113. <i class="material-icons">stop</i>
  114. </button>
  115. <button id="pause" title="Pause video" class="btn orange col m1 s1 l1" disabled>
  116. <i class="material-icons">pause</i>
  117. </button>
  118. <button id="forward" title="Go to the last 10 seconds of the video" class="btn blue col m1 s1 l1"
  119. disabled>
  120. <i class="material-icons">fast_forward</i>
  121. </button>
  122. <form class="col m2 s2 l2" action="#">
  123. <p class="range-field" style="margin-top: 0">
  124. <input type="range" id="volume_slider" min="0" max="100"/>
  125. </p>
  126. </form>
  127. </div>
  128. <div class="row">
  129. <h4 class="center-align">Image Preview</h4>
  130. <img id="song-preview"
  131. onerror="this.src='/notes.png'"
  132. class="center-block" src="{{song_image}}"/>
  133. </div>
  134. <div class="row">
  135. <h4 class="center-align">Edit Info</h4>
  136. <div class="input-field col l8 m8 s12 offset-l2 offset-m2">
  137. <select multiple id="genres">
  138. <option value="" disabled selected>Select Genre(s):</option>
  139. <option value="edm">EDM</option>
  140. <option value="chill">Chill</option>
  141. <option value="pop">Pop</option>
  142. <option value="country">Country</option>
  143. <option value="rock">Rock</option>
  144. <option value="randb">R&B</option>
  145. <option value="rap">Rap</option>
  146. <option value="heavymetal">Heavy Metal</option>
  147. <option value="christmas">Christmas</option>
  148. <option value="alternative">Alternative</option>
  149. </select>
  150. <label class="white-text">Genre(s)</label>
  151. </div>
  152. <div class="input-field col l8 m8 s12 offset-l2 offset-m2">
  153. <i class="material-icons prefix">vpn_key</i>
  154. <label for="mid" class="white-text">Song MID</label>
  155. <input class="validate" name="mid" id="mid" type="text" pattern=".{6}"/>
  156. </div>
  157. <div class="input-field col l8 m8 s12 offset-l2 offset-m2">
  158. <i class="material-icons prefix">vpn_key</i>
  159. <label for="mid" class="white-text">Song ID</label>
  160. <input class="validate" name="id" id="id" type="text" pattern=".{11}"/>
  161. </div>
  162. <div class="input-field col l8 m8 s12 offset-l2 offset-m2">
  163. <i class="material-icons prefix">vpn_key</i>
  164. <label for="mid" class="white-text">Song Genres</label>
  165. <input class="validate" name="genres" id="genres" type="text" disabled/>
  166. </div>
  167. <div class="input-field col l8 m8 s12 offset-l2 offset-m2">
  168. <i class="material-icons prefix">person</i>
  169. <label for="id" class="white-text">Song Artist</label>
  170. <input class="validate" name="artist" id="artist" aria-required="true" type="text"/>
  171. </div>
  172. <div class="input-field col l8 m8 s12 offset-l2 offset-m2">
  173. <i class="material-icons prefix">subject</i>
  174. <label for="title" class="white-text">Song Title</label>
  175. <input class="validate required" name="title" id="title" type="text"/>
  176. </div>
  177. <div class="input-field col l8 m8 s12 offset-l2 offset-m2">
  178. <i class="material-icons prefix">timelapse</i>
  179. <label for="title" class="white-text">Song Duration</label>
  180. <input class="validate" name="duration" id="duration" type="number" step="any" min="0"/>
  181. </div>
  182. <div class="input-field col l8 m8 s12 offset-l2 offset-m2">
  183. <i class="material-icons prefix">timer_off</i>
  184. <label for="skip-duration" class="white-text">Skip Duration</label>
  185. <input class="validate" id="skip-duration" type="number" step="any" min="0"/>
  186. </div>
  187. <div class="input-field col l8 m8 s12 offset-l2 offset-m2">
  188. <i class="material-icons prefix">thumb_up</i>
  189. <label for="likes" class="white-text">Likes</label>
  190. <input disabled id="likes" type="number"/>
  191. </div>
  192. <div class="input-field col l8 m8 s12 offset-l2 offset-m2">
  193. <i class="material-icons prefix">thumb_down</i>
  194. <label for="dislikes" class="white-text">Dislikes</label>
  195. <input disabled id="dislikes" type="number"/>
  196. </div>
  197. <div class="input-field col l8 m8 s12 offset-l2 offset-m2">
  198. <i class="material-icons prefix">image</i>
  199. <label for="img" class="white-text">Song Image</label>
  200. <input class="validate" name="img" id="img" type="url"/>
  201. </div>
  202. </div>
  203. <div class="row">
  204. <button type="button" id="get-spotify-info"
  205. class="btn btn-large col l6 m6 s10 offset-l3 offset-m3 offset-s1 waves-effect waves-light">Get
  206. Spotify Data
  207. </button>
  208. <button type="button" id="save-song-button"
  209. class="btn btn-large col l6 m6 s10 offset-l3 offset-m3 offset-s1 waves-effect waves-light">Save
  210. Changes
  211. </button>
  212. </div>
  213. </div>
  214. <div class="modal-footer musare white-text">
  215. <a href="#!" class="modal-action modal-close waves-effect waves-light btn-flat white">X</a>
  216. </div>
  217. </div>
  218. </template>