Compare commits

..

No commits in common. "ad8f32f8b81e7844a802cc5bcf9ba6c769381c0b" and "539b1c13a0b51e5bfb6b28239612d3f2dc35d5b9" have entirely different histories.

5 changed files with 10 additions and 15 deletions

4
package-lock.json generated
View File

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

View File

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

View File

@ -260,7 +260,7 @@
<div class="content"> <div class="content">
<!-- VODs Tab --> <!-- VODs Tab -->
<div class="tab-content active" id="vodsTab"> <div class="tab-content active" id="vodsTab">
<div id="streamerProfileHeader" class="streamer-profile-header is-hidden"></div> <div id="streamerProfileHeader" class="streamer-profile-header" style="display:none;"></div>
<div class="vod-filter-row"> <div class="vod-filter-row">
<input type="text" id="vodFilterInput" class="filter-input" placeholder="Filter VODs..." oninput="onVodFilterInput()"> <input type="text" id="vodFilterInput" class="filter-input" placeholder="Filter VODs..." oninput="onVodFilterInput()">
<button type="button" id="vodFilterClearBtn" class="btn-close is-hidden" onclick="clearVodFilter()" title="Clear filter">x</button> <button type="button" id="vodFilterClearBtn" class="btn-close is-hidden" onclick="clearVodFilter()" title="Clear filter">x</button>

View File

@ -30,15 +30,16 @@ function formatLastStreamAgo(iso: string | null): string {
function hideStreamerProfileHeader(): void { function hideStreamerProfileHeader(): void {
const el = document.getElementById('streamerProfileHeader'); const el = document.getElementById('streamerProfileHeader');
if (!el) return; if (!el) return;
el.classList.add('is-hidden'); el.style.display = 'none';
applyHtml(el, ''); applyHtml(el, '');
} }
function renderStreamerProfileSkeleton(login: string): void { function renderStreamerProfileSkeleton(login: string): void {
const el = document.getElementById('streamerProfileHeader'); const el = document.getElementById('streamerProfileHeader');
if (!el) return; if (!el) return;
el.classList.remove('is-live', 'is-hidden'); el.classList.remove('is-live');
el.classList.add('streamer-profile-skeleton'); el.classList.add('streamer-profile-skeleton');
el.style.display = 'flex';
applyHtml(el, ` applyHtml(el, `
<div class="streamer-profile-skel-block avatar"></div> <div class="streamer-profile-skel-block avatar"></div>
<div class="streamer-profile-body"> <div class="streamer-profile-body">
@ -59,8 +60,9 @@ function renderStreamerProfileSkeleton(login: string): void {
function renderStreamerProfileCard(p: StreamerProfile): void { function renderStreamerProfileCard(p: StreamerProfile): void {
const el = document.getElementById('streamerProfileHeader'); const el = document.getElementById('streamerProfileHeader');
if (!el) return; if (!el) return;
el.classList.remove('streamer-profile-skeleton', 'is-hidden'); el.classList.remove('streamer-profile-skeleton');
if (p.isLive) el.classList.add('is-live'); else el.classList.remove('is-live'); if (p.isLive) el.classList.add('is-live'); else el.classList.remove('is-live');
el.style.display = 'block';
const safeLogin = p.login.replace(/'/g, "\\'"); const safeLogin = p.login.replace(/'/g, "\\'");
const safeUrl = p.twitchUrl.replace(/'/g, "\\'"); const safeUrl = p.twitchUrl.replace(/'/g, "\\'");

View File

@ -4257,14 +4257,7 @@ input[type="number"]::-webkit-outer-spin-button {
box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85), 0 0 0 4px rgba(145, 70, 255, 0.55); box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85), 0 0 0 4px rgba(145, 70, 255, 0.55);
} }
/* Skeleton loading state switches the profile-header from its /* Skeleton loading state */
regular block layout to a flex row so the avatar + body sit
side-by-side. The element itself was previously flipped via inline
.style.display='flex' in renderStreamerProfileSkeleton(). */
.streamer-profile-skeleton {
display: flex;
}
.streamer-profile-skeleton .streamer-profile-skel-block { .streamer-profile-skeleton .streamer-profile-skel-block {
background: linear-gradient(90deg, var(--bg-elevated) 0%, rgba(255,255,255,0.06) 50%, var(--bg-elevated) 100%); background: linear-gradient(90deg, var(--bg-elevated) 0%, rgba(255,255,255,0.06) 50%, var(--bg-elevated) 100%);
background-size: 200% 100%; background-size: 200% 100%;