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:
google-labs-jules[bot] committed 2026-01-19 02:33:17 +00:00
1 parent 5261f3125b
commit 5c65c44db3
3 files changed
+16 -6

No files matched your search

+11 -3
View File
@@ -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()) &&
+5 -2
View File
@@ -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);
-1
View File
@@ -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">