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.

WelcomePage.js 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /* global $, interfaceConfig, APP */
  2. import {
  3. generateRoomWithoutSeparator
  4. } from '../../../react/features/base/util/roomnameGenerator';
  5. import UIUtil from '../util/UIUtil';
  6. var animateTimeout, updateTimeout;
  7. function enterRoom() {
  8. const $enterRoomField = $("#enter_room_field");
  9. var val = $enterRoomField.val();
  10. if(!val) {
  11. val = $enterRoomField.attr("room_name");
  12. }
  13. if (val) {
  14. window.location.pathname = "/" + val;
  15. }
  16. }
  17. function animate(word) {
  18. var currentVal = $("#enter_room_field").attr("placeholder");
  19. $("#enter_room_field").attr("placeholder", currentVal + word.substr(0, 1));
  20. animateTimeout = setTimeout(function() {
  21. animate(word.substring(1, word.length));
  22. }, 70);
  23. }
  24. function update_roomname() {
  25. var word = generateRoomWithoutSeparator();
  26. $("#enter_room_field").attr("room_name", word);
  27. $("#enter_room_field").attr("placeholder", "");
  28. clearTimeout(animateTimeout);
  29. animate(word);
  30. updateTimeout = setTimeout(update_roomname, 10000);
  31. }
  32. function setupWelcomePage() {
  33. $("#videoconference_page").hide();
  34. $("#domain_name").text(
  35. window.location.protocol + "//" + window.location.host + "/");
  36. if (interfaceConfig.SHOW_JITSI_WATERMARK) {
  37. var leftWatermarkDiv =
  38. $("#welcome_page_header div[class='watermark leftwatermark']");
  39. if(leftWatermarkDiv && leftWatermarkDiv.length > 0) {
  40. leftWatermarkDiv.css({display: 'block'});
  41. UIUtil.setLinkHref(
  42. leftWatermarkDiv.parent(),
  43. interfaceConfig.JITSI_WATERMARK_LINK);
  44. }
  45. }
  46. if (interfaceConfig.SHOW_BRAND_WATERMARK) {
  47. var rightWatermarkDiv =
  48. $("#welcome_page_header div[class='watermark rightwatermark']");
  49. if(rightWatermarkDiv && rightWatermarkDiv.length > 0) {
  50. rightWatermarkDiv.css({display: 'block'});
  51. UIUtil.setLinkHref(
  52. rightWatermarkDiv.parent(),
  53. interfaceConfig.BRAND_WATERMARK_LINK);
  54. rightWatermarkDiv.get(0).style.backgroundImage =
  55. "url(images/rightwatermark.png)";
  56. }
  57. }
  58. if (interfaceConfig.SHOW_POWERED_BY) {
  59. $("#welcome_page_header>a[class='poweredby']")
  60. .css({display: 'block'});
  61. }
  62. $("#enter_room_button").click(function() {
  63. enterRoom();
  64. });
  65. $("#enter_room_field").keydown(function (event) {
  66. if (event.keyCode === 13 /* enter */) {
  67. enterRoom();
  68. }
  69. });
  70. if (interfaceConfig.GENERATE_ROOMNAMES_ON_WELCOME_PAGE !== false) {
  71. var selector = $("#reload_roomname");
  72. selector.click(function () {
  73. clearTimeout(updateTimeout);
  74. clearTimeout(animateTimeout);
  75. update_roomname();
  76. });
  77. selector.show();
  78. update_roomname();
  79. }
  80. $("#disable_welcome").click(function () {
  81. APP.settings.setWelcomePageEnabled(
  82. !$("#disable_welcome").is(":checked")
  83. );
  84. });
  85. }
  86. module.exports = setupWelcomePage;