home.html 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <template name="home">
  2. {{> header}}
  3. <main>
  4. {{> alerts}}
  5. <div style="margin-left: 5%;margin-right: 5%;">
  6. <h3 class="center-align">Official Rooms</h3>
  7. <hr class="center-block" style="width: 99%">
  8. <div class="row">
  9. {{#each rooms}}
  10. {{#if private}}
  11. {{#if isModerator}}
  12. <div class="col s12 m6 l3">
  13. <div class="card hoverable red white-text">
  14. <div class="card-image waves-effect waves-block waves-light">
  15. <a href=/{{type}}>
  16. <img onerror="this.src='/notes.png'" src={{currentSong.song.img}} style="width: 100%; height: auto;">
  17. <figcaption class="caption center-align">
  18. <h5>{{currentSong.song.title}}</h5>
  19. <h5>{{currentSong.song.artist}}</h5>
  20. </figcaption>
  21. </a>
  22. </div>
  23. <div class="card-content">
  24. <span class="card-title white-text">{{display}}</span><div><span class="user-num">{{userNum}}</span> <i class="material-icons">perm_identity</i></div>
  25. <p>{{roomDesc}}</p>
  26. </div>
  27. <div class="card-action">
  28. <a href=/{{type}} class="white-text">Join Room</a>
  29. </div>
  30. </div>
  31. </div>
  32. {{/if}}
  33. {{else}}
  34. <div class="col s12 m6 l3">
  35. <div class="card hoverable">
  36. <div class="card-image waves-effect waves-block waves-light">
  37. <a href=/{{type}}>
  38. <img onerror="this.src='/notes.png'" src={{currentSong.song.img}}>
  39. <figcaption class="caption center-align">
  40. <h5>{{currentSong.song.title}}</h5>
  41. <h5>{{currentSong.song.artist}}</h5>
  42. </figcaption>
  43. </a>
  44. </div>
  45. <div class="card-content">
  46. <span class="card-title grey-text text-darken-4">{{display}}</span><div><span class="user-num">{{userNum}}</span> <i class="material-icons">perm_identity</i></div>
  47. <p>{{roomDesc}}</p>
  48. </div>
  49. <div class="card-action">
  50. <a href=/{{type}} class="light-blue-text text-accent-4">Join Room</a>
  51. </div>
  52. </div>
  53. </div>
  54. {{/if}}
  55. {{/each}}
  56. </div>
  57. <h3 class="center-align">
  58. Private Rooms
  59. {{#if currentUser}}
  60. <a href="#create_private_room" id="create_private_room_modal_button"><i class="material-icons">add</i></a>
  61. {{/if}}
  62. </h3>
  63. <hr class="center-block" style="width: 99%">
  64. <div class="row">
  65. {{#each room in privateRooms}}
  66. {{#if equals room.privacy 'private'}}
  67. {{#if isAllowedInPrivateRoom name}}
  68. <div class="col s12 m6 l3">
  69. <div class="card hoverable light-blue white-text">
  70. <div class="card-image waves-effect waves-block waves-light">
  71. <a href=/private/{{room.name}}>
  72. <img src='/notes.png'>
  73. <figcaption class="caption center-align">
  74. <h5>{{room.currentPrivateSong.song.title}}</h5>
  75. </figcaption>
  76. </a>
  77. </div>
  78. <div class="card-content" style="overflow-x: hidden;">
  79. <span class="card-title white-text">{{room.displayName}}</span><div><span class="user-num">{{room.userPrivateNum}}</span> <i class="material-icons">perm_identity</i></div>
  80. <p>{{room.roomDesc}}</p>
  81. </div>
  82. <div class="card-action">
  83. <a href=/private/{{room.name}} class="white-text">Join Room</a>
  84. </div>
  85. </div>
  86. </div>
  87. {{/if}}
  88. {{else}}
  89. {{#if equals room.privacy 'unlisted'}}
  90. {{#if isAllowedInPrivateRoom name}}
  91. <div class="col s12 m6 l3">
  92. <div class="card hoverable light-blue white-text">
  93. <div class="card-image waves-effect waves-block waves-light">
  94. <a href=/private/{{room.name}}>
  95. <img src='/notes.png'>
  96. <figcaption class="caption center-align">
  97. <h5>{{room.currentPrivateSong.song.title}}</h5>
  98. </figcaption>
  99. </a>
  100. </div>
  101. <div class="card-content" style="overflow-x: hidden;">
  102. <span class="card-title white-text">{{room.displayName}}</span><div><span class="user-num">{{room.userPrivateNum}}</span> <i class="material-icons">perm_identity</i></div>
  103. <p>{{room.roomDesc}}</p>
  104. </div>
  105. <div class="card-action">
  106. <a href=/private/{{room.name}} class="white-text">Join Room</a>
  107. </div>
  108. </div>
  109. </div>
  110. {{/if}}
  111. {{else}}
  112. <div class="col s12 m6 l3">
  113. <div class="card hoverable">
  114. <div class="card-image waves-effect waves-block waves-light">
  115. <a href=/private/{{room.name}}>
  116. <img src='/notes.png'>
  117. <figcaption class="caption center-align">
  118. <h5>{{room.currentPrivateSong.song.title}}</h5>
  119. </figcaption>
  120. </a>
  121. </div>
  122. <div class="card-content">
  123. <span class="card-title grey-text text-darken-4">{{room.displayName}}</span><div><span class="user-num">{{room.userPrivateNum}}</span> <i class="material-icons">perm_identity</i></div>
  124. <p>{{room.roomDesc}}</p>
  125. </div>
  126. <div class="card-action">
  127. <a href=/private/{{room.name}} class="light-blue-text text-accent-4">Join Room</a>
  128. </div>
  129. </div>
  130. </div>
  131. {{/if}}
  132. {{/if}}
  133. {{/each}}
  134. </div>
  135. </div>
  136. </main>
  137. {{> footer}}
  138. <div id="create_private_room" class="modal">
  139. <div class="modal-content">
  140. <h4>Create Modal</h4>
  141. <div class="input-field">
  142. <input id="create_private_room_name" type="text">
  143. <label for="create_private_room_name">Name</label>
  144. </div>
  145. <div class="input-field">
  146. <input id="create_private_room_display_name" type="text">
  147. <label for="create_private_room_display_name">Display Name</label>
  148. </div>
  149. <div class="input-field">
  150. <input id="create_private_room_description" type="text">
  151. <label for="create_private_room_description">Description</label>
  152. </div>
  153. <button class="btn waves-effect waves-light" id="create_private_room_submit">Create</button>
  154. </div>
  155. <div class="divider"></div>
  156. <div class="modal-footer">
  157. <a class="modal-action modal-close waves-effect btn">Close</a>
  158. </div>
  159. </div>
  160. <script>
  161. $("#create_private_room_modal_button").leanModal({
  162. dismissible: true,
  163. opacity: .5,
  164. in_duration: 500,
  165. out_duration: 200
  166. });
  167. </script>
  168. </template>