Tried to fix a broke filter.
Build LinkLog Development Image / development-image (push) Successful in 10s
Build LinkLog Development Image / development-image (push) Successful in 10s
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -86,6 +86,6 @@
|
||||
<script src="/static/auth-header.js?v=3"></script>
|
||||
<script src="/static/logout.js?v=3"></script>
|
||||
<script src="/static/theme.js?v=1"></script>
|
||||
<script src="/static/feed.js?v=9"></script>
|
||||
<script src="/static/feed.js?v=12"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user