fix: user community membership checks for timelines

This commit is contained in:
trisua 2025-06-29 12:26:22 -04:00
parent 0272985b81
commit 50f4592de2
4 changed files with 67 additions and 17 deletions

View file

@ -1,11 +1,9 @@
(text "{%- import \"components.html\" as components -%} {%- import \"macros.html\" as macros -%}")
(text "{% for post in list %}
{% if post[2].read_access == \"Everybody\" -%}
{% if post[0].context.repost and post[0].context.repost.reposting -%}
{{ components::repost(repost=post[3], post=post[0], owner=post[1], secondary=true, community=post[2], show_community=true) }}
{% else %}
{{ components::post(post=post[0], owner=post[1], question=post[4], secondary=true, community=post[2], poll=post[5]) }}
{%- endif %}
{% if post[0].context.repost and post[0].context.repost.reposting -%}
{{ components::repost(repost=post[3], post=post[0], owner=post[1], secondary=true, community=post[2], show_community=true) }}
{% else %}
{{ components::post(post=post[0], owner=post[1], question=post[4], secondary=true, community=post[2], poll=post[5]) }}
{%- endif %}
{% endfor %}")
(datalist

View file

@ -425,6 +425,7 @@
self.define("notifications_stream", ({ _, streams }) => {
const element = document.getElementById("notifications_span");
let current = Number.parseInt(element.innerText || "0");
streams.subscribe("notifs");
streams.event("notifs", "message", (data) => {
@ -435,13 +436,12 @@
const inner_data = JSON.parse(data.data);
if (data.method.Packet.Crud === "Create") {
const current = Number.parseInt(element.innerText || "0");
if (current <= 0) {
element.classList.remove("hidden");
}
element.innerText = current + 1;
current += 1;
element.innerText = current;
// check if we're already connected
const connected =
@ -477,16 +477,19 @@
console.info("notification created");
}
} else if (data.method.Packet.Crud === "Delete") {
const current = Number.parseInt(element.innerText || "0");
if (current - 1 <= 0) {
element.classList.add("hidden");
}
element.innerText = current - 1;
current -= 1;
element.innerText = current;
} else {
console.warn("correct packet type but with wrong data");
}
if (element.innerText !== current) {
element.innerText = current;
}
});
});