From 546932baf93f810a70a3ae839fe34370e6a2e065 Mon Sep 17 00:00:00 2001
From: justmessingaround <69480361+DemonKingSwarn@users.noreply.github.com>
Date: Thu, 25 Jan 2024 17:12:08 +0530
Subject: [PATCH 1/2] Chore: replaced openweather api with wttr.in
---
assets/js/weather.js | 100 +++++++++++++++++++------------------------
1 file changed, 44 insertions(+), 56 deletions(-)
diff --git a/assets/js/weather.js b/assets/js/weather.js
index 3d0dbb999..688eaebbc 100644
--- a/assets/js/weather.js
+++ b/assets/js/weather.js
@@ -1,62 +1,50 @@
-// ┬ ┬┌─┐┌─┐┌┬┐┬ ┬┌─┐┬─┐
-// │││├┤ ├─┤ │ ├─┤├┤ ├┬┘
-// └┴┘└─┘┴ ┴ ┴ ┴ ┴└─┘┴└─
-// Functions to setup Weather widget.
+ async function getWeather(location) {
+ try {
+ const response = await fetch(`https://wttr.in/${location}?format=%t`);
+
+ if (!response.ok) {
+ throw new Error('Failed to fetch weather information');
+ }
-const iconElement = document.querySelector('.weatherIcon');
-const tempElement = document.querySelector('.weatherValue p');
-const descElement = document.querySelector('.weatherDescription p');
+ const weatherData = await response.text();
+ const weatherContainer = document.getElementById('weather-container');
+ weatherContainer.textContent = `Weather in ${location}: ${weatherData}`;
+ } catch (error) {
+ console.error(error.message);
+ }
+ }
-const weather = {};
-weather.temperature = {
- unit: 'celsius',
-};
-var tempUnit = CONFIG.weatherUnit;
+// Function to get weather information from wttr.in based on user's location
+async function getWeatherByLocation() {
+ try {
+ if (navigator.geolocation) {
+ navigator.geolocation.getCurrentPosition(async function(position) {
+ const { latitude, longitude } = position.coords;
+ const response = await fetch(`https://wttr.in/${latitude},${longitude}?format=%t`);
+
+ if (!response.ok) {
+ throw new Error('Failed to fetch weather information');
+ }
-const KELVIN = 273.15;
-const key = `${CONFIG.weatherKey}`;
-setPosition();
-
-function setPosition(position) {
- if (!CONFIG.trackLocation || !navigator.geolocation) {
- if (CONFIG.trackLocation) {
- console.error('Geolocation not available');
- }
- getWeather(CONFIG.defaultLatitude, CONFIG.defaultLongitude);
- return;
- }
- navigator.geolocation.getCurrentPosition(
- pos => {
- getWeather(pos.coords.latitude.toFixed(3), pos.coords.longitude.toFixed(3));
- },
- err => {
- console.error(err);
- getWeather(CONFIG.defaultLatitude, CONFIG.defaultLongitude);
- }
- );
-}
-
-function getWeather(latitude, longitude) {
- let api = `https://api.openweathermap.org/data/2.5/weather?lat=${latitude}&lon=${longitude}&lang=${CONFIG.language}&appid=${key}`;
- fetch(api)
- .then(function(response) {
- let data = response.json();
- return data;
- })
- .then(function(data) {
- let celsius = Math.floor(data.main.temp - KELVIN);
- weather.temperature.value = tempUnit == 'C' ? celsius : (celsius * 9) / 5 + 32;
- weather.description = data.weather[0].description;
- weather.iconId = data.weather[0].icon;
- })
- .then(function() {
- displayWeather();
- });
+ const weatherData = await response.text();
+ const weatherContainer = document.getElementById('weather-container');
+ weatherContainer.textContent = `Weather at your location: ${weatherData}`;
+ });
+ } else {
+ throw new Error('Geolocation is not supported by your browser');
+ }
+ } catch (error) {
+ console.error(error.message);
+ }
}
-function displayWeather() {
- iconElement.innerHTML = ``;
- tempElement.innerHTML = `${weather.temperature.value.toFixed(0)}°${tempUnit}`;
- descElement.innerHTML = weather.description;
-}
+// Ask for location permission when the page loads
+document.addEventListener('DOMContentLoaded', function() {
+ if (confirm('Allow this website to access your location for weather information?')) {
+ getWeatherByLocation();
+ } else {
+ // Provide a fallback or default location if the user denies location access
+ getWeather('Ranchi'); // Change this to your desired default location
+ }
+});
From ce3ebb1ffc2d788498277c44a34ab529143e3dd4 Mon Sep 17 00:00:00 2001
From: justmessingaround <69480361+DemonKingSwarn@users.noreply.github.com>
Date: Thu, 25 Jan 2024 17:13:21 +0530
Subject: [PATCH 2/2] chore: updated the index.html accordingly for the new
weather
---
index.html | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/index.html b/index.html
index 2f9234e2d..f433e54b1 100644
--- a/index.html
+++ b/index.html
@@ -37,17 +37,7 @@
- °c
-