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.6KB

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