diff --git a/components/sidebar.html b/components/sidebar.html index a6f02778..76be8484 100644 --- a/components/sidebar.html +++ b/components/sidebar.html @@ -54,15 +54,6 @@ /> For You - - - Recently Added - Trending + + + Recently Added + ({ ...m, preserveOrder: true }); break; } case FEED_TYPES.KIDS: runtime = this.buildKidsFeedRuntime(); metadataModifier = (m) => { - if (runtime?.ageGroup && !m.ageGroup) - m.ageGroup = runtime.ageGroup; - return m; + const next = { ...m, preserveOrder: true }; + if (runtime?.ageGroup && !next.ageGroup) + next.ageGroup = runtime.ageGroup; + return next; }; break; case FEED_TYPES.EXPLORE: @@ -869,6 +873,8 @@ export function createFeedCoordinator(deps) { break; case FEED_TYPES.TRENDING: runtime = buildTrendingFeedRuntime(this); + // Preserve the view-count ranking (otherwise re-sorted by date). + metadataModifier = (m) => ({ ...m, preserveOrder: true }); break; case "recent": runtime = this.buildRecentFeedRuntime(); diff --git a/js/hashChangeHandler.js b/js/hashChangeHandler.js index 705d0a57..7ccb36ec 100644 --- a/js/hashChangeHandler.js +++ b/js/hashChangeHandler.js @@ -1,5 +1,5 @@ import { devLogger as defaultDevLogger, userLogger as defaultUserLogger } from "./utils/logger.js"; -import { FEED_TYPES } from "./constants.js"; +import { FEED_TYPES, FEATURE_TRENDING_FEED } from "./constants.js"; const LEGACY_DOCS_VIEWS = { about: "about", @@ -90,8 +90,12 @@ export function createHashChangeHandler({ try { if (!match || !match[1]) { + // Logged in → personalized For You; logged out → Trending (the best + // not-personalized landing), falling back to Recent if Trending is off. const defaultViewName = resolveIsLoggedIn() ? FEED_TYPES.FOR_YOU + : FEATURE_TRENDING_FEED + ? FEED_TYPES.TRENDING : FEED_TYPES.RECENT; if (defaultViewName === currentViewName) {