mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-14 21:26:15 -08:00
The loading placeholders for live channel rows were inconsistent and visibly heavier than the real channel-list-item: each module rendered its own skeleton with a colored card surface, larger padding/radius, mismatched logo border-radius, and only a single tiny right-side dot instead of the real 34×34 action buttons. Stalker had no initial-load skeleton at all. Extract a shared app-channel-list-item-skeleton that mirrors channel-list-item 1:1 (transparent surface, 8/10/8/12 padding, 12px radius, 44×44 logo with 10px radius, optional EPG progress placeholder, 0–3 button placeholders) plus a thin app-channel-list-skeleton wrapper that renders N rows with deterministic width variance, and route every live-tv loading state through it (m3u channel-list-loading-state, xtream portal-channels-list, stalker live-stream-layout via a derived isInitialChannelsLoading signal, and the unified favorites/recent collection page). Drops the bespoke channel-skeleton-shimmer keyframes in favor of the shared skeleton-shimmer animation. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: 58a2d50756dd
14 lines
970 B
TypeScript
14 lines
970 B
TypeScript
export * from './lib/channel-list-container/channel-list-container.component';
|
|
export * from './lib/channel-list-container/channel-list-item/channel-list-item.component';
|
|
export * from './lib/channel-list-container/channel-list-item-skeleton/channel-list-item-skeleton.component';
|
|
export * from './lib/channel-list-container/channel-list-skeleton/channel-list-skeleton.component';
|
|
export * from './lib/channel-list-loading-state/channel-list-loading-state.component';
|
|
export * from './lib/confirm-dialog/confirm-dialog.component';
|
|
export * from './lib/confirm-dialog/dialog.service';
|
|
export * from './lib/content-hero/content-hero.component';
|
|
export * from './lib/external-playback-dock/external-playback-dock.component';
|
|
export * from './lib/progress-capsule/progress-capsule.component';
|
|
export * from './lib/resizable/resizable.directive';
|
|
export * from './lib/season-container/season-container.component';
|
|
export * from './lib/watched-badge/watched-badge.component';
|