room.html 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <template name="room">
  2. <div class="landing">
  3. {{#if loaded}}
  4. <div class="row">
  5. <div class="col-md-9" id="station-main">
  6. <nav>
  7. <a class="back" href="/"><i class="fa fa-chevron-left"></i></a>
  8. {{#if isAdmin}}
  9. {{#if paused}}
  10. <i class="fa fa-play fa-1" id="play"></i>
  11. {{else}}
  12. <i class="fa fa-pause fa-1" id="pause"></i>
  13. {{/if}}
  14. {{/if}}
  15. <h3>
  16. {{{type}}}
  17. </h3>
  18. <div id="volume-container">
  19. <i class="fa fa-volume-down" id="volume-icon"></i>
  20. <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">
  21. </div>
  22. </nav>
  23. <div id="seeker-container">
  24. <div id="seeker-bar"></div>
  25. </div>
  26. <div class="row" id="song-media">
  27. <div class="col-md-8">
  28. <div class="embed-responsive embed-responsive-16by9" id="media-container">
  29. <!--div id="player" class="embed-responsive-item"></div-->
  30. </div>
  31. </div>
  32. <div class="col-md-4" style="margin-top:15px">
  33. <img class="song-img" onError="this.src='http://static.boredpanda.com/blog/wp-content/uploads/2014/04/amazing-fox-photos-182.jpg'" id="song-img"/>
  34. <h2 class="room-title">{{{title}}}</h2>
  35. <h2 class="room-artist">{{{artist}}}</h2>
  36. </div>
  37. </div>
  38. <div class="row" id="settings">
  39. <div class="col-md-4">
  40. {{#if currentUser}}
  41. <button type="button" id="song-modal" class="button" data-toggle="modal" data-target="#myModal">Add songs</button>
  42. {{else}}
  43. <button title="You need to be logged in to add songs." type="button" class="button btn btn-disabled" disabled>Add songs</button>
  44. {{/if}}
  45. </div>
  46. <div class="col-md-4">
  47. <button type="button" id="toggle-video" class="button">Hide video</button>
  48. </div>
  49. </div>
  50. </div>
  51. <div class="col-md-3" id="side-panel">
  52. {{> playlist}}
  53. </div>
  54. </div>
  55. <!--<h1 class="room-name">{{{type}}}</h1>
  56. <div class="row" id="songs">
  57. <div class="col-md-3 col-sm-6 col-xs-12" id="s1">
  58. <img class="song-img" id="song-img"/>
  59. <h2 class="room-title">{{{title}}}</h2>
  60. <h2 class="room-artist">{{{artist}}}</h2>
  61. </div>
  62. <div class="col-md-3 col-sm-6" id="s2">
  63. <img class="song-img" id="song-img-next"/>
  64. <h2 class="room-title">{{{title_next}}}</h2>
  65. <h2 class="room-artist">{{{artist_next}}}</h2>
  66. </div>
  67. <div class="col-md-3" id="s3">
  68. <img class="song-img" id="song-img-after"/>
  69. <h2 class="room-title">{{{title_after}}}</h2>
  70. <h2 class="room-artist">{{{artist_after}}}</h2>
  71. </div>
  72. <div width="960" height="540" id="player" class="hidden col-md-3 col-sm-12 col-xs-12"></div>
  73. </div>
  74. <div id="seeker-container">
  75. <div id="seeker-bar"></div>
  76. </div>
  77. <div class="row">
  78. <button type="button" id="toggle-video" class="button-nowidth col-md-4 col-sm-4 col-xs-4 col-md-offset-4 col-sm-offset-4 col-xs-offset-4" >Show video</button>
  79. </div>
  80. <div class="row">
  81. <button type="button" id="song-modal" class="button-nowidth col-md-4 col-sm-4 col-xs-4 col-md-offset-4 col-sm-offset-4 col-xs-offset-4" data-toggle="modal" data-target="#myModal">Add songs</button>
  82. </div>
  83. {{> playlist}}
  84. <div class="row" id="chat">
  85. <div class="panel panel-success col-md-6 col-md-offset-3" id="chat-container">
  86. <div class="panel-heading">Chat</div>
  87. <div class="panel-body">
  88. <ul id="chat-ul">
  89. {{#each chat}}
  90. <li class="chat-message"><b class="bold">{{userid}}:</b> {{message}}</li>
  91. {{/each}}
  92. </ul>
  93. <input id="chat-input"/>
  94. <button id="submit-message" class="button-nowidth">Submit Message</button>
  95. </div>
  96. </div>
  97. </div>
  98. -->
  99. <!-- Modal -->
  100. <div id="myModal" class="modal fade" role="dialog">
  101. <div class="modal-dialog">
  102. <!-- Modal content-->
  103. <div class="modal-content">
  104. <div class="modal-header">
  105. <button type="button" class="close" data-dismiss="modal">&times;</button>
  106. <h4 class="modal-title">Search for a song</h4>
  107. </div>
  108. <div class="modal-body">
  109. <div id="search-info">
  110. <select name="type" id="search_type" class="song-input-select">
  111. <option name="youtube" id="search_youtube">YouTube</option>
  112. <option name="soundcloud" id="search_soundcloud">SoundCloud</option>
  113. </select>
  114. <input type="text" id="song-input" class="song-input">
  115. <button type="button" id="search-song" class="button">Search</button>
  116. <div id="song-results"></div>
  117. </div>
  118. <div id="add-info" style="display:none">
  119. <button type="button" id="return" class="button">Return</button>
  120. <label for="type" class="song-input-label">Song Type</label>
  121. <select name="type" id="type" class="song-input-select">
  122. <option name="youtube" id="youtube">YouTube</option>
  123. <option name="soundcloud" id="soundcloud">SoundCloud</option>
  124. </select>
  125. <label for="id" class="song-input-label">Song ID</label>
  126. <input class="song-input" name="id" id="id" type="text" />
  127. <label for="id" class="song-input-label">Song Artist</label>
  128. <input class="song-input" name="artist" id="artist" type="text" />
  129. <label for="title" class="song-input-label">Song Title</label>
  130. <input class="song-input" name="title" id="title" type="text" />
  131. <label for="img" class="song-input-label">Song Img</label>
  132. <input class="song-input" name="img" id="img" type="text" />
  133. <button type="button" id="add-song-button" class="button">Add Song</button>
  134. </div>
  135. <!--small id="search-alert">Searching for a song fills out the above fields automatically, but you will still have to verify them.</small-->
  136. </div>
  137. <div class="modal-footer">
  138. <button id="close-modal" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  139. </div>
  140. </div>
  141. </div>
  142. </div>
  143. {{else}}
  144. {{> loading}}
  145. {{/if}}
  146. <ul class="bg-bubbles">
  147. <li></li>
  148. <li></li>
  149. <li></li>
  150. <li></li>
  151. <li></li>
  152. <li></li>
  153. <li></li>
  154. <li></li>
  155. <li></li>
  156. <li></li>
  157. </ul>
  158. </div>
  159. <script type="text/javascript">
  160. window.doorbellOptions = {
  161. appKey: 'v2Gu14c8s9HgBsAFCXNWIm2vlk11N12Plt2Wu5k2MbQIkM1Ao6kOTCbfN95ElEVM',
  162. hideEmail: true
  163. };
  164. (function(d, t) {
  165. var g = d.createElement(t);g.id = 'doorbellScript';g.type = 'text/javascript';g.async = true;g.src = 'https://embed.doorbell.io/button/2408?t='+(new Date().getTime());(d.getElementsByTagName('head')[0]||d.getElementsByTagName('body')[0]).appendChild(g);
  166. }(document, 'script'));
  167. </script>
  168. </template>