Compare commits
2 Commits
e56bac2c2b
...
4489319d70
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4489319d70 | ||
|
|
69b83c9d22 |
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "twitch-vod-manager",
|
||||
"version": "4.6.75",
|
||||
"version": "4.6.76",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "twitch-vod-manager",
|
||||
"version": "4.6.75",
|
||||
"version": "4.6.76",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"axios": "^1.6.0",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "twitch-vod-manager",
|
||||
"version": "4.6.75",
|
||||
"version": "4.6.76",
|
||||
"description": "Twitch VOD Manager - Download Twitch VODs easily",
|
||||
"main": "dist/main.js",
|
||||
"author": "xRangerDE",
|
||||
|
||||
@ -363,6 +363,7 @@ const UI_TEXT_DE = {
|
||||
updateProgressAria: 'Update-Download-Fortschritt'
|
||||
},
|
||||
vods: {
|
||||
selectAriaLabel: 'VOD fuer Bulk-Aktion auswaehlen',
|
||||
noneTitle: 'Keine VODs',
|
||||
noneText: 'Wahle einen Streamer aus der Liste.',
|
||||
loading: 'Lade VODs...',
|
||||
|
||||
@ -363,6 +363,7 @@ const UI_TEXT_EN = {
|
||||
updateProgressAria: 'Update download progress'
|
||||
},
|
||||
vods: {
|
||||
selectAriaLabel: 'Select VOD for bulk action',
|
||||
noneTitle: 'No VODs',
|
||||
noneText: 'Select a streamer from the list.',
|
||||
loading: 'Loading VODs...',
|
||||
|
||||
@ -257,7 +257,7 @@ function buildVodCardHtml(vod: VOD, streamer: string, downloadedIds?: Set<string
|
||||
data-vod-date="${safeDateAttr}"
|
||||
data-vod-streamer="${safeStreamerAttr}"
|
||||
data-vod-duration="${safeDurationAttr}">
|
||||
<input type="checkbox" class="vod-select-checkbox" data-vod-url="${safeUrlAttr}" ${isChecked ? 'checked' : ''} title="${escapeHtml(UI_TEXT.vods.bulkSelectedCount.replace('{count}', '0').replace(/[0-9]/g, '').trim() || 'Select')}" style="position:absolute; top:8px; left:8px; width:18px; height:18px; accent-color:#9146FF; cursor:pointer; z-index:2;">
|
||||
<input type="checkbox" class="vod-select-checkbox" data-vod-url="${safeUrlAttr}" ${isChecked ? 'checked' : ''} aria-label="${escapeHtml(UI_TEXT.vods.selectAriaLabel)}">
|
||||
${downloadedBadge}
|
||||
<div class="vod-thumb-wrap">
|
||||
<img class="vod-thumbnail" loading="lazy" decoding="async" src="${thumb}" alt="" title="${escapeHtml(UI_TEXT.vods.openOnTwitch)}" onerror="this.src='data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 320 180%22><rect fill=%22%23333%22 width=%22320%22 height=%22180%22/></svg>'">
|
||||
|
||||
@ -1318,6 +1318,19 @@ select option {
|
||||
box-shadow: 0 0 0 3px rgba(145, 70, 255, 0.35);
|
||||
}
|
||||
|
||||
/* The bulk-select checkbox overlaid on each VOD thumbnail top-left.
|
||||
Positioned absolutely so it sits over the artwork without affecting
|
||||
the cards flex/info layout. */
|
||||
.vod-select-checkbox {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 8px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
cursor: pointer;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.vod-card.selected {
|
||||
box-shadow: 0 0 0 2px #9146FF, 0 8px 25px rgba(145, 70, 255, 0.25);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user