From b45ec73a67a445d4dafd08b81ce911e0fd239f71 Mon Sep 17 00:00:00 2001 From: CodeDevMLH <145071728+CodeDevMLH@users.noreply.github.com> Date: Sat, 21 Feb 2026 04:31:22 +0100 Subject: [PATCH] Enhance spring configuration options by adding counts for birds, butterflies, bees, and ladybugs; update UI labels and descriptions for clarity. --- .../Configuration/PluginConfiguration.cs | 7 +- .../Configuration/configPage.html | 65 +++++++++++++++---- 2 files changed, 59 insertions(+), 13 deletions(-) diff --git a/Jellyfin.Plugin.Seasonals/Configuration/PluginConfiguration.cs b/Jellyfin.Plugin.Seasonals/Configuration/PluginConfiguration.cs index 0daf36a..d1c57fe 100644 --- a/Jellyfin.Plugin.Seasonals/Configuration/PluginConfiguration.cs +++ b/Jellyfin.Plugin.Seasonals/Configuration/PluginConfiguration.cs @@ -194,9 +194,13 @@ public class ResurrectionOptions public class SpringOptions { public int PollenCount { get; set; } = 15; - public int LadybugCount { get; set; } = 5; public int SunbeamCount { get; set; } = 5; + public int BirdCount { get; set; } = 3; + public int ButterflyCount { get; set; } = 2; + public int BeeCount { get; set; } = 1; + public int LadybugCount { get; set; } = 1; public bool EnableSpring { get; set; } = true; + public bool EnableSpringSunbeams { get; set; } = true; public bool EnableRandomSpring { get; set; } = true; public bool EnableRandomSpringMobile { get; set; } = false; public bool EnableDifferentDuration { get; set; } = true; @@ -219,6 +223,7 @@ public class CarnivalOptions public bool EnableRandomCarnival { get; set; } = true; public bool EnableRandomCarnivalMobile { get; set; } = false; public bool EnableDifferentDuration { get; set; } = true; + public bool EnableCarnivalSway { get; set; } = true; } public class CherryBlossomOptions diff --git a/Jellyfin.Plugin.Seasonals/Configuration/configPage.html b/Jellyfin.Plugin.Seasonals/Configuration/configPage.html index 98e3dc0..e128e37 100644 --- a/Jellyfin.Plugin.Seasonals/Configuration/configPage.html +++ b/Jellyfin.Plugin.Seasonals/Configuration/configPage.html @@ -589,21 +589,16 @@
-
Displays additional Sakura petals falling across the screen.
+
Enables animated spring assets (birds, butterflies, bees, etc.).
-
Displays additional Sakura petals falling across the screen on mobile devices. Warning: High values may affect performance.
-
-
- - -
Number of additional Sakura petals (if enabled).
+
Displays animated assets on mobile devices. Warning: High values may affect performance.
@@ -617,10 +612,37 @@
-
Randomize the falling speed of petals.
+
Display sunbeams at the top of the screen.
+
+
+ + +
Number of birds flying across the screen.
+
+
+ + +
Number of butterflies.
+
+
+ + +
Number of bees.
+
+
+ + +
Number of ladybugs walking along the bottom.
+
+
+ +
Randomize the animations duration.

@@ -703,6 +725,13 @@
Randomize the falling speed of confetti.
+
+ +
Enable sway animation for carnival confetti.
+
@@ -1061,8 +1090,13 @@ // Spring document.querySelector('#EnableSpring').checked = config.Spring.EnableSpring; + document.querySelector('#EnableSpringSunbeams').checked = config.Spring.EnableSpringSunbeams !== undefined ? config.Spring.EnableSpringSunbeams : true; document.querySelector('#SpringPollenCount').value = config.Spring.PollenCount; document.querySelector('#SpringSunbeamCount').value = config.Spring.SunbeamCount; + document.querySelector('#SpringBirdCount').value = config.Spring.BirdCount !== undefined ? config.Spring.BirdCount : 3; + document.querySelector('#SpringButterflyCount').value = config.Spring.ButterflyCount !== undefined ? config.Spring.ButterflyCount : 2; + document.querySelector('#SpringBeeCount').value = config.Spring.BeeCount !== undefined ? config.Spring.BeeCount : 1; + document.querySelector('#SpringLadybugCount').value = config.Spring.LadybugCount !== undefined ? config.Spring.LadybugCount : 1; document.querySelector('#EnableRandomSpring').checked = config.Spring.EnableRandomSpring; document.querySelector('#EnableRandomSpringMobile').checked = config.Spring.EnableRandomSpringMobile; document.querySelector('#EnableDifferentDurationSpring').checked = config.Spring.EnableDifferentDuration; @@ -1077,6 +1111,7 @@ // Carnival document.querySelector('#EnableCarnival').checked = config.Carnival.EnableCarnival; + document.querySelector('#EnableCarnivalSway').checked = config.Carnival.EnableCarnivalSway !== undefined ? config.Carnival.EnableCarnivalSway : true; document.querySelector('#CarnivalObjectCount').value = config.Carnival.ObjectCount; document.querySelector('#EnableRandomCarnival').checked = config.Carnival.EnableRandomCarnival; document.querySelector('#EnableRandomCarnivalMobile').checked = config.Carnival.EnableRandomCarnivalMobile; @@ -1198,8 +1233,13 @@ // Spring config.Spring.EnableSpring = document.querySelector('#EnableSpring').checked; + config.Spring.EnableSpringSunbeams = document.querySelector('#EnableSpringSunbeams').checked; config.Spring.PollenCount = parseInt(document.querySelector('#SpringPollenCount').value); config.Spring.SunbeamCount = parseInt(document.querySelector('#SpringSunbeamCount').value); + config.Spring.BirdCount = parseInt(document.querySelector('#SpringBirdCount').value); + config.Spring.ButterflyCount = parseInt(document.querySelector('#SpringButterflyCount').value); + config.Spring.BeeCount = parseInt(document.querySelector('#SpringBeeCount').value); + config.Spring.LadybugCount = parseInt(document.querySelector('#SpringLadybugCount').value); config.Spring.EnableRandomSpring = document.querySelector('#EnableRandomSpring').checked; config.Spring.EnableRandomSpringMobile = document.querySelector('#EnableRandomSpringMobile').checked; config.Spring.EnableDifferentDuration = document.querySelector('#EnableDifferentDurationSpring').checked; @@ -1214,6 +1254,7 @@ // Carnival config.Carnival.EnableCarnival = document.querySelector('#EnableCarnival').checked; + config.Carnival.EnableCarnivalSway = document.querySelector('#EnableCarnivalSway').checked; config.Carnival.ObjectCount = parseInt(document.querySelector('#CarnivalObjectCount').value); config.Carnival.EnableRandomCarnival = document.querySelector('#EnableRandomCarnival').checked; config.Carnival.EnableRandomCarnivalMobile = document.querySelector('#EnableRandomCarnivalMobile').checked;