webapp/src/stores/zine/seen.ts
Ilya Y 784bb435c3
Feature/lint (#317)
* prettier

---------

Co-authored-by: Igor Lobanov <igor.lobanov@onetwotrip.com>
2023-11-14 18:10:00 +03:00

16 lines
432 B
TypeScript

import { createStorageSignal } from '@solid-primitives/storage'
// TODO: use indexedDB here
export const [seen, setSeen] = createStorageSignal<{ [slug: string]: Date }>('seen', {})
export const addSeen = (slug) => setSeen({ ...seen(), [slug]: Date.now() })
export const useSeenStore = (initialData: { [slug: string]: Date } = {}) => {
setSeen({ ...seen(), ...initialData })
return {
seen,
setSeen,
addSeen,
}
}