Compare commits

..

21 Commits

Author SHA1 Message Date
CodeDevMLH
a67e3c5763 Add disabled options for St. Patrick's Day and Thanksgiving in seasonal selection [skip ci] 2026-02-28 16:40:11 +01:00
CodeDevMLH
b810c9cbaf Remove Olympia event from seasonal rules configuration [skip ci] 2026-02-28 16:39:17 +01:00
CodeDevMLH
d55d52c538 Update seasonal rules configuration with additional events and improved formatting [skip ci] 2026-02-28 16:38:03 +01:00
CodeDevMLH
faa867956a Update manifest.json for release v2.0.0.8 [skip ci] 2026-02-28 15:28:11 +00:00
CodeDevMLH
5b3e405b99 Bump version to 2.0.0.8s
All checks were successful
Auto Release Plugin / build-and-release (push) Successful in 53s
2026-02-28 16:27:19 +01:00
CodeDevMLH
30e624fa64 fix loading error 2026-02-28 16:26:59 +01:00
CodeDevMLH
41494785ca Refactor checkbox descriptions for improved HTML structure and accessibility
All checks were successful
Auto Release Plugin / build-and-release (push) Successful in 37s
2026-02-28 15:25:28 +01:00
CodeDevMLH
4196a72615 Update manifest.json for release v2.0.0.7 [skip ci] 2026-02-28 14:16:09 +00:00
CodeDevMLH
9a4ef773dc Bump version to 2.0.0.7
All checks were successful
Auto Release Plugin / build-and-release (push) Successful in 52s
2026-02-28 15:15:17 +01:00
CodeDevMLH
7e67233dea Refactor seasonal configuration logic to streamline event handling and enhance maintainability 2026-02-28 15:14:55 +01:00
CodeDevMLH
6ca3098432 Refactor birthday and event configuration logic for improved clarity and consistency [skip ci] 2026-02-28 14:40:27 +01:00
CodeDevMLH
1a3a5b7cff ordered load logik 2026-02-28 14:33:29 +01:00
CodeDevMLH
b40ee5eea6 sorted alpha
All checks were successful
Auto Release Plugin / build-and-release (push) Successful in 37s
2026-02-28 14:24:19 +01:00
CodeDevMLH
c684651cef Add mobile-specific flower count configuration for Earth Day [skip ci] 2026-02-28 14:11:45 +01:00
CodeDevMLH
3dffd847de Refactor Earth Day configuration to replace VineCount with FlowersCount and update related descriptions [skip ci] 2026-02-28 14:08:22 +01:00
CodeDevMLH
9f7ecd9cd0 Update EarthDay configuration to replace VineCount with FlowersCount and adjust flower generation logic 2026-02-28 14:08:12 +01:00
CodeDevMLH
25e678af8d Fix default balloon count in birthday configuration from 15 to 12 [skip ci] 2026-02-28 03:48:05 +01:00
CodeDevMLH
cc2c5eb973 Update manifest.json for release v2.0.0.6 [skip ci] 2026-02-28 02:39:48 +00:00
CodeDevMLH
8c02a07b88 Bump version to 2.0.0.6 and update manifest for new themes and improvements; add mobile symbol count input and error handling in config loading
All checks were successful
Auto Release Plugin / build-and-release (push) Successful in 53s
2026-02-28 03:38:56 +01:00
CodeDevMLH
7da6549bf9 Update manifest.json for release v2.0.0.5 [skip ci] 2026-02-28 02:29:30 +00:00
CodeDevMLH
2e6c1534b1 Bump version to 2.0.0.5 and update changelog for new themes and improvements
All checks were successful
Auto Release Plugin / build-and-release (push) Successful in 53s
2026-02-28 03:28:39 +01:00
6 changed files with 1054 additions and 1202 deletions

View File

