From af08a7850b308e54d63f3af6592e6856c10245d6 Mon Sep 17 00:00:00 2001 From: npeter83 Date: Sat, 22 Aug 2026 03:25:49 +0200 Subject: [PATCH] feat(feed): guide a hidden-channel empty result to the Library MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Filtering by a channel under the Mine scope returns nothing when that channel's subscription is hidden (or you don't subscribe to it) — its videos only live in the shared Library, since the Mine feed excludes hidden subscriptions by design. Previously this left a bare 'No videos match these filters', which reads as a bug when you know you're subscribed. Add an empty-state hint + a 'View in Library' button (switches scope to all) when there's a channel filter under Mine and zero results. Bilingual EN/HU. Verified live: ?channel=&show=all under Mine shows the hint; the button switches to Library and surfaces the 36 videos. --- frontend/src/components/Feed.tsx | 16 ++++++++++++++++ frontend/src/i18n/locales/en/feed.json | 2 ++ frontend/src/i18n/locales/hu/feed.json | 2 ++ 3 files changed, 20 insertions(+) diff --git a/frontend/src/components/Feed.tsx b/frontend/src/components/Feed.tsx index 2d46c475..3b0cc628 100644 --- a/frontend/src/components/Feed.tsx +++ b/frontend/src/components/Feed.tsx @@ -13,6 +13,7 @@ import { Grid3x3, Info, LayoutGrid, + Library, List, RefreshCw, Rows3, @@ -686,6 +687,21 @@ export default function Feed({ {items.length === 0 ? (

{t("feed.noMatches")}

+ {/* A channel filter under the "Mine" scope returns nothing when that channel is hidden from + your subscriptions (or you don't subscribe to it) — its videos only live in the shared + Library. Point there rather than leaving a bare "no matches". */} + {filters.channelIds.length > 0 && filters.scope === "my" && ( +
+

{t("feed.channelScopeHint")}

+ +
+ )} {filters.q.trim() && !isDemo && (