mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-10 01:56:16 -08:00
fix(playback): keep the play button glyph above 3:1 on 1x displays
Electron E2E on Windows measured the hovered play icon at 2.5:1 against its fill (`player-theme.e2e.ts`, white-backing rasterization). White on the #4f8eff accent is only 3.2:1 in theory, and the hover scale(1.04) resampled the glyph, so a 1x display's antialiasing pushed it under 3:1. - Fills under a white glyph (play, active tune) use a deeper --pc-accent-blue-strong #3474e8 (4.4:1); hover darkens to #2a66d6 (5.3:1). The track fill and glow keep the #4f8eff accent. - The play button no longer scales on hover. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
fb62b14feb
commit
ce50866481
2 files changed
+17
-12
No files matched your search
@@ -335,9 +335,12 @@ app's `--app-selection-color` is a different blue that would fight the video.
|
||||
recording, picture-in-picture and fullscreen, end-aligned.
|
||||
- **Play button** (`.player-controls__play`, `data-test-id
|
||||
="player-controls-play"`): a 52px filled accent circle with a white glyph,
|
||||
not a Material icon button. Hover darkens the fill rather than lightening
|
||||
it so the glyph keeps ≥3:1 against it — `player-theme.e2e.ts` rasterizes
|
||||
exactly the hovered and focused states.
|
||||
not a Material icon button. Fills under a white glyph (play, active
|
||||
`tune`) use `--pc-accent-blue-strong` `#3474e8` (4.4:1) rather than the
|
||||
`#4f8eff` accent (3.2:1), and hover darkens to `#2a66d6` (5.3:1) without
|
||||
scaling — `player-theme.e2e.ts` rasterizes the hovered and focused
|
||||
states, and on a 1x Windows display the antialiased or resampled glyph
|
||||
measured below 3:1 against the lighter fills.
|
||||
- **Icon buttons** are 40px with a 12px radius (32px / 9px compact) through
|
||||
Material's `--mat-icon-button-*` tokens; their hover is a flat
|
||||
`rgba(255,255,255,.1)` layer.
|
||||
|
||||
@@ -5,7 +5,11 @@
|
||||
// tokens of the "Hybrid" controls concept (accent blue = primary action
|
||||
// and progress; cyan = something is on; violet = a value was changed).
|
||||
--pc-accent-blue: #4f8eff;
|
||||
--pc-accent-blue-hover: #3f7ef5;
|
||||
// Fills that carry a white glyph (play, active tune) use deeper blues:
|
||||
// white on #4f8eff is only 3.2:1, too close to the 3:1 floor once a
|
||||
// 1x display antialiases the glyph. These give 4.4:1 and 5.3:1.
|
||||
--pc-accent-blue-strong: #3474e8;
|
||||
--pc-accent-blue-hover: #2a66d6;
|
||||
--pc-accent-cyan: #5cd6ff;
|
||||
--pc-accent-violet: #b599ff;
|
||||
--pc-text: #e7ecf3;
|
||||
@@ -389,7 +393,7 @@
|
||||
:host :is(.player-controls__tune--active),
|
||||
:host :is(.player-controls__tune--active:hover) {
|
||||
color: #ffffff;
|
||||
background: var(--pc-accent-blue);
|
||||
background: var(--pc-accent-blue-strong);
|
||||
--mat-icon-button-icon-color: #ffffff;
|
||||
}
|
||||
|
||||
@@ -431,14 +435,12 @@
|
||||
border: 0;
|
||||
border-radius: 50%;
|
||||
color: #ffffff;
|
||||
background: var(--pc-accent-blue);
|
||||
background: var(--pc-accent-blue-strong);
|
||||
box-shadow:
|
||||
0 0 0 6px rgba(79, 142, 255, 0.18),
|
||||
0 6px 20px rgba(79, 142, 255, 0.35);
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background 120ms ease-out,
|
||||
transform 120ms ease-out;
|
||||
transition: background 120ms ease-out;
|
||||
}
|
||||
|
||||
.player-controls__play mat-icon {
|
||||
@@ -448,11 +450,11 @@
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
// Hover darkens rather than lightens: the white glyph keeps its contrast
|
||||
// against the fill (the theme E2E rasterizes exactly this state).
|
||||
// Hover darkens rather than lightens, and does not scale: the white glyph
|
||||
// keeps its contrast against the fill, and a scaled glyph is resampled and
|
||||
// blurred on 1x displays (the theme E2E rasterizes exactly this state).
|
||||
.player-controls__play:hover:not(:disabled) {
|
||||
background: var(--pc-accent-blue-hover);
|
||||
transform: scale(1.04);
|
||||
}
|
||||
|
||||
.player-controls__play:focus-visible {
|
||||
|
||||
Reference in new issue
Block a user