home.html 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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 privateRooms}}
  66. {{#if 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/{{name}}>
  72. <img src='/notes.png'>
  73. <figcaption class="caption center-align">
  74. <h5>{{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">{{displayName}}</span><div><span class="user-num">{{userPrivateNum}}</span> <i class="material-icons">perm_identity</i></div>
  80. <p>{{roomDesc}}</p>
  81. </div>
  82. <div class="card-action">
  83. <a href=/private/{{name}} class="white-text">Join Room</a>
  84. </div>
  85. </div>
  86. </div>
  87. {{/if}}
  88. {{else}}
  89. <div class="col s12 m6 l3">
  90. <div class="card hoverable">
  91. <div class="card-image waves-effect waves-block waves-light">
  92. <a href=/private/{{name}}>
  93. <img src='/notes.png'>
  94. <figcaption class="caption center-align">
  95. <h5>{{currentPrivateSong.song.title}}</h5>
  96. </figcaption>
  97. </a>
  98. </div>
  99. <div class="card-content">
  100. <span class="card-title grey-text text-darken-4">{{displayName}}</span><div><span class="user-num">{{userPrivateNum}}</span> <i class="material-icons">perm_identity</i></div>
  101. <p>{{roomDesc}}</p>
  102. </div>
  103. <div class="card-action">
  104. <a href=/private/{{name}} class="light-blue-text text-accent-4">Join Room</a>
  105. </div>
  106. </div>
  107. </div>
  108. {{/if}}
  109. {{/each}}
  110. </div>
  111. </div>
  112. </main>
  113. {{> footer}}
  114. <div id="create_private_room" class="modal">
  115. <div class="modal-content">
  116. <h4>Create Modal</h4>
  117. <div class="input-field">
  118. <input id="create_private_room_name" type="text">
  119. <label for="create_private_room_name">Name</label>
  120. </div>
  121. <div class="input-field">
  122. <input id="create_private_room_display_name" type="text">
  123. <label for="create_private_room_display_name">Display Name</label>
  124. </div>
  125. <div class="input-field">
  126. <input id="create_private_room_description" type="text">
  127. <label for="create_private_room_description">Description</label>
  128. </div>
  129. <button class="btn waves-effect waves-light" id="create_private_room_submit">Create</button>
  130. </div>
  131. <div class="divider"></div>
  132. <div class="modal-footer">
  133. <a class="modal-action modal-close waves-effect btn">Close</a>
  134. </div>
  135. </div>
  136. <script>
  137. $("#create_private_room_modal_button").leanModal({
  138. dismissible: true,
  139. opacity: .5,
  140. in_duration: 500,
  141. out_duration: 200
  142. });
  143. </script>
  144. </template>