Refactor birthday and event configuration logic for improved clarity and consistency [skip ci]

This commit is contained in:
CodeDevMLH
2026-02-28 14:40:27 +01:00
parent 1a3a5b7cff
commit 6ca3098432

View File

@@ -1634,16 +1634,15 @@
document.querySelector('#EnableRotation').checked = config.Autumn.EnableRotation; document.querySelector('#EnableRotation').checked = config.Autumn.EnableRotation;
// Birthday // Birthday
document.querySelector('#EnableBirthday').checked = config.Birthday.EnableBirthday !== false; document.querySelector('#EnableBirthday').checked = config.Birthday.EnableBirthday;
document.querySelector('#EnableDifferentDurationBirthday').checked = config.Birthday.EnableDifferentDuration !== false; document.querySelector('#EnableDifferentDurationBirthday').checked = config.Birthday.EnableDifferentDuration;
document.querySelector('#BirthdaySymbolCount').value = config.Birthday.SymbolCount || 25; document.querySelector('#BirthdaySymbolCount').value = config.Birthday.SymbolCount;
document.querySelector('#BirthdaySymbolCountMobile').value = config.Birthday.SymbolCountMobile || 10; document.querySelector('#BirthdaySymbolCountMobile').value = config.Birthday.SymbolCountMobile;
document.querySelector('#BirthdayConfettiCount').value = config.Birthday.ConfettiCount || 60; document.querySelector('#BirthdayConfettiCount').value = config.Birthday.ConfettiCount;
config.Birthday = config.Birthday || {};
// Carnival // Carnival
document.querySelector('#EnableCarnival').checked = config.Carnival.EnableCarnival; document.querySelector('#EnableCarnival').checked = config.Carnival.EnableCarnival;
document.querySelector('#EnableCarnivalSway').checked = config.Carnival.EnableCarnivalSway !== undefined ? config.Carnival.EnableCarnivalSway : true; document.querySelector('#EnableCarnivalSway').checked = config.Carnival.EnableCarnivalSway;
document.querySelector('#CarnivalObjectCount').value = config.Carnival.ObjectCount; document.querySelector('#CarnivalObjectCount').value = config.Carnival.ObjectCount;
document.querySelector('#CarnivalObjectCountMobile').value = config.Carnival.ObjectCountMobile; document.querySelector('#CarnivalObjectCountMobile').value = config.Carnival.ObjectCountMobile;
document.querySelector('#EnableDifferentDurationCarnival').checked = config.Carnival.EnableDifferentDuration; document.querySelector('#EnableDifferentDurationCarnival').checked = config.Carnival.EnableDifferentDuration;
@@ -1662,8 +1661,8 @@
// EarthDay // EarthDay
document.querySelector('#EnableEarthDay').checked = config.EarthDay.EnableEarthDay; document.querySelector('#EnableEarthDay').checked = config.EarthDay.EnableEarthDay;
document.querySelector('#EarthDayFlowersCount').value = config.EarthDay.FlowersCount !== undefined ? config.EarthDay.FlowersCount : 60; document.querySelector('#EarthDayFlowersCount').value = config.EarthDay.FlowersCount;
document.querySelector('#EarthDayFlowersCountMobile').value = config.EarthDay.FlowersCountMobile !== undefined ? config.EarthDay.FlowersCountMobile : 20; document.querySelector('#EarthDayFlowersCountMobile').value = config.EarthDay.FlowersCountMobile;
// Easter // Easter
document.querySelector('#EnableEaster').checked = config.Easter.EnableEaster; document.querySelector('#EnableEaster').checked = config.Easter.EnableEaster;
@@ -1673,20 +1672,20 @@
document.querySelector('#MaxBunnyRestTime').value = config.Easter.MaxBunnyRestTime; document.querySelector('#MaxBunnyRestTime').value = config.Easter.MaxBunnyRestTime;
// Eid al-Fitr // Eid al-Fitr
document.querySelector('#EnableEid').checked = config.Eid.EnableEid !== false; document.querySelector('#EnableEid').checked = config.Eid.EnableEid;
document.querySelector('#EidLanternCount').value = config.Eid.LanternCount !== undefined ? config.Eid.LanternCount : 8; document.querySelector('#EidLanternCount').value = config.Eid.LanternCount;
document.querySelector('#EidLanternCountMobile').value = config.Eid.LanternCountMobile !== undefined ? config.Eid.LanternCountMobile : 3; document.querySelector('#EidLanternCountMobile').value = config.Eid.LanternCountMobile;
// Eurovision // Eurovision
document.querySelector('#EnableEurovision').checked = config.Eurovision.EnableEurovision !== false; document.querySelector('#EnableEurovision').checked = config.Eurovision.EnableEurovision;
document.querySelector('#EurovisionSymbolCount').value = config.Eurovision.SymbolCount !== undefined ? config.Eurovision.SymbolCount : 25; document.querySelector('#EurovisionSymbolCount').value = config.Eurovision.SymbolCount;
document.querySelector('#EnableDifferentDurationEurovision').checked = config.Eurovision.EnableDifferentDuration !== false; document.querySelector('#EnableDifferentDurationEurovision').checked = config.Eurovision.EnableDifferentDuration;
document.querySelector('#EnableColorfulNotes').checked = config.Eurovision.EnableColorfulNotes !== false; document.querySelector('#EnableColorfulNotes').checked = config.Eurovision.EnableColorfulNotes;
document.querySelector('#EurovisionColors').value = config.Eurovision.EurovisionColors || '#ff0026ff,#17a6ffff,#32d432ff,#FFD700,#f0821bff,#f826f8ff'; document.querySelector('#EurovisionColors').value = config.Eurovision.EurovisionColors;
document.querySelector('#EurovisionGlowSize').value = config.Eurovision.EurovisionGlowSize !== undefined ? config.Eurovision.EurovisionGlowSize : 2; document.querySelector('#EurovisionGlowSize').value = config.Eurovision.EurovisionGlowSize;
// Film Noir // Film Noir
document.querySelector('#EnableFilmNoir').checked = config.FilmNoir.EnableFilmNoir !== false; document.querySelector('#EnableFilmNoir').checked = config.FilmNoir.EnableFilmNoir;
// Fireworks // Fireworks
document.querySelector('#EnableFireworks').checked = config.Fireworks.EnableFireworks; document.querySelector('#EnableFireworks').checked = config.Fireworks.EnableFireworks;
@@ -1697,18 +1696,18 @@
document.querySelector('#MaxFireworks').value = config.Fireworks.MaxFireworks; document.querySelector('#MaxFireworks').value = config.Fireworks.MaxFireworks;
// Friday the 13th // Friday the 13th
document.querySelector('#EnableFriday13').checked = config.Friday13.EnableFriday13 !== false; document.querySelector('#EnableFriday13').checked = config.Friday13.EnableFriday13;
// Frost // Frost
document.querySelector('#EnableFrost').checked = config.Frost.EnableFrost !== false; document.querySelector('#EnableFrost').checked = config.Frost.EnableFrost;
// Halloween // Halloween
document.querySelector('#EnableHalloween').checked = config.Halloween.EnableHalloween; document.querySelector('#EnableHalloween').checked = config.Halloween.EnableHalloween;
document.querySelector('#HalloweenCount').value = config.Halloween.SymbolCount; document.querySelector('#HalloweenCount').value = config.Halloween.SymbolCount;
document.querySelector('#HalloweenCountMobile').value = config.Halloween.SymbolCountMobile; document.querySelector('#HalloweenCountMobile').value = config.Halloween.SymbolCountMobile;
document.querySelector('#EnableDifferentDurationHalloween').checked = config.Halloween.EnableDifferentDuration; document.querySelector('#EnableDifferentDurationHalloween').checked = config.Halloween.EnableDifferentDuration;
document.querySelector('#EnableSpiders').checked = config.Halloween.EnableSpiders !== undefined ? config.Halloween.EnableSpiders : true; document.querySelector('#EnableSpiders').checked = config.Halloween.EnableSpiders;
document.querySelector('#EnableMice').checked = config.Halloween.EnableMice !== undefined ? config.Halloween.EnableMice : true; document.querySelector('#EnableMice').checked = config.Halloween.EnableMice;
// Hearts // Hearts
document.querySelector('#EnableHearts').checked = config.Hearts.EnableHearts; document.querySelector('#EnableHearts').checked = config.Hearts.EnableHearts;
@@ -1717,29 +1716,29 @@
document.querySelector('#EnableDifferentDurationHearts').checked = config.Hearts.EnableDifferentDuration; document.querySelector('#EnableDifferentDurationHearts').checked = config.Hearts.EnableDifferentDuration;
// Mario Day // Mario Day
document.querySelector('#EnableMarioDay').checked = config.MarioDay.EnableMarioDay !== false; document.querySelector('#EnableMarioDay').checked = config.MarioDay.EnableMarioDay;
document.querySelector('#LetMarioJump').checked = config.MarioDay.LetMarioJump !== false; document.querySelector('#LetMarioJump').checked = config.MarioDay.LetMarioJump;
// Matrix // Matrix
document.querySelector('#EnableMatrix').checked = config.Matrix.EnableMatrix !== false; document.querySelector('#EnableMatrix').checked = config.Matrix.EnableMatrix;
document.querySelector('#MatrixSymbolCount').value = config.Matrix.SymbolCount !== undefined ? config.Matrix.SymbolCount : 25; document.querySelector('#MatrixSymbolCount').value = config.Matrix.SymbolCount;
document.querySelector('#MatrixChars').value = config.Matrix.MatrixChars !== undefined ? config.Matrix.MatrixChars : '0123456789'; document.querySelector('#MatrixChars').value = config.Matrix.MatrixChars;
document.querySelector('#EnableMatrixBackground').checked = config.Matrix.EnableMatrixBackground !== undefined ? config.Matrix.EnableMatrixBackground : false; document.querySelector('#EnableMatrixBackground').checked = config.Matrix.EnableMatrixBackground;
// Oktoberfest // Oktoberfest
document.querySelector('#EnableOktoberfest').checked = config.Oktoberfest.EnableOktoberfest !== false; document.querySelector('#EnableOktoberfest').checked = config.Oktoberfest.EnableOktoberfest;
document.querySelector('#OktoberfestCount').value = config.Oktoberfest.SymbolCount !== undefined ? config.Oktoberfest.SymbolCount : 25; document.querySelector('#OktoberfestCount').value = config.Oktoberfest.SymbolCount;
document.querySelector('#OktoberfestCountMobile').value = config.Oktoberfest.SymbolCountMobile !== undefined ? config.Oktoberfest.SymbolCountMobile : 10; document.querySelector('#OktoberfestCountMobile').value = config.Oktoberfest.SymbolCountMobile;
document.querySelector('#EnableDifferentDurationOktoberfest').checked = config.Oktoberfest.EnableDifferentDuration !== false; document.querySelector('#EnableDifferentDurationOktoberfest').checked = config.Oktoberfest.EnableDifferentDuration;
// Olympia // Olympia
document.querySelector('#EnableOlympia').checked = config.Olympia.EnableOlympia !== false; document.querySelector('#EnableOlympia').checked = config.Olympia.EnableOlympia;
document.querySelector('#EnableDifferentDurationOlympia').checked = config.Olympia.EnableDifferentDuration !== false; document.querySelector('#EnableDifferentDurationOlympia').checked = config.Olympia.EnableDifferentDuration;
document.querySelector('#OlympiaSymbolCount').value = config.Olympia.SymbolCount || 25; document.querySelector('#OlympiaSymbolCount').value = config.Olympia.SymbolCount;
document.querySelector('#OlympiaSymbolCountMobile').value = config.Olympia.SymbolCountMobile || 10; document.querySelector('#OlympiaSymbolCountMobile').value = config.Olympia.SymbolCountMobile;
// Oscar // Oscar
document.querySelector('#EnableOscar').checked = config.Oscar.EnableOscar !== false; document.querySelector('#EnableOscar').checked = config.Oscar.EnableOscar;
// Pride // Pride
document.querySelector('#EnablePride').checked = config.Pride.EnablePride; document.querySelector('#EnablePride').checked = config.Pride.EnablePride;
@@ -1793,79 +1792,79 @@
document.querySelector('#SnowstormVerticalVariation').value = config.Snowstorm.VerticalVariation; document.querySelector('#SnowstormVerticalVariation').value = config.Snowstorm.VerticalVariation;
// Space // Space
document.querySelector('#EnableSpace').checked = config.Space.EnableSpace || false; document.querySelector('#EnableSpace').checked = config.Space.EnableSpace;
document.querySelector('#EnableDifferentDurationSpace').checked = config.Space.EnableDifferentDuration || false; document.querySelector('#EnableDifferentDurationSpace').checked = config.Space.EnableDifferentDuration;
document.querySelector('#PlanetCount').value = config.Space.PlanetCount !== undefined ? config.Space.PlanetCount : 12; document.querySelector('#PlanetCount').value = config.Space.PlanetCount;
document.querySelector('#AstronautCount').value = config.Space.AstronautCount !== undefined ? config.Space.AstronautCount : 5; document.querySelector('#AstronautCount').value = config.Space.AstronautCount;
document.querySelector('#SatelliteCount').value = config.Space.SatelliteCount !== undefined ? config.Space.SatelliteCount : 2; document.querySelector('#SatelliteCount').value = config.Space.SatelliteCount;
document.querySelector('#IssCount').value = config.Space.IssCount !== undefined ? config.Space.IssCount : 1; document.querySelector('#IssCount').value = config.Space.IssCount;
document.querySelector('#RocketCount').value = config.Space.RocketCount !== undefined ? config.Space.RocketCount : 1; document.querySelector('#RocketCount').value = config.Space.RocketCount;
document.querySelector('#SpaceSymbolCountMobile').value = config.Space.SymbolCountMobile !== undefined ? config.Space.SymbolCountMobile : 2; document.querySelector('#SpaceSymbolCountMobile').value = config.Space.SymbolCountMobile;
// Spooky // Spooky
document.querySelector('#SpookyCount').value = config.Spooky.SymbolCount !== undefined ? config.Spooky.SymbolCount : 25; document.querySelector('#SpookyCount').value = config.Spooky.SymbolCount;
document.querySelector('#SpookyCountMobile').value = config.Spooky.SymbolCountMobile !== undefined ? config.Spooky.SymbolCountMobile : 10; document.querySelector('#SpookyCountMobile').value = config.Spooky.SymbolCountMobile;
document.querySelector('#EnableSpooky').checked = config.Spooky.EnableSpooky !== undefined ? config.Spooky.EnableSpooky : true; document.querySelector('#EnableSpooky').checked = config.Spooky.EnableSpooky;
document.querySelector('#SpookySize').value = config.Spooky.SpookySize !== undefined ? config.Spooky.SpookySize : 30; document.querySelector('#SpookySize').value = config.Spooky.SpookySize;
document.querySelector('#EnableSpookySway').checked = config.Spooky.EnableSpookySway !== undefined ? config.Spooky.EnableSpookySway : true; document.querySelector('#EnableSpookySway').checked = config.Spooky.EnableSpookySway;
document.querySelector('#SpookyGlowSize').value = config.Spooky.SpookyGlowSize !== undefined ? config.Spooky.SpookyGlowSize : 5; document.querySelector('#SpookyGlowSize').value = config.Spooky.SpookyGlowSize;
document.querySelector('#EnableDifferentDurationSpooky').checked = config.Spooky.EnableDifferentDuration !== false; document.querySelector('#EnableDifferentDurationSpooky').checked = config.Spooky.EnableDifferentDuration;
// Sports // Sports
const savedBallsString = config.Sports.SportsBalls || 'football,basketball,tennis,volleyball'; const savedBallsString = config.Sports.SportsBalls;
const savedBalls = savedBallsString.split(','); const savedBalls = savedBallsString.split(',');
document.querySelector('#EnableSports').checked = config.Sports.EnableSports !== false; document.querySelector('#EnableSports').checked = config.Sports.EnableSports;
document.querySelector('#EnableDifferentDurationSports').checked = config.Sports.EnableDifferentDuration !== false; document.querySelector('#EnableDifferentDurationSports').checked = config.Sports.EnableDifferentDuration;
document.querySelector('#SportsSymbolCount').value = config.Sports.SymbolCount !== undefined ? config.Sports.SymbolCount : 5; document.querySelector('#SportsSymbolCount').value = config.Sports.SymbolCount;
document.querySelector('#TurfColor').value = config.Sports.TurfColor || '#228b22'; document.querySelector('#TurfColor').value = config.Sports.TurfColor;
document.querySelector('#SportsConfettiColors').value = config.Sports.ConfettiColors || '#000000,#FF0000,#FFCC00'; document.querySelector('#SportsConfettiColors').value = config.Sports.ConfettiColors;
document.querySelector('#EnableTrophy').checked = config.Sports.EnableTrophy === true; document.querySelector('#EnableTrophy').checked = config.Sports.EnableTrophy;
document.querySelectorAll('.sport-ball-cb').forEach(cb => { document.querySelectorAll('.sport-ball-cb').forEach(cb => {
cb.checked = savedBalls.some(b => b === cb.value || b.startsWith(cb.value + '_')); cb.checked = savedBalls.some(b => b === cb.value || b.startsWith(cb.value + '_'));
}); });
// Spring // Spring
document.querySelector('#EnableSpring').checked = config.Spring.EnableSpring !== false; document.querySelector('#EnableSpring').checked = config.Spring.EnableSpring;
document.querySelector('#EnableSpringSunbeams').checked = config.Spring.EnableSpringSunbeams !== false; document.querySelector('#EnableSpringSunbeams').checked = config.Spring.EnableSpringSunbeams;
document.querySelector('#SpringPollenCount').value = config.Spring.PollenCount !== undefined ? config.Spring.PollenCount : 30; document.querySelector('#SpringPollenCount').value = config.Spring.PollenCount;
document.querySelector('#SpringSunbeamCount').value = config.Spring.SunbeamCount !== undefined ? config.Spring.SunbeamCount : 5; document.querySelector('#SpringSunbeamCount').value = config.Spring.SunbeamCount;
document.querySelector('#SpringBirdCount').value = config.Spring.BirdCount !== undefined ? config.Spring.BirdCount : 3; document.querySelector('#SpringBirdCount').value = config.Spring.BirdCount;
document.querySelector('#SpringButterflyCount').value = config.Spring.ButterflyCount !== undefined ? config.Spring.ButterflyCount : 4; document.querySelector('#SpringButterflyCount').value = config.Spring.ButterflyCount;
document.querySelector('#SpringBeeCount').value = config.Spring.BeeCount !== undefined ? config.Spring.BeeCount : 2; document.querySelector('#SpringBeeCount').value = config.Spring.BeeCount;
document.querySelector('#SpringLadybugCount').value = config.Spring.LadybugCount !== undefined ? config.Spring.LadybugCount : 2; document.querySelector('#SpringLadybugCount').value = config.Spring.LadybugCount;
document.querySelector('#SpringSymbolCountMobile').value = config.Spring.SymbolCountMobile !== undefined ? config.Spring.SymbolCountMobile : 2; document.querySelector('#SpringSymbolCountMobile').value = config.Spring.SymbolCountMobile;
// Star Wars // Star Wars
document.querySelector('#EnableStarWars').checked = config.StarWars.EnableStarWars !== false; document.querySelector('#EnableStarWars').checked = config.StarWars.EnableStarWars;
// Storm // Storm
document.querySelector('#EnableStorm').checked = config.Storm.EnableStorm !== false; document.querySelector('#EnableStorm').checked = config.Storm.EnableStorm;
document.querySelector('#StormRaindropCount').value = config.Storm.RaindropCount !== undefined ? config.Storm.RaindropCount : 300; document.querySelector('#StormRaindropCount').value = config.Storm.RaindropCount;
document.querySelector('#StormRaindropCountMobile').value = config.Storm.RaindropCountMobile !== undefined ? config.Storm.RaindropCountMobile : 150; document.querySelector('#StormRaindropCountMobile').value = config.Storm.RaindropCountMobile;
document.querySelector('#StormRainSpeed').value = config.Storm.RainSpeed !== undefined ? config.Storm.RainSpeed : 1.0; document.querySelector('#StormRainSpeed').value = config.Storm.RainSpeed;
document.querySelector('#StormEnableLightning').checked = config.Storm.EnableLightning !== false; document.querySelector('#StormEnableLightning').checked = config.Storm.EnableLightning;
// Summer // Summer
document.querySelector('#EnableSummer').checked = config.Summer.EnableSummer !== false; document.querySelector('#EnableSummer').checked = config.Summer.EnableSummer;
document.querySelector('#SummerBubbleCount').value = config.Summer.BubbleCount !== undefined ? config.Summer.BubbleCount : 30; document.querySelector('#SummerBubbleCount').value = config.Summer.BubbleCount;
document.querySelector('#SummerDustCount').value = config.Summer.DustCount !== undefined ? config.Summer.DustCount : 50; document.querySelector('#SummerDustCount').value = config.Summer.DustCount;
document.querySelector('#SummerSymbolCountMobile').value = config.Summer.SymbolCountMobile !== undefined ? config.Summer.SymbolCountMobile : 2; document.querySelector('#SummerSymbolCountMobile').value = config.Summer.SymbolCountMobile;
document.querySelector('#EnableDifferentDurationSummer').checked = config.Summer.EnableDifferentDuration !== false; document.querySelector('#EnableDifferentDurationSummer').checked = config.Summer.EnableDifferentDuration;
// Underwater // Underwater
document.querySelector('#EnableUnderwater').checked = config.Underwater.EnableUnderwater !== false; document.querySelector('#EnableUnderwater').checked = config.Underwater.EnableUnderwater;
document.querySelector('#EnableUnderwaterLightRays').checked = config.Underwater.EnableLightRays !== false; document.querySelector('#EnableUnderwaterLightRays').checked = config.Underwater.EnableLightRays;
document.querySelector('#EnableDifferentDurationUnderwater').checked = config.Underwater.EnableDifferentDuration !== false; document.querySelector('#EnableDifferentDurationUnderwater').checked = config.Underwater.EnableDifferentDuration;
document.querySelector('#UnderwaterSymbolCountMobile').value = config.Underwater.SymbolCountMobile !== undefined ? config.Underwater.SymbolCountMobile : 2; document.querySelector('#UnderwaterSymbolCountMobile').value = config.Underwater.SymbolCountMobile;
document.querySelector('#UnderwaterSeaweedCount').value = config.Underwater.SeaweedCount !== undefined ? config.Underwater.SeaweedCount : 50; document.querySelector('#UnderwaterSeaweedCount').value = config.Underwater.SeaweedCount;
document.querySelector('#UnderwaterFishCount').value = config.Underwater.FishCount !== undefined ? config.Underwater.FishCount : 15; document.querySelector('#UnderwaterFishCount').value = config.Underwater.FishCount;
document.querySelector('#UnderwaterSeahorseCount').value = config.Underwater.SeahorseCount !== undefined ? config.Underwater.SeahorseCount : 3; document.querySelector('#UnderwaterSeahorseCount').value = config.Underwater.SeahorseCount;
document.querySelector('#UnderwaterJellyfishCount').value = config.Underwater.JellyfishCount !== undefined ? config.Underwater.JellyfishCount : 3; document.querySelector('#UnderwaterJellyfishCount').value = config.Underwater.JellyfishCount;
document.querySelector('#UnderwaterTurtleCount').value = config.Underwater.TurtleCount !== undefined ? config.Underwater.TurtleCount : 1; document.querySelector('#UnderwaterTurtleCount').value = config.Underwater.TurtleCount;
document.querySelector('#UnderwaterCrabCount').value = config.Underwater.CrabCount !== undefined ? config.Underwater.CrabCount : 2; document.querySelector('#UnderwaterCrabCount').value = config.Underwater.CrabCount;
document.querySelector('#UnderwaterStarfishCount').value = config.Underwater.StarfishCount !== undefined ? config.Underwater.StarfishCount : 2; document.querySelector('#UnderwaterStarfishCount').value = config.Underwater.StarfishCount;
document.querySelector('#UnderwaterShellCount').value = config.Underwater.ShellCount !== undefined ? config.Underwater.ShellCount : 2; document.querySelector('#UnderwaterShellCount').value = config.Underwater.ShellCount;
} catch(e) { } catch(e) {
console.error('[Seasonals] Error loading config:', e); console.error('[Seasonals] Error loading config:', e);