From 9e9eeb5c8ad0621143bf48e990d508fb7d5f801e Mon Sep 17 00:00:00 2001 From: secondl1ght <85003930+secondl1ght@users.noreply.github.com> Date: Wed, 3 Aug 2022 21:34:32 -0600 Subject: make new payment notification persist locally --- src/lib/store.js | 18 +++++++++++++++--- 1 file 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'); -- cgit v1.2.3