@@ -77,7 +77,32 @@ public class PluginConfiguration : BasePluginConfiguration
/// <summary> /// <summary>
/// Gets or sets the seasonal rules configuration as JSON. /// Gets or sets the seasonal rules configuration as JSON.
/// </summary> /// </summary>
public string SeasonalRules { get; set; } = "[{\"Name\":\"New Year Fireworks\",\"StartDay\":28,\"StartMonth\":12,\"EndDay\":5,\"EndMonth\":1,\"Theme\":\"fireworks\"},{\"Name\":\"Carnival\",\"StartDay\":19,\"StartMonth\":2,\"EndDay\":28,\"EndMonth\":2,\"Theme\":\"carnival\"},{\"Name\":\"Valentine's Day\",\"StartDay\":10,\"StartMonth\":2,\"EndDay\":18,\"EndMonth\":2,\"Theme\":\"hearts\"},{\"Name\":\"Spring\",\"StartDay\":1,\"StartMonth\":3,\"EndDay\":31,\"EndMonth\":5,\"Theme\":\"spring\"},{\"Name\":\"Summer\",\"StartDay\":1,\"StartMonth\":6,\"EndDay\":31,\"EndMonth\":8,\"Theme\":\"summer\"},{\"Name\":\"Santa\",\"StartDay\":22,\"StartMonth\":12,\"EndDay\":27,\"EndMonth\":12,\"Theme\":\"santa\"},{\"Name\":\"Snowflakes (December)\",\"StartDay\":1,\"StartMonth\":12,\"EndDay\":31,\"EndMonth\":12,\"Theme\":\"snowflakes\"},{\"Name\":\"Snowfall (January)\",\"StartDay\":1,\"StartMonth\":1,\"EndDay\":31,\"EndMonth\":1,\"Theme\":\"snowfall\"},{\"Name\":\"Snowfall (February)\",\"StartDay\":1,\"StartMonth\":2,\"EndDay\":29,\"EndMonth\":2,\"Theme\":\"snowfall\"},{\"Name\":\"Easter\",\"StartDay\":25,\"StartMonth\":3,\"EndDay\":25,\"EndMonth\":4,\"Theme\":\"easter\"},{\"Name\":\"Halloween\",\"StartDay\":24,\"StartMonth\":10,\"EndDay\":5,\"EndMonth\":11,\"Theme\":\"halloween\"},{\"Name\":\"Autumn\",\"StartDay\":1,\"StartMonth\":9,\"EndDay\":30,\"EndMonth\":11,\"Theme\":\"autumn\"},{\"Name\":\"Cherry Blossom\",\"StartDay\":1,\"StartMonth\":4,\"EndDay\":30,\"EndMonth\":4,\"Theme\":\"cherryblossom\"}]"; public string SeasonalRules { get; set; } = "[" +
"{\"Name\":\"New Year Fireworks\",\"StartDay\":28,\"StartMonth\":12,\"EndDay\":5,\"EndMonth\":1,\"Theme\":\"fireworks\"}," +
"{\"Name\":\"Snowfall (January)\",\"StartDay\":1,\"StartMonth\":1,\"EndDay\":31,\"EndMonth\":1,\"Theme\":\"snowfall\"}," +
"{\"Name\":\"Snowfall (February)\",\"StartDay\":1,\"StartMonth\":2,\"EndDay\":29,\"EndMonth\":2,\"Theme\":\"snowfall\"}," +
"{\"Name\":\"Valentine's Day\",\"StartDay\":10,\"StartMonth\":2,\"EndDay\":18,\"EndMonth\":2,\"Theme\":\"hearts\"}," +
"{\"Name\":\"Carnival\",\"StartDay\":19,\"StartMonth\":2,\"EndDay\":28,\"EndMonth\":2,\"Theme\":\"carnival\"}," +
"{\"Name\":\"Oscar Awards\",\"StartDay\":23,\"StartMonth\":2,\"EndDay\":5,\"EndMonth\":3,\"Theme\":\"oscar\"}," +
"{\"Name\":\"Mario Day\",\"StartDay\":10,\"StartMonth\":3,\"EndDay\":10,\"EndMonth\":3,\"Theme\":\"marioday\"}," +
"{\"Name\":\"Film Noir Day\",\"StartDay\":17,\"StartMonth\":3,\"EndDay\":17,\"EndMonth\":3,\"Theme\":\"filmnoir\"}," +
"{\"Name\":\"Spring\",\"StartDay\":1,\"StartMonth\":3,\"EndDay\":31,\"EndMonth\":5,\"Theme\":\"spring\"}," +
"{\"Name\":\"Cherry Blossom\",\"StartDay\":1,\"StartMonth\":4,\"EndDay\":30,\"EndMonth\":4,\"Theme\":\"cherryblossom\"}," +
"{\"Name\":\"Easter\",\"StartDay\":25,\"StartMonth\":3,\"EndDay\":25,\"EndMonth\":4,\"Theme\":\"easter\"}," +
"{\"Name\":\"Earth Day\",\"StartDay\":22,\"StartMonth\":4,\"EndDay\":22,\"EndMonth\":4,\"Theme\":\"earthday\"}," +
"{\"Name\":\"Space Day\",\"StartDay\":12,\"StartMonth\":4,\"EndDay\":12,\"EndMonth\":4,\"Theme\":\"space\"}," +
"{\"Name\":\"Star Wars Day\",\"StartDay\":4,\"StartMonth\":5,\"EndDay\":5,\"EndMonth\":5,\"Theme\":\"starwars\"}," +
"{\"Name\":\"Eurovision\",\"StartDay\":6,\"StartMonth\":5,\"EndDay\":12,\"EndMonth\":5,\"Theme\":\"eurovision\"}," +
"{\"Name\":\"Pride Month\",\"StartDay\":1,\"StartMonth\":6,\"EndDay\":30,\"EndMonth\":6,\"Theme\":\"pride\"}," +
"{\"Name\":\"Summer\",\"StartDay\":1,\"StartMonth\":6,\"EndDay\":31,\"EndMonth\":8,\"Theme\":\"summer\"}," +
"{\"Name\":\"Underwater\",\"StartDay\":1,\"StartMonth\":7,\"EndDay\":31,\"EndMonth\":8,\"Theme\":\"underwater\"}," +
"{\"Name\":\"Autumn\",\"StartDay\":1,\"StartMonth\":9,\"EndDay\":30,\"EndMonth\":11,\"Theme\":\"autumn\"}," +
"{\"Name\":\"Oktoberfest\",\"StartDay\":20,\"StartMonth\":9,\"EndDay\":5,\"EndMonth\":10,\"Theme\":\"oktoberfest\"}," +
"{\"Name\":\"Halloween\",\"StartDay\":24,\"StartMonth\":10,\"EndDay\":5,\"EndMonth\":11,\"Theme\":\"halloween\"}," +
"{\"Name\":\"Spooky (Pre-Halloween)\",\"StartDay\":1,\"StartMonth\":10,\"EndDay\":23,\"EndMonth\":10,\"Theme\":\"spooky\"}," +
"{\"Name\":\"Snowflakes (December)\",\"StartDay\":1,\"StartMonth\":12,\"EndDay\":31,\"EndMonth\":12,\"Theme\":\"snowflakes\"}," +
"{\"Name\":\"Santa\",\"StartDay\":22,\"StartMonth\":12,\"EndDay\":27,\"EndMonth\":12,\"Theme\":\"santa\"}" +
"]";
/// <summary> /// <summary>
/// Gets or sets the Seasonals options. /// Gets or sets the Seasonals options.
@@ -159,7 +184,8 @@ public class ChristmasOptions {
public class EarthDayOptions { public class EarthDayOptions {
public bool EnableEarthDay { get; set; } = true; public bool EnableEarthDay { get; set; } = true;
public int VineCount { get; set; } = 4; public int FlowersCount { get; set; } = 60;
public int FlowersCountMobile { get; set; } = 20;
} }
public class EasterOptions { public class EasterOptions {

File diff suppressed because it is too large Load Diff

View File

@@ -12,7 +12,7 @@
<!-- <TreatWarningsAsErrors>false</TreatWarningsAsErrors> --> <!-- <TreatWarningsAsErrors>false</TreatWarningsAsErrors> -->
<Title>Jellyfin Seasonals Plugin</Title> <Title>Jellyfin Seasonals Plugin</Title>
<Authors>CodeDevMLH</Authors> <Authors>CodeDevMLH</Authors>
<Version>2.0.0.4</Version> <Version>2.0.0.8</Version>
<RepositoryUrl>https://github.com/CodeDevMLH/Jellyfin-Seasonals</RepositoryUrl> <RepositoryUrl>https://github.com/CodeDevMLH/Jellyfin-Seasonals</RepositoryUrl>
</PropertyGroup> </PropertyGroup>

View File

@@ -1,7 +1,7 @@
const config = window.SeasonalsPluginConfig?.Birthday || {}; const config = window.SeasonalsPluginConfig?.Birthday || {};
const birthday = config.EnableBirthday !== undefined ? config.EnableBirthday : true; // enable/disable birthday symbols const birthday = config.EnableBirthday !== undefined ? config.EnableBirthday : true; // enable/disable birthday symbols
const symbolCount = config.SymbolCount !== undefined ? config.SymbolCount : 15; // count of balloons const symbolCount = config.SymbolCount !== undefined ? config.SymbolCount : 12; // count of balloons
const enableDifferentDuration = config.EnableDifferentDuration !== undefined ? config.EnableDifferentDuration : true; // enable different duration for the symbols const enableDifferentDuration = config.EnableDifferentDuration !== undefined ? config.EnableDifferentDuration : true; // enable different duration for the symbols
const symbolCountMobile = config.SymbolCountMobile !== undefined ? config.SymbolCountMobile : 5; // count of mobile balloons const symbolCountMobile = config.SymbolCountMobile !== undefined ? config.SymbolCountMobile : 5; // count of mobile balloons
const baseConfettiCount = config.ConfettiCount !== undefined ? config.ConfettiCount : 60; // count of confetti const baseConfettiCount = config.ConfettiCount !== undefined ? config.ConfettiCount : 60; // count of confetti

View File

@@ -1,7 +1,8 @@
const config = window.SeasonalsPluginConfig?.EarthDay || {}; const config = window.SeasonalsPluginConfig?.EarthDay || {};
const enabled = config.EnableEarthDay !== undefined ? config.EnableEarthDay : true; // enable/disable earthday const enabled = config.EnableEarthDay !== undefined ? config.EnableEarthDay : true; // enable/disable earthday
const vineCount = config.VineCount !== undefined ? config.VineCount : 4; // count of vine const flowersCount = config.FlowersCount !== undefined ? config.FlowersCount : 60; // count of flowers
const flowersCountMobile = config.FlowersCountMobile !== undefined ? config.FlowersCountMobile : 20; // count of flowers on mobile
const flowerColors = ['#FF69B4', '#FFD700', '#87CEFA', '#FF4500', '#BA55D3', '#FFA500', '#FF1493']; const flowerColors = ['#FF69B4', '#FFD700', '#87CEFA', '#FF4500', '#BA55D3', '#FFA500', '#FF1493'];
@@ -68,7 +69,8 @@ function createElements() {
} }
// Generate Flowers // Generate Flowers
const flowerCount = Math.max(10, vineCount * 15); const isMobile = window.matchMedia("only screen and (max-width: 768px)").matches;
const flowerCount = Math.max(5, isMobile ? flowersCountMobile : flowersCount);
for (let i = 0; i < flowerCount; i++) { for (let i = 0; i < flowerCount; i++) {
const x = 10 + Math.random() * (w - 20); const x = 10 + Math.random() * (w - 20);
const y = hSVG * 0.1 + Math.random() * (hSVG * 0.5); const y = hSVG * 0.1 + Math.random() * (hSVG * 0.5);

View File

@@ -9,12 +9,12 @@
"imageUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/Jellyfin-Seasonals-Plugin/raw/branch/main/logo.png", "imageUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/Jellyfin-Seasonals-Plugin/raw/branch/main/logo.png",
"versions": [ "versions": [
{ {
"version": "2.0.0.4", "version": "2.0.0.8",
"changelog": "- feat: add new themes:\n- birthday (ballons, computer mouse interactive)\n- earthday\n- Eid al-Fitr (sugar feast/ramadan)\n- eurovision\n- Film Noir filter\n- Friday the 13\n- frost\n- Mario Day\n- Matrix\n- Oktoberfest\n- Olympia\n- Oscar Awards\n- Pride\n- Rain\n- Spooky\n- Sports (many selectable balls of ball games like handball, football (soccer) or tennis)\n- StarWars Day\n- Storm (Epilepsy Warning!!!, Thunderstorm)\n- refactored spring (new lawn with flowers), easter (new easter bunny, new lawn with flowers and ester eggs), halloween (add spiders (computer mouse sensitive), add mice, add fog) \n- fix: many improvements and bug fixes e.g. changed top to translate/transform for performance reasons", "changelog": "feat: add new themes:\n- birthday (ballons, computer mouse interactive)\n- earthday\n- Eid al-Fitr (sugar feast/ramadan)\n- eurovision\n- Film Noir filter\n- Friday the 13\n- frost\n- Mario Day\n- Matrix\n- Oktoberfest\n- Olympia\n- Oscar Awards\n- Pride\n- Rain\n- Spooky\n- Sports (many selectable balls of ball games like handball, football (soccer) or tennis)\n- StarWars Day\n- Storm (Epilepsy Warning!!!, Thunderstorm)\n\n- refactored spring (new lawn with flowers), easter (new easter bunny, new lawn with flowers and ester eggs), halloween (add spiders (computer mouse sensitive), add mice, add fog) \n- fix: many improvements and bug fixes e.g. changed top to translate/transform for performance reasons",
"targetAbi": "10.11.0.0", "targetAbi": "10.11.0.0",
"sourceUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/Jellyfin-Seasonals-Plugin/releases/download/v2.0.0.4/Jellyfin.Plugin.Seasonals.zip", "sourceUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/Jellyfin-Seasonals-Plugin/releases/download/v2.0.0.8/Jellyfin.Plugin.Seasonals.zip",
"checksum": "88ec6ec690b7808499b4d368e8bce585", "checksum": "da10c4e44858f796cae1b77d0b866480",
"timestamp": "2026-02-28T02:11:13Z" "timestamp": "2026-02-28T15:28:11Z"
}, },
{ {
"version": "1.7.2.0", "version": "1.7.2.0",