feat(channels): add a Hidden tab; move hidden channels out of Subscriptions (R13 S2)

Hidden subscriptions get their own tab (mirroring Blocked): a flat list with an
Unhide action, instead of dimmed rows scattered through the Subscriptions table.
- ChannelsView += "hidden"; the subscribed table now EXCLUDES hidden channels,
  so hiding a channel (the eye button) moves it to the Hidden tab and unhiding
  (Eye) returns it — both via the existing patch mutation.
- The "Hidden" top-level status chip is dropped (ChannelStatusFilter loses
  "hidden"); the status row is now purely sync-status (all/needs_full/fully_synced).
- Bilingual i18n (en/hu): channels.tabs.hidden + a channels.hidden block; the now
  unused channels.filters.hidden removed.

Hidden = out of the personal (Mine) feed only, still in the shared Library — a
softer exclusion than Blocked (hidden everywhere). Gate green: tsc/eslint-0/
prettier/vitest 106. Self-E2E'd: hide → appears in Hidden tab → unhide → back,
all /api 200.
This commit is contained in:
2026-08-14 00:38:47 +02:00
parent ccd7170a20
commit 6062007947
4 changed files with 69 additions and 25 deletions
+8 -2
View File
@@ -6,6 +6,7 @@
"tabs": {
"subscribed": "Subscriptions",
"discovery": "Discover from playlists",
"hidden": "Hidden",
"blocked": "Blocked"
},
"layoutLabel": "Layout",
@@ -40,8 +41,7 @@
"filters": {
"all": "All",
"needsFull": "Needs full history",
"fullySynced": "Fully synced",
"hidden": "Hidden"
"fullySynced": "Fully synced"
},
"tags": {
"yourTags": "Your tags",
@@ -139,5 +139,11 @@
"title": "Blocked channels",
"hint": "Their videos are hidden from your feed, Library, and live search.",
"empty": "No blocked channels. Block one from its channel page to hide all its videos without unsubscribing."
},
"hidden": {
"title": "Hidden channels",
"hint": "Their videos are kept out of your personal feed, but still appear in the shared Library.",
"empty": "No hidden channels. Hide a subscription (the eye icon on its row) to keep its uploads out of your personal feed without unsubscribing.",
"unhide": "Unhide"
}
}
+8 -2
View File
@@ -6,6 +6,7 @@
"tabs": {
"subscribed": "Feliratkozások",
"discovery": "Felfedezés a lejátszási listákból",
"hidden": "Elrejtett",
"blocked": "Letiltott"
},
"layoutLabel": "Nézet",
@@ -40,8 +41,7 @@
"filters": {
"all": "Mind",
"needsFull": "Hiányos előzmény",
"fullySynced": "Teljesen szinkronizálva",
"hidden": "Elrejtett"
"fullySynced": "Teljesen szinkronizálva"
},
"tags": {
"yourTags": "Címkéid",
@@ -139,5 +139,11 @@
"title": "Tiltott csatornák",
"hint": "A videóik el vannak rejtve a feededből, a Library-ből és a YouTube-keresésből.",
"empty": "Nincs tiltott csatorna. Egy csatorna oldaláról tilthatsz le egyet, hogy minden videóját elrejtsd leiratkozás nélkül."
},
"hidden": {
"title": "Elrejtett csatornák",
"hint": "A videóik kimaradnak a személyes feededből, de a megosztott Library-ben továbbra is megjelennek.",
"empty": "Nincs elrejtett csatorna. Egy feliratkozást a sorában (a szem ikonnal) rejthetsz el, hogy kimaradjon a személyes feededből leiratkozás nélkül.",
"unhide": "Felfedés"
}
}