Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6a91784401 | ||
|
|
3f8777db9f | ||
|
|
4ec337a893 | ||
|
|
7366f2ca30 | ||
|
|
faabf13870 | ||
|
|
3e584fa419 | ||
|
|
13889c3c68 | ||
|
|
7af9eb5004 | ||
|
|
1e57d8acef | ||
|
|
5964d2cb34 | ||
|
|
6f3fd23879 | ||
|
|
47949e9820 | ||
|
|
5fe8da8347 |
@@ -163,7 +163,7 @@
|
|||||||
<span>Enable Client-Side Settings</span>
|
<span>Enable Client-Side Settings</span>
|
||||||
</label>
|
</label>
|
||||||
<div class="fieldDescription">If enabled, users will see a media bar icon in the header to
|
<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>
|
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>
|
||||||
|
|||||||
@@ -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.8</Version>
|
<Version>1.4.0.12</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>
|
||||||
|
|
||||||
|
|||||||
@@ -3028,10 +3028,10 @@ const MediaBarEnhancedSettingsManager = {
|
|||||||
const settings = [
|
const settings = [
|
||||||
{ key: 'enabled', label: 'Enable Media Bar Enhanced', 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 Trailer 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 trailer in popup (backdrops without trailer)', 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 Trailer On Mobile', description: 'Allow trailer 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 zooming-in effect on background images', 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,11 +3049,14 @@ 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:1.5em;">
|
||||||
|
<button is="emby-button" type="button" class="raised button-cancel emby-button" id="mb-settings-reset" title="Reset to Server Defaults">
|
||||||
|
<span>Load 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>Save & Reload</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
@@ -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.8",
|
"version": "1.4.0.12",
|
||||||
"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.8/Jellyfin.Plugin.MediaBarEnhanced.zip",
|
"sourceUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/releases/download/v1.4.0.12/Jellyfin.Plugin.MediaBarEnhanced.zip",
|
||||||
"checksum": "ec343204a7cd2c1af4013e645bdddcd3",
|
"checksum": "26edee51b52dcee4ecf388aa376f3869",
|
||||||
"timestamp": "2026-02-04T17:27:22Z"
|
"timestamp": "2026-02-04T18:07:40Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"version": "1.3.0.3",
|
"version": "1.3.0.3",
|
||||||
|
|||||||
Reference in New Issue
Block a user