Enhance slideshow responsiveness by adjusting dot display for small screens
This commit is contained in:
@@ -749,6 +749,14 @@
|
|||||||
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dot {
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dot.active {
|
.dot.active {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
* Jellyfin Slideshow by M0RPH3US v4.0.1
|
* Jellyfin Slideshow by M0RPH3US v4.0.1
|
||||||
* Modified by CodeDevMLH
|
* Modified by CodeDevMLH
|
||||||
*
|
*
|
||||||
@@ -2363,8 +2363,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";
|
||||||
|
|||||||
Reference in New Issue
Block a user