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

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. * Sets the local user display name and saves it to local storage
  35. *
  36. * @param newDisplayName the new display name for the local user
  37. * @returns {string} the display name we just set
  38. */
  39. setDisplayName: function (newDisplayName) {
  40. displayName = newDisplayName;
  41. window.localStorage.displayname = displayName;
  42. return displayName;
  43. },
  44. /**
  45. * Returns the currently used by the user
  46. * @returns {string} currently valid user display name.
  47. */
  48. getDisplayName: function () {
  49. return displayName;
  50. },
  51. setEmail: function (newEmail) {
  52. email = newEmail;
  53. window.localStorage.email = newEmail;
  54. return email;
  55. },
  56. getSettings: function () {
  57. return {
  58. email: email,
  59. displayName: displayName,
  60. uid: userId,
  61. language: language
  62. };
  63. },
  64. setLanguage: function (lang) {
  65. language = lang;
  66. window.localStorage.language = lang;
  67. }
  68. };
  69. module.exports = Settings;