Re-work threads page, fix some iphone bugs

This commit is contained in:
Jon Staab
2025-02-13 10:52:00 -08:00
parent 7d1310722a
commit 7f6a1bff34
9 changed files with 96 additions and 92 deletions
+15
View File
@@ -55,6 +55,7 @@ export const makeFeed = ({
feedFilters,
subscriptionFilters,
element,
onEvent,
onExhausted,
initialEvents = [],
}: {
@@ -62,12 +63,21 @@ export const makeFeed = ({
feedFilters: Filter[]
subscriptionFilters: Filter[]
element: HTMLElement
onEvent?: (event: TrustedEvent) => void
onExhausted?: () => void
initialEvents?: TrustedEvent[]
}) => {
const seen = new Set<string>()
const buffer = writable<TrustedEvent[]>([])
const events = writable(initialEvents)
for (const event of initialEvents) {
if (!seen.has(event.id)) {
seen.add(event.id)
onEvent?.(event)
}
}
const insertEvent = (event: TrustedEvent) => {
buffer.update($buffer => {
for (let i = 0; i < $buffer.length; i++) {
@@ -77,6 +87,11 @@ export const makeFeed = ({
return [...$buffer, event]
})
if (!seen.has(event.id)) {
seen.add(event.id)
onEvent?.(event)
}
}
const removeEvents = (ids: string[]) => {