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.

Settings.js 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import {generateUsername} from '../util/UsernameGenerator';
  2. var email = '';
  3. var displayName = '';
  4. var userId;
  5. var language = null;
  6. function supportsLocalStorage() {
  7. try {
  8. return 'localStorage' in window && window.localStorage !== null;
  9. } catch (e) {
  10. console.log("localstorage is not supported");
  11. return false;
  12. }
  13. }
  14. function generateUniqueId() {
  15. function _p8() {
  16. return (Math.random().toString(16) + "000000000").substr(2, 8);
  17. }
  18. return _p8() + _p8() + _p8() + _p8();
  19. }
  20. if (supportsLocalStorage()) {
  21. if (!window.localStorage.jitsiMeetId) {
  22. window.localStorage.jitsiMeetId = generateUniqueId();
  23. console.log("generated id", window.localStorage.jitsiMeetId);
  24. }
  25. userId = window.localStorage.jitsiMeetId || '';
  26. email = window.localStorage.email || '';
  27. displayName = window.localStorage.displayname || '';
  28. language = window.localStorage.language;
  29. } else {
  30. console.log("local storage is not supported");
  31. userId = generateUniqueId();
  32. }
  33. export default {
  34. /**
  35. * Sets the local user display name and saves it to local storage
  36. *
  37. * @param newDisplayName the new display name for the local user
  38. * @returns {string} the display name we just set
  39. */
  40. setDisplayName: function (newDisplayName) {
  41. if (displayName === newDisplayName) {
  42. return displayName;
  43. }
  44. displayName = newDisplayName;
  45. window.localStorage.displayname = displayName;
  46. return displayName;
  47. },
  48. /**
  49. * Returns the currently used by the user
  50. * @returns {string} currently valid user display name.
  51. */
  52. getDisplayName: function () {
  53. return displayName;
  54. },
  55. setEmail: function (newEmail) {
  56. email = newEmail;
  57. window.localStorage.email = newEmail;
  58. return email;
  59. },
  60. getEmail: function () {
  61. return email;
  62. },
  63. getSettings: function () {
  64. return {
  65. email: email,
  66. displayName: displayName,
  67. uid: userId,
  68. language: language
  69. };
  70. },
  71. getLanguage () {
  72. return language;
  73. },
  74. setLanguage: function (lang) {
  75. language = lang;
  76. window.localStorage.language = lang;
  77. }
  78. };