mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 07:52:24 +00:00
feat: Remove hashtag pills from For You page
- Updated `For You` page to rely on feed engine filtering for tag preferences. - Removed the `recentVideoTags` HTML element from `views/for-you.html`. - Updated `js/app.js` and `js/ui/videoListViewController.js` to optionally skip finding the `recentVideoTags` element. - Updated `loadForYouVideos` in `js/app.js` to explicitly skip `recentVideoTags`. - Confirmed feed logic via `tests/feed-engine/tag-preference-filter.test.mjs`. - Verified UI changes via Playwright.
This commit is contained in:
1 parent
5261f3125b
commit
5c65c44db3
3 files changed
+16
-6
No files matched your search
@@ -2956,7 +2956,7 @@ class Application {
|
||||
);
|
||||
}
|
||||
|
||||
mountVideoListView(container = null) {
|
||||
mountVideoListView({ container = null, includeTags = true } = {}) {
|
||||
if (!this.videoListView) {
|
||||
return null;
|
||||
}
|
||||
@@ -2966,15 +2966,23 @@ class Application {
|
||||
container,
|
||||
view: this.videoListView,
|
||||
currentVideoList: this.videoList,
|
||||
includeTags,
|
||||
});
|
||||
this.videoList = videoList || null;
|
||||
this.videoListPopularTags = popularTags || null;
|
||||
return this.videoList;
|
||||
}
|
||||
|
||||
const isElement = (value) =>
|
||||
typeof HTMLElement !== "undefined" && value instanceof HTMLElement;
|
||||
|
||||
const target = container || document.getElementById("videoList");
|
||||
this.videoList = target || null;
|
||||
const tagsRoot = document.getElementById("recentVideoTags");
|
||||
|
||||
let tagsRoot = null;
|
||||
if (includeTags) {
|
||||
tagsRoot = document.getElementById("recentVideoTags");
|
||||
}
|
||||
this.videoListPopularTags = tagsRoot || null;
|
||||
if (typeof this.videoListView.setPopularTagsContainer === "function") {
|
||||
this.videoListView.setPopularTagsContainer(this.videoListPopularTags);
|
||||
@@ -5747,7 +5755,7 @@ class Application {
|
||||
devLogger.log("Starting loadForYouVideos... (forceFetch =", forceFetch, ")");
|
||||
this.setFeedTelemetryContext("for-you");
|
||||
|
||||
const container = this.mountVideoListView();
|
||||
const container = this.mountVideoListView({ includeTags: false });
|
||||
const hasCachedVideos =
|
||||
this.nostrService &&
|
||||
Array.isArray(this.nostrService.getFilteredActiveVideos()) &&
|
||||
|
||||
@@ -17,13 +17,16 @@ export default class VideoListViewController {
|
||||
);
|
||||
}
|
||||
|
||||
mount({ container = null, view, currentVideoList = null } = {}) {
|
||||
mount({ container = null, view, currentVideoList = null, includeTags = true } = {}) {
|
||||
if (!view) {
|
||||
return { videoList: currentVideoList || null, popularTags: null };
|
||||
}
|
||||
|
||||
const target = container || this.getElementById("videoList");
|
||||
const popularTags = this.getElementById("recentVideoTags");
|
||||
let popularTags = null;
|
||||
if (includeTags) {
|
||||
popularTags = this.getElementById("recentVideoTags");
|
||||
}
|
||||
|
||||
if (typeof view.setPopularTagsContainer === "function") {
|
||||
view.setPopularTagsContainer(popularTags || null);
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
<section data-ds="new">
|
||||
<h2 class="mb-4 text-xl font-semibold text-text">For You</h2>
|
||||
|
||||
<div id="recentVideoTags" class="mb-4" hidden></div>
|
||||
<div id="videoList" class="bv-grid-video">
|
||||
<div class="sidebar-loading-wrapper" role="status" aria-live="polite">
|
||||
<div class="sidebar-loading-indicator">
|
||||
|
||||
Reference in new issue
Block a user