mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-08 17:06:15 -08:00
* feat(xtream): show a catch-up badge on live channels that have archive Live channels whose provider declares playable catch-up (tv_archive=1 with a positive tv_archive_duration) now show a small history badge in the channel sidebar next to the name and on the all-channels grid cards, with the archive window (days) in the tooltip. Closes #1128 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(xtream): expose the catch-up badge status to assistive technology The mat-icon is aria-hidden and the tooltip is pointer-only, so the badge status was invisible to keyboard and screen-reader users. Both badge surfaces now also render the translated status as visually-hidden text (Codex review, P2). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * feat(xtream): show the catch-up badge in favorites and recent lists Carries tvArchive/tvArchiveDuration through UnifiedFavoriteChannel so the shared favorites list (portal favorites/recent tabs and global favorites) renders the same catch-up badge as the live sidebar. Requested in PR feedback by the issue author. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * feat(ui): show the programme-info button in portal sidebars, stacked vertically Adds the (i) programme-info button to the Xtream and Stalker live sidebars and reworks the row action column: buttons stack vertically (favorite on top, info below), so the second button costs no horizontal space — the column is actually narrower than the previous single-button row. The info slot is reserved (inert, visibility:hidden) while the row has no programme, so the star never shifts when EPG data arrives. Requested by the issue author in PR feedback. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * test(ui): move the archive passthrough spec out of the budget-capped file CI lints the merge with master, where unified-live-tab.component.spec.ts grew (#1374) to one line under the 1200 max-lines test budget — the archive passthrough test added here tipped the merged result over. The test moves to a focused template-less spec (plus a null-normalisation case), leaving the main spec at master's size. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ui): constrain Material touch targets to the stacked button bounds mat-icon-button keeps a 48px touch target; stacked 28px buttons overlapped by 20px and the later sibling (programme info) stole clicks from the lower third of the favorite star. Verified via document.elementFromPoint before/after: the star's visual bounds now hit the star, and clicks left of the column reach the row again instead of the button's oversized target (Codex review). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
34 lines
1.5 KiB
TypeScript
34 lines
1.5 KiB
TypeScript
export * from './lib/logger';
|
|
export * from './lib/category-sort';
|
|
export * from './lib/channel-sort';
|
|
export * from './lib/favorites-channel-sort';
|
|
export * from './lib/portal-catalog-detail';
|
|
export * from './lib/portal-catalog-facade';
|
|
export * from './lib/portal-external-playback';
|
|
export * from './lib/portal-player';
|
|
export * from './lib/portal-playback-positions';
|
|
export * from './lib/series-quick-start';
|
|
export * from './lib/portal-shell-actions';
|
|
export * from './lib/portal-collection-context';
|
|
export * from './lib/portal-collection-context.service';
|
|
export * from './lib/portal-collection-items';
|
|
export * from './lib/live-epg-panel-state';
|
|
export * from './lib/live-sidebar-state';
|
|
export * from './lib/live-layout-sidebar-state.service';
|
|
export * from './lib/keyboard';
|
|
export * from './lib/keyboard-shortcuts';
|
|
export * from './lib/remote-channel-navigation';
|
|
export * from './lib/workspace-header-context.service';
|
|
export * from './lib/workspace-view-command.types';
|
|
export * from './lib/workspace-view-command.service';
|
|
export * from './lib/navigation/portal-rail-links';
|
|
export * from './lib/navigation/provider-detail-mode';
|
|
export * from './lib/navigation/portal-route.utils';
|
|
export * from './lib/navigation/workspace-portal-navigation';
|
|
export * from './lib/collection';
|
|
export * from './lib/xtream-catchup.util';
|
|
export * from './lib/external-playback-button-state';
|
|
export * from './lib/inline-playback-position-writer';
|
|
export * from './lib/downloads/download-metadata-snapshot';
|
|
export * from './lib/downloads/episode-download-identity';
|