You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

136 lines
6.7 KiB

8 years ago
8 years ago
4 years ago
  1. <header id="{$jid|cleanupId}-header">
  2. {autoescape="off"}
  3. {$c->prepareHeader($jid, $muc)}
  4. {/autoescape}
  5. </header>
  6. <div id="{$jid|cleanupId}-discussion" class="contained {if="$muc"}muc{/if}">
  7. <section id="{$jid|cleanupId}-messages">
  8. <div class="placeholder first_messages">
  9. <i class="material-symbols fill">waving_hand</i>
  10. <h1>{$c->__('chat.first_messages_title')}</h1>
  11. {if="!$muc"}
  12. <h4 style="margin-bottom: 1rem;">{$c->__('chat.first_messages_text')}</h4>
  13. <h4>
  14. <button class="button color" onclick="Notifications_ajaxAddAsk('{$jid|echapJS}')">
  15. <i class="material-symbols">add</i> {$c->__('chat.first_messages_add')}
  16. </button>
  17. <button class="button flat" onclick="ChatActions_ajaxBlock('{$jid|echapJS}'); Notifications_ajaxRefuse('{$jid|echapJS}');">
  18. {$c->__('chat.first_messages_block')}
  19. </button>
  20. </h4>
  21. {/if}
  22. </div>
  23. <ul class="list spin conversation" id="{$jid|cleanupId}-conversation"></ul>
  24. <div class="placeholder empty">
  25. <i class="material-symbols fill">chat</i>
  26. <h1>{$c->__('chat.new_title')}</h1>
  27. <h4>{$c->__('chat.new_text')}</h4>
  28. <h4>{$c->__('message.edit_help')}</h4>
  29. <h4>{$c->__('message.emoji_help')}</h4>
  30. </div>
  31. </section>
  32. </div>
  33. <div class="chat_box {if="isset($conference) && $conference->presence && $conference->presence->mucrole == 'visitor'"}disabled{/if}">
  34. <a id="scroll_now" class="button action color small" onclick="Chat_ajaxClearAndGetMessages('{$jid}', {if="$muc"}true{/if})">
  35. <i class="material-symbols">clock_arrow_down</i>
  36. </a>
  37. <a id="scroll_down" class="button action color transparent small" onclick="Chat.scrollTotally()">
  38. <i class="material-symbols">expand_more</i>
  39. </a>
  40. <ul class="list fill">
  41. <div id="reply"></div>
  42. <ul class="list middle" id="embed"></ul>
  43. <div id="dictaphone"></div>
  44. <li class="emojis"></li>
  45. <li class="main">
  46. <span class="primary icon gray active"
  47. title="{$c->__('sticker.title')}"
  48. onclick="Stickers_ajaxShow('{$jid}')">
  49. <i class="material-symbols flip-vert">note_stack</i>
  50. </span>
  51. {if="$c->getUser()->hasUpload()"}
  52. <span class="emojis control icon gray active"
  53. id="dictaphone_toggle"
  54. title="{$c->__('dictaphone.name')}"
  55. onclick="Dictaphone.toggle()">
  56. <i class="material-symbols">mic</i>
  57. </span>
  58. {/if}
  59. <span class="emojis control icon gray active on_desktop"
  60. title="{$c->__('emojisconfig.title')}"
  61. onclick="Stickers_ajaxReaction(null)">
  62. <i class="material-symbols">emoji_emotions</i>
  63. </span>
  64. {if="$c->getUser()->hasUpload()"}
  65. <span class="attach control icon" onclick="Chat.toggleAttach()">
  66. <i class="material-symbols">add_circle</i>
  67. </span>
  68. <ul class="list active actions">
  69. <li onclick="Chat.toggleAttach(); Snap.init()">
  70. <span class="control icon gray">
  71. <i class="material-symbols">camera_alt</i>
  72. </span>
  73. <div>
  74. <p class="normal line">Snap</p>
  75. </div>
  76. </li>
  77. <li onclick="Chat.toggleAttach(); Draw_ajaxHttpGet()">
  78. <span class="control icon gray">
  79. <i class="material-symbols">gesture</i>
  80. </span>
  81. <div>
  82. <p class="normal line">{$c->__('draw.title')}</p>
  83. </div>
  84. </li>
  85. <li onclick="Chat.toggleAttach(); Upload_ajaxGetPanel()">
  86. <span class="control icon gray">
  87. <i class="material-symbols">attach_file</i>
  88. </span>
  89. <div>
  90. <p class="normal line">{$c->__('upload.title')}</p>
  91. </div>
  92. </li>
  93. </ul>
  94. {/if}
  95. <span title="{$c->__('button.submit')}"
  96. class="send control icon gray"
  97. onclick="Chat.sendMessage()">
  98. <i class="material-symbols">send</i>
  99. </span>
  100. <form>
  101. <div>
  102. <textarea
  103. dir="auto"
  104. rows="1"
  105. id="chat_textarea"
  106. data-jid="{$jid}"
  107. data-muc="{if="$muc"}true{/if}"
  108. data-muc-group="{if="isset($conference) && $conference->isGroupChat()"}true{/if}"
  109. {$rand = rand(0, 1)}
  110. {if="isset($conference) && $conference->presence && $conference->presence->mucrole == 'visitor'"}
  111. placeholder="{$c->__('message.visitor_help')}"
  112. {elseif="$rand == 1"}
  113. placeholder="{$c->__('message.emoji_help')}"
  114. {else}
  115. placeholder="{$c->__('chat.placeholder')}"
  116. {/if}
  117. {if="isset($conference) && $conference->presence && $conference->presence->mucrole == 'visitor'"}disabled{/if}
  118. ></textarea>
  119. <span class="control icon encrypted" title="{$c->__('omemo.encrypted')}"
  120. onclick="ChatOmemo.disableContactState('{$jid}', {if="$muc"}true{else}false{/if})">
  121. <i class="material-symbols fill">lock</i>
  122. </span>
  123. <span class="control icon encrypted_disabled" title="{$c->__('omemo.encrypted_disabled')}"
  124. onclick="ChatOmemo.enableContactState('{$jid}', {if="$muc"}true{else}false{/if})">
  125. <i class="material-symbols">no_encryption</i>
  126. </span>
  127. <span class="control icon encrypted_loading" title="{$c->__('omemo.encrypted_loading')}"
  128. onclick="ChatOmemo.disableContactState('{$jid}', {if="$muc"}true{else}false{/if})">
  129. <i class="material-symbols">lock_clock</i>
  130. </span>
  131. </div>
  132. </form>
  133. </li>
  134. </ul>
  135. </div>