webapp/src/stores/zine/seen.ts

19 lines
409 B
TypeScript
Raw Normal View History

2022-09-09 11:53:35 +00:00
import { persistentAtom } from '@nanostores/persistent'
2022-09-13 09:59:04 +00:00
import { useStore } from '@nanostores/solid'
2022-09-09 11:53:35 +00:00
2022-09-13 09:59:04 +00:00
const seen = persistentAtom<{ [slug: string]: Date }>(
2022-09-09 11:53:35 +00:00
'seen',
{},
{
encode: JSON.stringify,
decode: JSON.parse
}
)
2022-09-13 09:59:04 +00:00
export const addSeen = (slug) => seen.set({ ...seen.get(), [slug]: Date.now() })
export const useSeenStore = () => {
const getSeen = useStore(seen)
return { getSeen }
}