From 0b5e2e86f023680295bea9a03b342eb20b4a0674 Mon Sep 17 00:00:00 2001 From: LemmyCook Date: Sun, 24 Aug 2025 10:02:00 -0400 Subject: [PATCH] Location/Weather: using a different API to geocode location name + fixed weather display which was offseted by a day --- Modules/SettingsPanel/Tabs/BarTab.qml | 5 +++-- Modules/SidePanel/Cards/WeatherCard.qml | 5 ++++- Services/LocationService.qml | 8 ++++---- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Modules/SettingsPanel/Tabs/BarTab.qml b/Modules/SettingsPanel/Tabs/BarTab.qml index 40d59da..d0476c6 100644 --- a/Modules/SettingsPanel/Tabs/BarTab.qml +++ b/Modules/SettingsPanel/Tabs/BarTab.qml @@ -216,10 +216,10 @@ ColumnLayout { } function removeWidgetFromSection(section, index) { - // Logger.log("BarTab", "Removing widget from section", section, "at index", index) + // Logger.log("BarTab", "Removing widget from section", section, "at index", index) var sectionArray = Settings.data.bar.widgets[section] - //Logger.log("BarTab", "Current section array:", JSON.stringify(sectionArray)) + //Logger.log("BarTab", "Current section array:", JSON.stringify(sectionArray)) if (sectionArray && index >= 0 && index < sectionArray.length) { // Create a new array to avoid modifying the original var newArray = sectionArray.slice() @@ -238,6 +238,7 @@ ColumnLayout { //Logger.log("BarTab", "Verification - updated section array:", JSON.stringify(updatedArray)) }, 100) } else { + //Logger.log("BarTab", "Invalid section or index:", section, index, "array length:", // sectionArray ? sectionArray.length : "null") } diff --git a/Modules/SidePanel/Cards/WeatherCard.qml b/Modules/SidePanel/Cards/WeatherCard.qml index 468d12c..e9c7a17 100644 --- a/Modules/SidePanel/Cards/WeatherCard.qml +++ b/Modules/SidePanel/Cards/WeatherCard.qml @@ -90,7 +90,10 @@ NBox { Layout.alignment: Qt.AlignHCenter spacing: Style.marginS * scaling NText { - text: Qt.formatDateTime(new Date(LocationService.data.weather.daily.time[index]), "ddd") + text: { + var weatherDate = new Date(LocationService.data.weather.daily.time[index].replace(/-/g, "/")) + return Qt.formatDateTime(weatherDate, "ddd") + } color: Color.mOnSurface } NIcon { diff --git a/Services/LocationService.qml b/Services/LocationService.qml index 0ac0ac2..c758856 100644 --- a/Services/LocationService.qml +++ b/Services/LocationService.qml @@ -109,8 +109,8 @@ Singleton { // -------------------------------- function _geocodeLocation(locationName, callback, errorCallback) { - Logger.log("Location", "Geocoding from api.open-meteo.com") - var geoUrl = "https://geocoding-api.open-meteo.com/v1/search?name=" + encodeURIComponent( + Logger.log("Location", "Geocoding location name") + var geoUrl = "https://assets.noctalia.dev/geocode.php?city=" + encodeURIComponent( locationName) + "&language=en&format=json" var xhr = new XMLHttpRequest() xhr.onreadystatechange = function () { @@ -119,8 +119,8 @@ Singleton { try { var geoData = JSON.parse(xhr.responseText) // Logger.logJSON.stringify(geoData)) - if (geoData.results && geoData.results.length > 0) { - callback(geoData.results[0].latitude, geoData.results[0].longitude) + if (geoData.lat != null) { + callback(geoData.lat, geoData.lng) } else { errorCallback("Location", "could not resolve location name") }