on df0c310 help sign in
bridge/src/store/storage/roller.ts
57 lines 1.5 kB history raw
1import SecureLS from 'secure-ls';
2import { Invite, InviteTickets } from 'lib/types/Invite';
4const INVITES_KEY = 'invites';
5const HIDE_MIGRATION_MESSAGE_KEY = 'hide_migration_message';
7export const getStoredInvites = (ls: SecureLS): InviteTickets => {
8 let invites = {};
9 try {
10 invites = ls.get(INVITES_KEY);
11 } catch (e) {}
12 return invites;
13};
15export const setStoredInvites = (ls: SecureLS, newInvites: Invite[]) => {
16 let invites: InviteTickets = {};
17 try {
18 invites = ls.get(INVITES_KEY) || {};
19 } catch (e) {}
21 newInvites.forEach(invite => {
22 invites[Number(invite.planet)] = invite;
23 });
24 ls.set(INVITES_KEY, invites);
25};
27export const setStoredInvite = (ls: SecureLS, newInvite: Invite) => {
28 let invites: InviteTickets = {};
29 try {
30 invites = ls.get(INVITES_KEY) || {};
31 } catch (e) {}
33 invites[Number(newInvite.planet)] = newInvite;
34 ls.set(INVITES_KEY, invites);
35};
37export const removeStoredInvite = (ls: SecureLS, key: number) => {
38 let invites: InviteTickets = {};
39 try {
40 invites = ls.get(INVITES_KEY) || {};
41 } catch (e) {}
43 if (key in invites) {
44 let { [key]: _, ...filtered } = invites;
45 invites = filtered;
46 }
48 ls.set(INVITES_KEY, invites);
49};
51export const clearInvitesStorage = () => localStorage.removeItem(INVITES_KEY);
53export const getHideMigrationMessage = () =>
54 Boolean(localStorage.getItem(HIDE_MIGRATION_MESSAGE_KEY));
56export const storeHideMigrationMessage = () =>
57 localStorage.setItem(HIDE_MIGRATION_MESSAGE_KEY, 'true');