2022-05-09 18:12:47 +00:00
|
|
|
// TODO: In case of an embed if localStorage is not available(third party), use localStorage of parent(first party) that contains the iframe.
|
|
|
|
export const localStorage = {
|
|
|
|
getItem(key: string) {
|
|
|
|
try {
|
2022-08-16 04:18:13 +00:00
|
|
|
// eslint-disable-next-line @calcom/eslint/avoid-web-storage
|
2022-05-09 18:12:47 +00:00
|
|
|
return window.localStorage.getItem(key);
|
|
|
|
} catch (e) {
|
|
|
|
// In case storage is restricted. Possible reasons
|
|
|
|
// 1. Third Party Context in Chrome Incognito mode.
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
setItem(key: string, value: string) {
|
|
|
|
try {
|
2022-08-16 04:18:13 +00:00
|
|
|
// eslint-disable-next-line @calcom/eslint/avoid-web-storage
|
2022-05-09 18:12:47 +00:00
|
|
|
window.localStorage.setItem(key, value);
|
|
|
|
} catch (e) {
|
|
|
|
// In case storage is restricted. Possible reasons
|
|
|
|
// 1. Third Party Context in Chrome Incognito mode.
|
|
|
|
// 2. Storage limit reached
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
};
|