aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/store.js18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/lib/store.js b/src/lib/store.js
index 2fcf21d5..2693e945 100644
--- a/src/lib/store.js
+++ b/src/lib/store.js
@@ -1,7 +1,7 @@
import { get, writable } from 'svelte/store';
import { browser } from '$app/env';
-const persisted = (k, i) => {
+const persistSession = (k, i) => {
let s = writable(
browser && sessionStorage.getItem(k) && sessionStorage.getItem(k) !== 'undefined'
? JSON.parse(sessionStorage.getItem(k))
@@ -13,12 +13,24 @@ const persisted = (k, i) => {
return s;
};
+const persistLocal = (k, i) => {
+ let s = writable(
+ browser && localStorage.getItem(k) && localStorage.getItem(k) !== 'undefined'
+ ? JSON.parse(localStorage.getItem(k))
+ : i
+ );
+
+ s.subscribe((v) => browser && localStorage.setItem(k, JSON.stringify(v)));
+
+ return s;
+};
+
export const rate = writable();
export const user = writable();
export const invoiceAmount = writable();
export const invoiceAmountFiat = writable();
-export const token = persisted('token');
+export const token = persistSession('token');
export const invoices = writable({});
export const preferredCurrency = writable();
-export const newPayment = writable();
+export const newPayment = persistLocal();
export const colorTheme = writable('from-primary to-gradient');