feature: reactions

This commit is contained in:
Andy Burke 2025-10-15 17:50:48 -07:00
parent b8467ec870
commit 7046bb0389
11 changed files with 371 additions and 133 deletions

View file

@ -14,6 +14,10 @@ function smarten_feeds() {
continue;
}
feed.__started = false;
feed.__newest_id = undefined;
feed.__oldest_id = undefined;
feed.__templates = feed
.querySelectorAll("template[data-for_type]")
.values()
@ -76,6 +80,20 @@ function smarten_feeds() {
feed.__autoscroll_debounce_timeout = undefined;
feed.__render = async (item) => {
const [item_type, item_id] = item.id?.split(":", 2) ?? [];
feed.__newest_id =
typeof item_id === "string" && item_id > (feed.__newest_id ?? "")
? item_id
: feed.__newest_id;
feed.__oldest_id =
typeof item_id === "string" &&
item_id <
(feed.__oldest_id ??
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz")
? item_id
: feed.__oldest_id;
const template = feed.__templates[item.type];
if (!template) {
return;
@ -96,18 +114,6 @@ function smarten_feeds() {
`[data-temp_id='${item.temp_id ?? item.meta?.temp_id ?? ""}']`,
);
feed.__newest_id =
typeof item.id === "string" && item.id > (feed.__newest_id ?? "")
? item.id
: feed.__newest_id;
feed.__oldest_id =
typeof item.id === "string" &&
item.id <
(feed.__oldest_id ??
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz")
? item.id
: feed.__oldest_id;
if (existing_element) {
if (
existing_element.id !== item.id ||