Compare commits

..

10 Commits

Author SHA1 Message Date
CodeDevMLH
c30300d1ba Update manifest.json for release v1.8.1.2 [skip ci] 2026-03-23 17:35:37 +00:00
CodeDevMLH
387f0dd26f Bump version to 1.8.1.2
All checks were successful
Auto Release Plugin / build-and-release (push) Successful in 46s
2026-03-23 18:34:50 +01:00
CodeDevMLH
71d9cddebb Add failsafe to remove loading screen after 15 seconds to prevent infinite lockouts 2026-03-23 18:34:33 +01:00
CodeDevMLH
9abcdf522d Fix slides container initialization to create a dummy element if not present 2026-03-23 18:26:18 +01:00
CodeDevMLH
8c703ce171 Update manifest.json for release v1.8.1.1 [skip ci] 2026-03-23 16:42:42 +00:00
CodeDevMLH
a40ee4a40d Bump version to 1.8.1.1 and update changelog for mobile pagination fix
All checks were successful
Auto Release Plugin / build-and-release (push) Successful in 46s
2026-03-23 17:41:55 +01:00
CodeDevMLH
d7e9238e21 Add padding to the slides container for improved layout 2026-03-23 17:41:40 +01:00
CodeDevMLH
a296caf70d Update manifest.json for release v1.8.1.0 [skip ci] 2026-03-23 16:28:17 +00:00
CodeDevMLH
86e9968243 bump version 1.8.1.0
All checks were successful
Auto Release Plugin / build-and-release (push) Successful in 55s
2026-03-23 17:27:08 +01:00
CodeDevMLH
e9fe356cee Enhance slideshow responsiveness by adjusting dot display for small screens 2026-03-23 17:25:48 +01:00
4 changed files with 48 additions and 5 deletions

View File

@@ -12,7 +12,7 @@
<!-- <TreatWarningsAsErrors>false</TreatWarningsAsErrors> --> <!-- <TreatWarningsAsErrors>false</TreatWarningsAsErrors> -->
<Title>Jellyfin Media Bar Enhanced Plugin</Title> <Title>Jellyfin Media Bar Enhanced Plugin</Title>
<Authors>CodeDevMLH</Authors> <Authors>CodeDevMLH</Authors>
<Version>1.8.0.0</Version> <Version>1.8.1.2</Version>
<RepositoryUrl>https://github.com/CodeDevMLH/jellyfin-plugin-media-bar-enhanced</RepositoryUrl> <RepositoryUrl>https://github.com/CodeDevMLH/jellyfin-plugin-media-bar-enhanced</RepositoryUrl>
</PropertyGroup> </PropertyGroup>

View File

@@ -749,6 +749,15 @@
left: 50%; left: 50%;
transform: translateX(-50%) scale(0.8); transform: translateX(-50%) scale(0.8);
background-color: #ffffff00; background-color: #ffffff00;
width: max-content;
max-width: 90vw;
flex-wrap: nowrap;
overflow: hidden;
padding: 10px 0;
}
.dot {
flex-shrink: 0;
} }
.dot.active { .dot.active {

View File

@@ -1,4 +1,4 @@
/* /*
* Jellyfin Slideshow by M0RPH3US v4.0.1 * Jellyfin Slideshow by M0RPH3US v4.0.1
* Modified by CodeDevMLH * Modified by CodeDevMLH
* *
@@ -340,6 +340,15 @@ const initLoadingScreen = () => {
}); });
}); });
}; };
// Global Failsafe, force remove loading screen after 15 seconds to prevent infinite lockouts
setTimeout(() => {
const loader = document.querySelector(".bar-loading");
if (loader) {
console.warn("🎬 Media Bar:", "Loading screen timed out! Forcing removal as a failsafe.");
finishLoading();
}
}, 15000);
}; };
/** /**
@@ -2363,8 +2372,17 @@ const SlideshowManager = {
const totalItems = STATE.slideshow.totalItems || 0; const totalItems = STATE.slideshow.totalItems || 0;
// dynamically lower the max dots threshold on small screens
let effectiveMaxDots = CONFIG.maxPaginationDots;
if (window.matchMedia("(max-width: 767px) and (orientation: portrait)").matches) {
const availableWidth = window.innerWidth * 0.9;
const dotWidth = 18; // approximate width per dot
const fittingDots = Math.floor(availableWidth / dotWidth) - 1;
effectiveMaxDots = Math.min(effectiveMaxDots, fittingDots);
}
// Switch to counter style if too many items // Switch to counter style if too many items
if (totalItems > CONFIG.maxPaginationDots) { if (totalItems > effectiveMaxDots) {
const counter = document.createElement("span"); const counter = document.createElement("span");
counter.className = "slide-counter"; counter.className = "slide-counter";
counter.id = "slide-counter"; counter.id = "slide-counter";
@@ -3892,8 +3910,16 @@ const slidesInit = async () => {
homeSections.style.top = '0'; homeSections.style.top = '0';
homeSections.style.marginTop = '0'; homeSections.style.marginTop = '0';
} }
const container = document.getElementById('slides-container'); let container = document.getElementById('slides-container');
if (container) container.style.display = 'none'; if (container) {
container.style.display = 'none';
} else {
// Create dummy container so loading screen's interval can trigger its own cleanup
container = document.createElement('div');
container.id = 'slides-container';
container.style.display = 'none';
document.body.appendChild(container);
}
return; return;
} }

View File

@@ -8,6 +8,14 @@
"category": "General", "category": "General",
"imageUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/raw/branch/main/logo.png", "imageUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/raw/branch/main/logo.png",
"versions": [ "versions": [
{
"version": "1.8.1.2",
"changelog": "fix pagination dot issue on mobile when showing more than 10 dots (should now dynamically adjust the max dots threshold based on screen size)",
"targetAbi": "10.11.0.0",
"sourceUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/releases/download/v1.8.1.2/Jellyfin.Plugin.MediaBarEnhanced.zip",
"checksum": "5ca1f5b5ad5dd20d521533b815aec656",
"timestamp": "2026-03-23T17:35:37Z"
},
{ {
"version": "1.8.0.0", "version": "1.8.0.0",
"changelog": "feat: add custom text/image overlay option\n- feat: add option to disable pagination dots/counter\n- feat: add exclude seasonal content from random fetching option\n- Add hide arrows on mobile option \n- fix button issue on mobile when using ElegantFin Theme", "changelog": "feat: add custom text/image overlay option\n- feat: add option to disable pagination dots/counter\n- feat: add exclude seasonal content from random fetching option\n- Add hide arrows on mobile option \n- fix button issue on mobile when using ElegantFin Theme",