Thread viewer for Bluesky

store auth data as one local storage key

Changed files
+5 -17
+5 -17
api.js
··· 64 64 65 65 class LocalStorageConfig { 66 66 constructor() { 67 - this.user = {}; 68 - this.user.accessToken = localStorage.getItem('accessToken'); 69 - this.user.refreshToken = localStorage.getItem('refreshToken'); 70 - this.user.did = localStorage.getItem('userDID'); 71 - this.user.avatar = localStorage.getItem('avatar'); 67 + let data = localStorage.getItem('userData'); 68 + this.user = data ? JSON.parse(data) : {}; 72 69 } 73 70 74 71 save() { 75 - this.saveItem('accessToken', this.user.accessToken); 76 - this.saveItem('refreshToken', this.user.refreshToken); 77 - this.saveItem('userDID', this.user.did); 78 - this.saveItem('avatar', this.user.avatar); 79 - } 80 - 81 - /** @param {string} key, @param {string | undefined} value */ 82 - 83 - saveItem(key, value) { 84 - if (value !== undefined) { 85 - localStorage.setItem(key, value); 72 + if (this.user) { 73 + localStorage.setItem('userData', JSON.stringify(this.user)); 86 74 } else { 87 - localStorage.removeItem(key); 75 + localStorage.removeItem('userData'); 88 76 } 89 77 } 90 78 }