webapp/src/stores/zine/seen.ts
2022-11-24 15:47:04 +03:00

16 lines
431 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
}
}