diff --git a/web/src/components/StatusBanner.svelte b/web/src/components/StatusBanner.svelte index 065d082..a7b76af 100644 --- a/web/src/components/StatusBanner.svelte +++ b/web/src/components/StatusBanner.svelte @@ -58,10 +58,11 @@ // Simplified sun calculation (based on NOAA algorithm) function getSunTimes(date, lat, lon) { const rad = Math.PI / 180; + const longitude = -lon; const dayOfYear = getDayOfYear(date); // Fractional year - const gamma = (2 * Math.PI / 365) * (dayOfYear - 1 + (date.getHours() - 12) / 24); + const gamma = (2 * Math.PI / 365) * (dayOfYear - 1 + (date.getUTCHours() - 12) / 24); // Equation of time (minutes) const eqTime = 229.18 * (0.000075 + 0.001868 * Math.cos(gamma) - 0.032077 * Math.sin(gamma) @@ -87,8 +88,8 @@ const ha = Math.acos(cosHA) / rad; // Hour angle in degrees // Sunrise and sunset times in minutes from midnight UTC - const sunriseMinutes = 720 - 4 * (lon + ha) - eqTime; - const sunsetMinutes = 720 - 4 * (lon - ha) - eqTime; + const sunriseMinutes = 720 - 4 * (longitude + ha) - eqTime; + const sunsetMinutes = 720 - 4 * (longitude - ha) - eqTime; // Convert to local Date objects const sunriseDate = new Date(date); @@ -98,6 +99,11 @@ const sunsetDate = new Date(date); sunsetDate.setUTCHours(0, 0, 0, 0); sunsetDate.setUTCMinutes(sunsetMinutes); + + console.log( + sunrise.toISOString(), + sunrise.toString() + ); return { sunrise: sunriseDate, sunset: sunsetDate }; } @@ -312,7 +318,7 @@ {/if} {:else} - 📍 Position non configurée + 📍 Position not set {/if}