Files
iptvnator/libs/portal
4grayandClaude Opus 5.5 a76fb70965 style(ui): one segmented control for toggles, season tabs and the switcher (#1954)
* style(ui): one segmented control for toggles, season tabs and the switcher

The favorites and recent content and scope toggles, the episode list/grid
switch and the season tabs (up to four seasons) become the kit's segmented
control, the one the playlist switcher's type filter already used: a
1px-bordered track with 2px padding, 8px segments, no dividers, the chosen
segment filled. In a header row the control is 32px tall like a small
button. The season tabs keep their tab semantics: `segmented-track` and
`segment` build the look from plain buttons, and only the track is the tab
list, so "Back to playing" no longer sits inside it.

The `segmented-control` mixin's label padding and check rules never matched:
Material renders those elements without the including component's
encapsulation attribute. They now go through `::ng-deep` inside the mixin,
which also takes an icon size and a fixed segment width for icon-only
segments. Unchosen labels move from the muted colour (about 2.9:1 on the
track) to the body colour.

The language filter in the VOD sources popover is no longer a native
select: a filter chip with the kit's chevron opens a radio menu. Escape
closes only that menu. A new PORTALS.MULTI_SOURCE.LANGUAGE key names it,
translated in every locale.

Docs: segmented control rule in the UI guidelines; stale season-picker
facts (six seasons, dropdown thumbnails) corrected against the code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(ui): wrap a squeezed segmented control instead of clipping it

The season tabs used to wrap pill by pill; inside the new track four
translated season names overflowed the fullscreen episode panel, which
clips, and the last tab was cut off. `segmented-track` now keeps the
control within its container and wraps the segments inside the track,
for the Material toggle groups as well. The E2E squeezes a season track
and the scope toggle and checks that no segment leaves its frame, and it
now closes its playlist server.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 08:53:53 +02:00
..