mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-08 17:06:15 -08:00
refactor(styles): extract .app-scrollbar utility, apply to channel lists
Move the always-visible themed scrollbar from epg-list into a global .app-scrollbar utility class in styles.scss. Apply it to the All channels and Groups view virtual-scroll viewports so the channel list gets the same persistent gutter and themed thumb as the EPG list. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: c470abf78379
This commit is contained in:
1 parent
465fdbfb80
commit
59beb324b4
5 files changed
+37
-32
No files matched your search
@@ -27,6 +27,40 @@
|
||||
|
||||
// ─── Shared Components ────────────────────────────────────────────────────────
|
||||
|
||||
// Always-visible themed scrollbar. Apply to scroll containers that should
|
||||
// reserve gutter and not rely on macOS overlay scrollbars (which auto-fade).
|
||||
.app-scrollbar {
|
||||
scrollbar-gutter: stable;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: color-mix(in srgb, var(--app-muted-color) 55%, transparent)
|
||||
transparent;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--app-muted-color) 55%,
|
||||
transparent
|
||||
);
|
||||
border-radius: 999px;
|
||||
border: 2px solid transparent;
|
||||
background-clip: content-box;
|
||||
|
||||
&:hover {
|
||||
background-color: var(--app-muted-color);
|
||||
background-clip: content-box;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
app-root.macos-platform .current-playlist {
|
||||
padding-top: 30px;
|
||||
}
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@
|
||||
} @else {
|
||||
<cdk-virtual-scroll-viewport
|
||||
[itemSize]="itemSize()"
|
||||
class="scroll-viewport"
|
||||
class="scroll-viewport app-scrollbar"
|
||||
>
|
||||
<app-channel-list-item
|
||||
*cdkVirtualFor="
|
||||
|
||||
+1
-1
@@ -206,7 +206,7 @@
|
||||
|
||||
<cdk-virtual-scroll-viewport
|
||||
[itemSize]="itemSize()"
|
||||
class="groups-channels-viewport"
|
||||
class="groups-channels-viewport app-scrollbar"
|
||||
>
|
||||
<app-channel-list-item
|
||||
*cdkVirtualFor="
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
@if (timeshiftLimit) {
|
||||
<!-- program list -->
|
||||
<div id="program-list" #programList>
|
||||
<div id="program-list" class="app-scrollbar" #programList>
|
||||
@if (items.length > 0) {
|
||||
@for (program of items; track $index) {
|
||||
@if (!canActivateProgram(program)) {
|
||||
|
||||
@@ -53,35 +53,6 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0;
|
||||
scrollbar-gutter: stable;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: color-mix(in srgb, var(--app-muted-color) 55%, transparent)
|
||||
transparent;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--app-muted-color) 55%,
|
||||
transparent
|
||||
);
|
||||
border-radius: 999px;
|
||||
border: 2px solid transparent;
|
||||
background-clip: content-box;
|
||||
|
||||
&:hover {
|
||||
background-color: var(--app-muted-color);
|
||||
background-clip: content-box;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.program-item {
|
||||
|
||||
Reference in new issue
Block a user