Compare commits

...

2 Commits

Author SHA1 Message Date
xRangerDE
c7d0bb7e30 release: 4.6.27 range slider repaint + number input cleanup
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 01:31:29 +02:00
xRangerDE
227c4bdf82 feat: range slider repaint + number input spinner cleanup
Two leftover form-control oddities from the audit.

Range sliders (used in the clip-cutter modal and any future
slider-group settings) had a stale orange thumb colour (#E5A00D) from
when the app was a different shade of Twitch. Reskinned to the
current purple family: track gets a subtle purple-to-dark gradient
that visually echoes the queue progress bar, thumb is a 16px purple
circle with a 2px white border and a soft shadow, hover scales the
thumb 1.15x and turns the shadow into a purple halo for the "I can
grab this" affordance. Focus-visible adds the same 3px purple ring
the rest of the form controls use, so keyboard tabbing through a
modal lands on a clearly-focused slider. Mirrored ::-moz-range-thumb
+ ::-webkit-slider-thumb so Firefox and Chromium-Electron look
identical.

Number inputs got the OS spinner stack hidden globally
(::-webkit-inner-spin-button / outer + -moz-appearance: textfield).
The default Webkit spinners are a tiny gray arrow pair that always
reads as "unfinished" and clutter the look. Users still get keyboard
arrow keys + wheel scroll. If a custom spinner pattern is needed
later it can come back as a chrome around the input — for now the
inputs read clean as text fields.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 01:31:29 +02:00
3 changed files with 66 additions and 8 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "twitch-vod-manager",
"version": "4.6.26",
"version": "4.6.27",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "twitch-vod-manager",
"version": "4.6.26",
"version": "4.6.27",
"license": "MIT",
"dependencies": {
"axios": "^1.6.0",

View File

@ -1,6 +1,6 @@
{
"name": "twitch-vod-manager",
"version": "4.6.26",
"version": "4.6.27",
"description": "Twitch VOD Manager - Download Twitch VODs easily",
"main": "dist/main.js",
"author": "xRangerDE",

View File

@ -2179,28 +2179,86 @@ body.theme-light .modal {
font-size: 13px;
}
/* ============================================
RANGE SLIDER Twitch-purple track + thumb
============================================
Track gets a subtle purple-tint behind a darker base so the slider
reads as part of the same family as the queue progress bar. Thumb
is a 16px purple circle with a hover halo. */
.slider-group input[type="range"],
.modal input[type="range"] {
width: 100%;
height: 6px;
-webkit-appearance: none;
background: #1a1a1a;
border-radius: 3px;
appearance: none;
background: linear-gradient(90deg, rgba(145, 70, 255, 0.18) 0%, rgba(20, 20, 24, 0.95) 100%);
border-radius: 999px;
outline: none;
cursor: pointer;
transition: box-shadow 0.18s;
}
.slider-group input[type="range"]:focus-visible,
.modal input[type="range"]:focus-visible {
box-shadow: 0 0 0 3px rgba(145, 70, 255, 0.22);
}
.slider-group input[type="range"]::-webkit-slider-thumb,
.modal input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 16px;
height: 16px;
background: #E5A00D;
background: var(--accent);
border: 2px solid #fff;
border-radius: 50%;
cursor: pointer;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
transition: transform 0.15s, box-shadow 0.15s;
}
.modal input[type="range"]::-webkit-slider-thumb:hover {
background: #ffb825;
.slider-group input[type="range"]::-moz-range-thumb,
.modal input[type="range"]::-moz-range-thumb {
width: 16px;
height: 16px;
background: var(--accent);
border: 2px solid #fff;
border-radius: 50%;
cursor: pointer;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
transition: transform 0.15s, box-shadow 0.15s;
}
.slider-group input[type="range"]:hover::-webkit-slider-thumb,
.modal input[type="range"]:hover::-webkit-slider-thumb {
background: var(--accent-hover);
transform: scale(1.15);
box-shadow: 0 3px 12px rgba(145, 70, 255, 0.55);
}
.slider-group input[type="range"]:hover::-moz-range-thumb,
.modal input[type="range"]:hover::-moz-range-thumb {
background: var(--accent-hover);
transform: scale(1.15);
box-shadow: 0 3px 12px rgba(145, 70, 255, 0.55);
}
/* ============================================
NUMBER INPUT hide OS spinners, rely on keyboard / scroll
============================================
The default Webkit spinners are a tiny gray arrow stack that always
reads as "unfinished input field" no matter the theme. Hidden across
all number inputs; users type or use arrow keys. Spinner-on-hover
pattern could come back as a custom thing later if needed. */
input[type="number"] {
-moz-appearance: textfield;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none;
appearance: none;
margin: 0;
}
.clip-time-display {