diff --git a/src/app/state.ts b/src/app/state.ts index 1938ab6e..89e9c271 100644 --- a/src/app/state.ts +++ b/src/app/state.ts @@ -1,9 +1,10 @@ import twColors from "tailwindcss/colors" -import {get, derived} from "svelte/store" +import {get, derived, writable} from "svelte/store" import {nip19} from "nostr-tools" import type {Maybe} from "@welshman/lib" import { ctx, + now, setContext, remove, assoc, @@ -16,6 +17,7 @@ import { nthEq, shuffle, parseJson, + prop, } from "@welshman/lib" import { getIdFilters, @@ -259,6 +261,14 @@ export const deriveEventsForUrl = (url: string, filters: Filter[]) => ), ) +// Last checked timestamps, notifications + +export const checked = writable>({}) + +export const deriveChecked = (key: string) => derived(checked, prop(key)) + +export const setChecked = (key: string, ts = now()) => checked.update(assoc(key, ts)) + // Settings export const SETTINGS = 38489 diff --git a/src/routes/chat/[chat]/+page.svelte b/src/routes/chat/[chat]/+page.svelte index 5a841716..4542ffb9 100644 --- a/src/routes/chat/[chat]/+page.svelte +++ b/src/routes/chat/[chat]/+page.svelte @@ -1,6 +1,12 @@ diff --git a/src/routes/spaces/[relay]/+page.svelte b/src/routes/spaces/[relay]/+page.svelte index b57e9a77..a6c9579e 100644 --- a/src/routes/spaces/[relay]/+page.svelte +++ b/src/routes/spaces/[relay]/+page.svelte @@ -1,4 +1,5 @@
diff --git a/src/routes/spaces/[relay]/[room]/+page.svelte b/src/routes/spaces/[relay]/[room]/+page.svelte index 6eced4dc..3cf4be91 100644 --- a/src/routes/spaces/[relay]/[room]/+page.svelte +++ b/src/routes/spaces/[relay]/[room]/+page.svelte @@ -8,6 +8,7 @@