Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
faabf13870 | ||
|
|
3e584fa419 | ||
|
|
13889c3c68 | ||
|
|
7af9eb5004 | ||
|
|
1e57d8acef | ||
|
|
5964d2cb34 | ||
|
|
6f3fd23879 | ||
|
|
47949e9820 | ||
|
|
5fe8da8347 | ||
|
|
a8842f8415 | ||
|
|
3ecaf5fae6 | ||
|
|
9d13d61e77 |
@@ -52,9 +52,9 @@
|
|||||||
<label>
|
<label>
|
||||||
<input is="emby-checkbox" type="checkbox" id="EnableVideoBackdrop"
|
<input is="emby-checkbox" type="checkbox" id="EnableVideoBackdrop"
|
||||||
name="EnableVideoBackdrop" />
|
name="EnableVideoBackdrop" />
|
||||||
<span>Enable Video Backdrops</span>
|
<span>Enable Trailer Backdrops</span>
|
||||||
</label>
|
</label>
|
||||||
<div class="fieldDescription">Show video trailers as background if available.<br>Adds a
|
<div class="fieldDescription">Show trailers as background if available.<br>Adds a
|
||||||
mute/unmute and pause/play button to control the video in the right top corner.</div>
|
mute/unmute and pause/play button to control the video in the right top corner.</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="checkboxContainer checkboxContainer-withDescription">
|
<div class="checkboxContainer checkboxContainer-withDescription">
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
<label>
|
<label>
|
||||||
<input is="emby-checkbox" type="checkbox" id="EnableMobileVideo"
|
<input is="emby-checkbox" type="checkbox" id="EnableMobileVideo"
|
||||||
name="EnableMobileVideo" />
|
name="EnableMobileVideo" />
|
||||||
<span>Enable Mobile Video</span>
|
<span>Enable Trailer On Mobile</span>
|
||||||
</label>
|
</label>
|
||||||
<div class="fieldDescription">Allow video playback on mobile devices.</div>
|
<div class="fieldDescription">Allow video playback on mobile devices.</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
<span>Show Trailer Button</span>
|
<span>Show Trailer Button</span>
|
||||||
</label>
|
</label>
|
||||||
<div class="fieldDescription">Display a button to open trailer in modal. Only visible if
|
<div class="fieldDescription">Display a button to open trailer in modal. Only visible if
|
||||||
trailer is not set as backdrop.</div>
|
trailer is not set as backdrop or if no trailer is available.</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -153,8 +153,17 @@
|
|||||||
name="SlideAnimationEnabled" />
|
name="SlideAnimationEnabled" />
|
||||||
<span>Enable Slide Animations</span>
|
<span>Enable Slide Animations</span>
|
||||||
</label>
|
</label>
|
||||||
<div class="fieldDescription">Enable the zooming-in effect when a new slide is
|
<div class="fieldDescription">Enable the zooming-in effect on background images when a new slide is
|
||||||
shown. Attention: This may cause performance issues on weaker client hardware.</div>
|
shown (does not affect trailer backdrops). Attention: This may cause performance issues on weaker client hardware.</div>
|
||||||
|
</div>
|
||||||
|
<div class="checkboxContainer checkboxContainer-withDescription">
|
||||||
|
<label>
|
||||||
|
<input is="emby-checkbox" type="checkbox" id="EnableClientSideSettings"
|
||||||
|
name="EnableClientSideSettings" />
|
||||||
|
<span>Enable Client-Side Settings</span>
|
||||||
|
</label>
|
||||||
|
<div class="fieldDescription">If enabled, users will see a media bar icon in the header to
|
||||||
|
override settings (like disabling the bar or trailer backdrops) locally on their device.</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="checkboxContainer checkboxContainer-withDescription">
|
<div class="checkboxContainer checkboxContainer-withDescription">
|
||||||
<label>
|
<label>
|
||||||
@@ -221,15 +230,6 @@
|
|||||||
Space (pause), M (mute/unmute)) for
|
Space (pause), M (mute/unmute)) for
|
||||||
the slideshow.</div>
|
the slideshow.</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="checkboxContainer checkboxContainer-withDescription">
|
|
||||||
<label>
|
|
||||||
<input is="emby-checkbox" type="checkbox" id="EnableClientSideSettings"
|
|
||||||
name="EnableClientSideSettings" />
|
|
||||||
<span>Enable Client-Side Settings</span>
|
|
||||||
</label>
|
|
||||||
<div class="fieldDescription">If enabled, users will see a media bar icon in the header to
|
|
||||||
override settings (like disabling the bar or video backdrops) locally on their device.</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h2 class="sectionTitle">Time Settings</h2>
|
<h2 class="sectionTitle">Time Settings</h2>
|
||||||
<p>Leave a setting blank to use the default value.</p>
|
<p>Leave a setting blank to use the default value.</p>
|
||||||
|
|||||||
@@ -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.4.0.7</Version>
|
<Version>1.4.0.11</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>
|
||||||
|
|
||||||
|
|||||||
@@ -3026,12 +3026,12 @@ const MediaBarEnhancedSettingsManager = {
|
|||||||
popup.style.top = `${rect.bottom + 10}px`;
|
popup.style.top = `${rect.bottom + 10}px`;
|
||||||
|
|
||||||
const settings = [
|
const settings = [
|
||||||
{ key: 'enabled', label: 'Enable Media Bar', description: 'Toggle the entire media bar visibility.', default: true },
|
{ key: 'enabled', label: 'Enable Media Bar Enhanced', description: 'Toggle the entire media bar visibility.', default: true },
|
||||||
{ key: 'videoBackdrops', label: 'Enable Video Backdrops', description: 'Play trailers as background videos.', default: CONFIG.enableVideoBackdrop },
|
{ key: 'videoBackdrops', label: 'Enable Trailer Backdrops', description: 'Play trailers as background videos.', default: CONFIG.enableVideoBackdrop },
|
||||||
{ key: 'trailerButton', label: 'Show Trailer Button', description: 'Show button to play trailers in popup on non Video backdrops.', default: CONFIG.showTrailerButton },
|
{ key: 'trailerButton', label: 'Show Trailer Button', description: 'Show button to play trailer in popup (only backdrops without trailer)', default: CONFIG.showTrailerButton },
|
||||||
{ key: 'mobileVideo', label: 'Enable Mobile Video', description: 'Allow video backdrops on mobile devices.', default: CONFIG.enableMobileVideo },
|
{ key: 'mobileVideo', label: 'Enable Trailer On Mobile', description: 'Allow trailer backdrops on mobile devices.', default: CONFIG.enableMobileVideo },
|
||||||
{ key: 'waitForTrailer', label: 'Wait For Trailer To End', description: 'Wait for the trailer to finish before changing slides.', default: CONFIG.waitForTrailerToEnd },
|
{ key: 'waitForTrailer', label: 'Wait For Trailer To End', description: 'Wait for the trailer to finish before changing slides.', default: CONFIG.waitForTrailerToEnd },
|
||||||
{ key: 'slideAnimations', label: 'Enable Animations', description: 'Enable transition animations between slides.', default: CONFIG.slideAnimationEnabled },
|
{ key: 'slideAnimations', label: 'Enable Animations', description: 'Enable zooming-in effect (only on background images)', default: CONFIG.slideAnimationEnabled },
|
||||||
];
|
];
|
||||||
|
|
||||||
let html = '<h3 style="margin-top:0; margin-bottom:1em; border-bottom:1px solid #444; padding-bottom:0.5em;">Media Bar Settings</h3>';
|
let html = '<h3 style="margin-top:0; margin-bottom:1em; border-bottom:1px solid #444; padding-bottom:0.5em;">Media Bar Settings</h3>';
|
||||||
@@ -3049,9 +3049,12 @@ const MediaBarEnhancedSettingsManager = {
|
|||||||
`;
|
`;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Reload button
|
// Buttons Container
|
||||||
html += `
|
html += `
|
||||||
<div style="margin-top:1em; text-align:right;">
|
<div style="margin-top:1em; display:flex; justify-content:flex-end; align-items:center; gap:2em;">
|
||||||
|
<button is="emby-button" type="button" class="raised button-cancel emby-button" id="mb-settings-reset" title="Reset to Server Defaults">
|
||||||
|
<span>Server Defaults</span>
|
||||||
|
</button>
|
||||||
<button is="emby-button" type="button" class="raised button-submit emby-button" id="mb-settings-save">
|
<button is="emby-button" type="button" class="raised button-submit emby-button" id="mb-settings-save">
|
||||||
<span>Reload</span>
|
<span>Reload</span>
|
||||||
</button>
|
</button>
|
||||||
@@ -3068,10 +3071,23 @@ const MediaBarEnhancedSettingsManager = {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Reload Handler
|
||||||
popup.querySelector('#mb-settings-save').addEventListener('click', () => {
|
popup.querySelector('#mb-settings-save').addEventListener('click', () => {
|
||||||
location.reload();
|
location.reload();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Reset Handler
|
||||||
|
popup.querySelector('#mb-settings-reset').addEventListener('click', () => {
|
||||||
|
if (confirm("Reset all local Media Bar settings to server defaults?")) {
|
||||||
|
Object.keys(localStorage).forEach(key => {
|
||||||
|
if (key.startsWith('mediaBarEnhanced-')) {
|
||||||
|
localStorage.removeItem(key);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const closeHandler = (e) => {
|
const closeHandler = (e) => {
|
||||||
if (!popup.contains(e.target) && e.target !== anchorElement && !anchorElement.contains(e.target)) {
|
if (!popup.contains(e.target) && e.target !== anchorElement && !anchorElement.contains(e.target)) {
|
||||||
popup.remove();
|
popup.remove();
|
||||||
|
|||||||
@@ -9,12 +9,12 @@
|
|||||||
"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.4.0.7",
|
"version": "1.4.0.11",
|
||||||
"changelog": "- feat: Add client-side settings feature for selected media bar settings",
|
"changelog": "- feat: Add client-side settings feature for selected media bar settings",
|
||||||
"targetAbi": "10.11.0.0",
|
"targetAbi": "10.11.0.0",
|
||||||
"sourceUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/releases/download/v1.4.0.7/Jellyfin.Plugin.MediaBarEnhanced.zip",
|
"sourceUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/releases/download/v1.4.0.11/Jellyfin.Plugin.MediaBarEnhanced.zip",
|
||||||
"checksum": "450e5977228d08b8451b6047e4a6be94",
|
"checksum": "ca0b3270eba5871e7a23db6b45bc5048",
|
||||||
"timestamp": "2026-02-04T17:09:28Z"
|
"timestamp": "2026-02-04T17:58:14Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"version": "1.3.0.3",
|
"version": "1.3.0.3",
|
||||||
|
|||||||
Reference in New Issue
Block a user