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 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. var email = '';
  2. var displayName = '';
  3. var userId;
  4. var language = null;
  5. function supportsLocalStorage() {
  6. try {
  7. return 'localStorage' in window && window.localStorage !== null;
  8. } catch (e) {
  9. console.log("localstorage is not supported");
  10. return false;
  11. }
  12. }
  13. function generateUniqueId() {
  14. function _p8() {
  15. return (Math.random().toString(16) + "000000000").substr(2, 8);
  16. }
  17. return _p8() + _p8() + _p8() + _p8();
  18. }
  19. if (supportsLocalStorage()) {
  20. if (!window.localStorage.jitsiMeetId) {
  21. window.localStorage.jitsiMeetId = generateUniqueId();
  22. console.log("generated id", window.localStorage.jitsiMeetId);
  23. }
  24. userId = window.localStorage.jitsiMeetId || '';
  25. email = window.localStorage.email || '';
  26. displayName = window.localStorage.displayname || '';
  27. language = window.localStorage.language;
  28. } else {
  29. console.log("local storage is not supported");
  30. userId = generateUniqueId();
  31. }
  32. var Settings =
  33. {
  34. setDisplayName: function (newDisplayName) {
  35. displayName = newDisplayName;
  36. window.localStorage.displayname = displayName;
  37. return displayName;
  38. },
  39. setEmail: function (newEmail)
  40. {
  41. email = newEmail;
  42. window.localStorage.email = newEmail;
  43. return email;
  44. },
  45. getSettings: function () {
  46. return {
  47. email: email,
  48. displayName: displayName,
  49. uid: userId,
  50. language: language
  51. };
  52. },
  53. setLanguage: function (lang) {
  54. language = lang;
  55. window.localStorage.language = lang;
  56. }
  57. };
  58. module.exports = Settings;