mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-15 05:36:17 -08:00
One app-source-row (regular for the Sources page, compact for the playlist switcher) with an app-source-tile, built on pure helpers: - resolvePlaylistSourceKind: one provider rule for icons, filters and counts (the list filter and the panel counts used to disagree). - sourceDisplayName / sourceDisplayUrl: a name or URL never shows a password, token or MAC. URL imports that stored "get.php?username=…&password=…" as the title now show the host. - stripUrlCredentials (shared/logging): drops what the log redactor would mask, plus short user/pass keys. - formatSourceDate / sourceMetaParts / sourceStatusTag: one meta line order and Intl dates and durations in the UI language. - SourceStatusService + SourceHealthHistoryService: one status per source (desktop health check, browser Xtream portal status) and the last conclusive result kept across restarts, so "not responding for 3 days" survives a relaunch. No URL or credential is stored. Also fixes playlistNameHasCredentials answering differently on repeated calls (global regex lastIndex), and adds the UI-kit button, menu and segmented-control mixins (libs/ui/styles/_app-controls.scss); menus opt in with class="app-menu", styled by the components that use them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
17 lines
572 B
SCSS
17 lines
572 B
SCSS
// Canonical forwarding inventory for shared IPTVnator UI styles.
|
|
// The workspace has no global Sass include path for this directory; production
|
|
// consumers use a relative path to the partial they need, for example:
|
|
//
|
|
// @use '../../../../../../ui/styles/portal-layout' as portal;
|
|
|
|
@forward 'portal-layout';
|
|
@forward 'content-grid';
|
|
@forward 'portal-sidebar';
|
|
@forward 'panel-header';
|
|
@forward 'detail-view';
|
|
@forward 'detail-view-actions';
|
|
@forward 'nav-list';
|
|
@forward 'focus-ring';
|
|
@forward 'app-controls' as controls-*;
|
|
@forward 'skeleton-shimmer' as skeleton-*;
|