Tried to fix a broke filter.
Build LinkLog Development Image / development-image (push) Successful in 10s

This commit is contained in:
2026-08-27 22:54:22 +02:00
parent 9494d2b119
commit 7bd64b870c
8 changed files with 56 additions and 42 deletions
+9 -6
View File
@@ -73,7 +73,9 @@ async function loadUsers() {
}
async function loadTags() {
const response = await fetch('/api/tags');
const response = await fetch('/api/tags', {
headers: accessToken ? {Authorization: `Bearer ${accessToken}`} : {},
});
if (!response.ok) throw new Error('Could not load tags');
const tags = await response.json();
availableTags = tags;
@@ -254,7 +256,7 @@ function showEditForm(article, item) {
article.appendChild(form);
}
async function loadFeed() {
async function loadFeed(selectedTag = null) {
const routeUser = document.body.dataset.userFilter;
const endpoint = routeUser
? `/api/public/feed/${encodeURIComponent(routeUser)}`
@@ -266,13 +268,14 @@ async function loadFeed() {
let items = data || [];
const pref = readPreferences();
const activeTag = selectedTag ?? pref.tag;
if (pref.user && !routeUser) {
items = items.filter((item) => (item.user?.username || '').toLowerCase() === pref.user.toLowerCase());
}
if (pref.tag) {
items = items.filter((item) => item.tags?.some((tag) => tag.toLowerCase() === pref.tag.toLowerCase()));
if (activeTag) {
items = items.filter((item) => item.tags?.some((tag) => tag.toLowerCase() === activeTag.toLowerCase()));
}
if (pref.sort === 'oldest') {
@@ -304,9 +307,9 @@ function syncPreferences() {
tagFilter.addEventListener('change', (event) => {
const next = { ...readPreferences(), tag: event.target.value };
writePreferences(next);
loadFeed();
loadFeed(event.target.value);
});
}
syncPreferences();
Promise.all([loadUsers(), loadTags()]).then(loadFeed).catch(() => loadFeed());
Promise.all([loadUsers(), loadTags()]).then(() => loadFeed()).catch(() => loadFeed());