siftlode/frontend/src/i18n/locales/en
npeter83 cc1e670202 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.
2026-06-30 03:08:52 +02:00
..
about.json feat(i18n): translate login and app chrome (HU/EN/DE) 2026-06-15 00:30:34 +02:00
card.json feat(tags): tag UX overhaul + per-card video reset 2026-06-18 01:17:31 +02:00
channel.json feat(channels): dedicated channel page + ephemeral explore UI 2026-06-30 03:08:52 +02:00
channels.json fix(notifications): name the entity in action toasts 2026-06-26 00:32:17 +02:00
common.json fix(inbox): access-requests nudge points to Users + a jump link, no pile-up 2026-06-19 16:10:08 +02:00
config.json feat(channels): dedicated channel page + ephemeral explore UI 2026-06-30 03:08:52 +02:00
datatable.json feat(ui): reusable DataTable component 2026-06-17 19:16:23 +02:00
errors.json fix(web): make the 'connection lost' notice self-resolving 2026-06-18 23:17:32 +02:00
feed.json feat(feed): Source filter in Mine, Relevance sort, auto search-source 2026-06-30 00:39:21 +02:00
header.json feat(search): live YouTube search UI 2026-06-29 02:01:44 +02:00
inbox.json feat(messages): E2EE real-time messaging UI + system welcome 2026-06-25 22:05:35 +02:00
login.json feat(i18n): translate login and app chrome (HU/EN/DE) 2026-06-15 00:30:34 +02:00
messages.json feat(messages): standalone Messages module + floating chat dock 2026-06-25 22:34:24 +02:00
nav.json feat(nav): N1 — collapsible left nav sidebar (Design C) 2026-06-16 00:42:23 +02:00
notifications.json refactor(i18n,format): translate ETA strings; consolidate time/duration formatters 2026-06-29 00:22:21 +02:00
onboarding.json feat(i18n): translate remaining components (HU/EN/DE) 2026-06-15 00:47:04 +02:00
player.json feat(player): keyboard + scroll-wheel controls in the video modal 2026-06-29 23:37:18 +02:00
playlists.json fix(notifications): name the entity in action toasts 2026-06-26 00:32:17 +02:00
quotaActions.json feat(channels): dedicated channel page + ephemeral explore UI 2026-06-30 03:08:52 +02:00
scheduler.json feat(channels): dedicated channel page + ephemeral explore UI 2026-06-30 03:08:52 +02:00
settings.json fix(notifications): name the entity in action toasts 2026-06-26 00:32:17 +02:00
setup.json feat(setup): install-wizard UI (epic 6c) 2026-06-21 01:11:16 +02:00
sidebar.json feat(tags): tag UX overhaul + per-card video reset 2026-06-18 01:17:31 +02:00
stats.json feat(stats): consolidate per-user sync status into the Stats page 2026-06-19 11:48:20 +02:00
tagManager.json fix(notifications): name the entity in action toasts 2026-06-26 00:32:17 +02:00
time.json refactor(i18n,format): translate ETA strings; consolidate time/duration formatters 2026-06-29 00:22:21 +02:00
users.json feat(admin): user management — roles, suspend, delete + lifecycle emails 2026-06-19 19:52:12 +02:00
welcome.json feat(welcome): landing lightbox, prod-served screenshots & session-end UX 2026-06-19 19:52:29 +02:00