new build system
inject controls in homepage
This commit is contained in:
@@ -36,6 +36,7 @@ public class PluginConfiguration : BasePluginConfiguration
|
||||
ConnectionTimeoutSeconds = 10;
|
||||
EnableAutoSync = true;
|
||||
DefaultPlayerMac = string.Empty;
|
||||
EnableHomeScreenButton = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -75,6 +76,12 @@ public class PluginConfiguration : BasePluginConfiguration
|
||||
/// </summary>
|
||||
public string DefaultPlayerMac { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether a floating "Remote" button linking to the
|
||||
/// multi-room remote control page should be injected into the Jellyfin web client.
|
||||
/// </summary>
|
||||
public bool EnableHomeScreenButton { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the Jellyfin API key for authenticating stream requests from LMS.
|
||||
/// </summary>
|
||||
|
||||
@@ -182,6 +182,19 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="verticalSection">
|
||||
<h3>Multi-Room Remote</h3>
|
||||
<p class="fieldDescription">A standalone remote control page is available at <code>/JellyLms/RemoteControl</code> for any user granted the "Allow remote control of other users" permission (Dashboard > Users).</p>
|
||||
|
||||
<div class="checkboxContainer checkboxContainer-withDescription">
|
||||
<label class="emby-checkbox-label">
|
||||
<input id="EnableHomeScreenButton" name="EnableHomeScreenButton" type="checkbox" is="emby-checkbox" />
|
||||
<span>Show floating Remote button in web client</span>
|
||||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription">Adds a floating button to the Jellyfin web client that links to the remote control page (for authorized users only). Requires write access to the Jellyfin web root and a page reload to take effect.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="verticalSection">
|
||||
<h3>Player Sync</h3>
|
||||
<p class="fieldDescription">Select players to sync together for multi-room audio. Synced players play in perfect sync.</p>
|
||||
@@ -567,6 +580,7 @@
|
||||
document.querySelector('#EnableAutoSync').checked = config.EnableAutoSync !== false;
|
||||
document.querySelector('#DefaultPlayerMac').value = config.DefaultPlayerMac || '';
|
||||
document.querySelector('#UseDirectFilePath').checked = config.UseDirectFilePath || false;
|
||||
document.querySelector('#EnableHomeScreenButton').checked = config.EnableHomeScreenButton !== false;
|
||||
|
||||
// Load path mappings (new list format, with fallback to legacy single mapping)
|
||||
JellyLmsConfig.pathMappings = config.PathMappings || [];
|
||||
@@ -622,6 +636,7 @@
|
||||
config.EnableAutoSync = document.querySelector('#EnableAutoSync').checked;
|
||||
config.DefaultPlayerMac = document.querySelector('#DefaultPlayerMac').value;
|
||||
config.UseDirectFilePath = document.querySelector('#UseDirectFilePath').checked;
|
||||
config.EnableHomeScreenButton = document.querySelector('#EnableHomeScreenButton').checked;
|
||||
// Save path mappings (clear legacy single mapping when using list)
|
||||
config.PathMappings = getPathMappingsFromUI();
|
||||
config.JellyfinMediaPath = '';
|
||||
|
||||
Reference in New Issue
Block a user