replies timeline only, appview-less bluesky client
at main 1.1 kB view raw
1import { writable } from 'svelte/store'; 2import { AtpClient, type NotificationsStream } from './at/client'; 3import { SvelteMap } from 'svelte/reactivity'; 4import type { Did, ResourceUri } from '@atcute/lexicons'; 5import type { Backlink } from './at/constellation'; 6import type { PostWithUri } from './at/fetch'; 7import type { AtprotoDid } from '@atcute/lexicons/syntax'; 8// import type { JetstreamSubscription } from '@atcute/jetstream'; 9 10export const notificationStream = writable<NotificationsStream | null>(null); 11// export const jetstream = writable<JetstreamSubscription | null>(null); 12 13export type PostActions = { 14 like: Backlink | null; 15 repost: Backlink | null; 16 // reply: Backlink | null; 17 // quote: Backlink | null; 18}; 19export const postActions = new SvelteMap<`${Did}:${ResourceUri}`, PostActions>(); 20 21export const pulsingPostId = writable<string | null>(null); 22 23export const viewClient = new AtpClient(); 24export const clients = new SvelteMap<AtprotoDid, AtpClient>(); 25 26export const posts = new SvelteMap<Did, SvelteMap<ResourceUri, PostWithUri>>(); 27export const cursors = new SvelteMap<Did, { value?: string; end: boolean }>();