diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/socket.js | 10 | ||||
| -rw-r--r-- | src/lib/store.js | 2 | ||||
| -rw-r--r-- | src/lib/utils.js | 2 |
3 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/socket.js b/src/lib/socket.js index d43af082..4f5770d3 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -13,9 +13,11 @@ import { import { success, sat } from '$lib/utils'; import { PUBLIC_SOCKET } from '$env/static/public'; import { invalidate } from '$app/navigation'; +import { browser } from '$app/environment'; let socket, token; -let events = get($events); +let le = browser && localStorage.getItem('events'); +let events = le && le !== 'undefined' ? JSON.parse(le) : {}; delete events.q; events.q = Object.keys(events); @@ -40,7 +42,11 @@ export const messages = (data) => ({ events[data.id] = data; events.q.push(data.id); $events.set(events); - if (events.q.length > 500) delete events[events.q.shift()]; + while (events.q.length > 10000) delete events[events.q.shift()]; + localStorage.setItem( + 'events', + JSON.stringify(events.q.slice(-100).reduce((a, b) => (a = { ...a, [b]: events[b] }), {})) + ); }, rate() { diff --git a/src/lib/store.js b/src/lib/store.js index 34e8dcca..1a1a88c2 100644 --- a/src/lib/store.js +++ b/src/lib/store.js @@ -54,5 +54,5 @@ export const last = writable(); export const request = writable(); export const invoice = writable(); export const txns = persistLocal('transactions', []); -export const events = persistLocal('events', {}); +export const events = writable({}); export const password = writable(); diff --git a/src/lib/utils.js b/src/lib/utils.js index 14646ad0..82d5b9cf 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -11,7 +11,7 @@ export function scroll(section) { const base = browser ? '' : PUBLIC_COINOS_URL; export const runner = (k) => { - return Math.round(((parseInt(k[0], 16) - 1) / 15) * 7) + 1 + '.webp'; + return Math.ceil((parseInt(k.substr(0, 2), 16) / 256) * 20) + '.webp'; }; export const g = (url, fetch, headers) => |
