webapp/src/stores/zine/seen.ts

16 lines
431 B
TypeScript
Raw Normal View History

2022-11-13 06:41:04 +00:00
import { createStorageSignal } from '@solid-primitives/storage'
2022-09-09 11:53:35 +00:00
2022-11-24 12:47:04 +00:00
// TODO: use indexedDB here
2022-11-13 06:41:04 +00:00
export const [seen, setSeen] = createStorageSignal<{ [slug: string]: Date }>('seen', {})
export const addSeen = (slug) => setSeen({ ...seen(), [slug]: Date.now() })
2022-09-09 11:53:35 +00:00
2022-11-14 17:41:05 +00:00
export const useSeenStore = (initialData: { [slug: string]: Date } = {}) => {
setSeen({ ...seen(), ...initialData })
2022-09-13 09:59:04 +00:00
2022-11-14 17:41:05 +00:00
return {
seen,
setSeen,
addSeen
}
2022-09-13 09:59:04 +00:00
}