feat(channels): dedicated channel page + ephemeral explore UI
Frontend for the channel-explore feature: - ChannelPage: banner/avatar/stats header, Subscribe/unsubscribe, an "exploring" badge while browsing an un-subscribed channel, Videos/About tabs. Reuses Feed scoped to the channel (scope=all + source=all so the per-user ephemeral videos show). Auto-ingests recent uploads on first visit (background, with a loading note) + "Load more from YouTube" to page deeper; skipped for demo / already-subscribed channels. - App: openChannel/closeChannel as a Back-aware sub-view (history.state._chan, mirrors the YT-search _yt pattern); ChannelPage takes over the content column, nav rail stays. - ChannelLink/cards/player: the channel name now opens our channel page (onChannelFilter → onOpenChannel); the in-card "only this channel" filter button is dropped (the page subsumes it). PlayerModal channel-name wiring follows in the next commit. - api: channelDetail + exploreChannel; ChannelDetail/ExploreResult types. - i18n EN/HU/DE: channel namespace, explore_cleanup scheduler labels, explore config group, channels_explore quota label.
This commit is contained in:
parent
bc4c362423
commit
cc1e670202
18 changed files with 744 additions and 120 deletions
20
frontend/src/i18n/locales/en/channel.json
Normal file
20
frontend/src/i18n/locales/en/channel.json
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"back": "Back",
|
||||
"exploringBadge": "Exploring",
|
||||
"subscribe": "Subscribe",
|
||||
"subscribedState": "Subscribed",
|
||||
"unsubscribe": "Unsubscribe",
|
||||
"unsubTitle": "Unsubscribe?",
|
||||
"unsubBody": "Stop following {{name}} on YouTube?",
|
||||
"subscribed": "Subscribed to {{name}}",
|
||||
"subscribers": "{{formatted}} subscribers",
|
||||
"videoCount_one": "{{count}} video",
|
||||
"videoCount_other": "{{count}} videos",
|
||||
"totalViews": "{{formatted}} views",
|
||||
"joined": "Joined {{date}}",
|
||||
"loadingVideos": "Loading this channel's videos…",
|
||||
"tabVideos": "Videos",
|
||||
"tabAbout": "About",
|
||||
"loadMore": "Load more from YouTube",
|
||||
"noDescription": "This channel has no description."
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue