From e1a62a69f6848ae8a2cc31b29e2ffae23def21d4 Mon Sep 17 00:00:00 2001
From: Michael Shamoon <4887959+shamoon@users.noreply.github.com>
Date: Thu, 20 Oct 2022 01:52:47 -0700
Subject: [PATCH] Openmeteo Widget
---
public/locales/en/common.json | 58 ++++++++
src/components/widgets/openmeteo/icon.jsx | 7 +
.../widgets/openmeteo/openmeteo.jsx | 130 ++++++++++++++++++
src/components/widgets/widget.jsx | 1 +
src/pages/api/widgets/openmeteo.js | 8 ++
5 files changed, 204 insertions(+)
create mode 100644 src/components/widgets/openmeteo/icon.jsx
create mode 100644 src/components/widgets/openmeteo/openmeteo.jsx
create mode 100644 src/pages/api/widgets/openmeteo.js
diff --git a/public/locales/en/common.json b/public/locales/en/common.json
index 69d88305..b1fded09 100644
--- a/public/locales/en/common.json
+++ b/public/locales/en/common.json
@@ -218,5 +218,63 @@
"cpu": "CPU",
"mem": "MEM",
"wait": "Please wait"
+ },
+ "wmo": {
+ "0-day": "Sunny",
+ "0-night": "Clear",
+ "1-day": "Mainly Sunny",
+ "1-night": "Mainly Clear",
+ "2-day": "Partly Cloudy",
+ "2-night": "Partly Cloudy",
+ "3-day": "Cloudy",
+ "3-night": "Cloudy",
+ "45-day": "Foggy",
+ "45-night": "Foggy",
+ "48-day": "Foggy",
+ "48-night": "Foggy",
+ "51-day": "Light Drizzle",
+ "51-night": "Light Drizzle",
+ "53-day": "Drizzle",
+ "53-night": "Drizzle",
+ "55-day": "Heavy Drizzle",
+ "55-night": "Heavy Drizzle",
+ "56-day": "Light Freezing Drizzle",
+ "56-night": "Light Freezing Drizzle",
+ "57-day": "Freezing Drizzle",
+ "57-night": "Freezing Drizzle",
+ "61-day": "Light Rain",
+ "61-night": "Light Rain",
+ "63-day": "Rain",
+ "63-night": "Rain",
+ "65-day": "Heavy Rain",
+ "65-night": "Heavy Rain",
+ "66-day": "Freezing Rain",
+ "66-night": "Freezing Rain",
+ "67-day": "Freezing Rain",
+ "67-night": "Freezing Rain",
+ "71-day": "Light Snow",
+ "71-night": "Light Snow",
+ "73-day": "Snow",
+ "73-night": "Snow",
+ "75-day": "Heavy Snow",
+ "75-night": "Heavy Snow",
+ "77-day": "Snow Grains",
+ "77-night": "Snow Grains",
+ "80-day": "Light Showers",
+ "80-night": "Light Showers",
+ "81-day": "Showers",
+ "81-night": "Showers",
+ "82-day": "Heavy Showers",
+ "82-night": "Heavy Showers",
+ "85-day": "Snow Showers",
+ "85-night": "Snow Showers",
+ "86-day": "Snow Showers",
+ "86-night": "Snow Showers",
+ "95-day": "Thunderstorm",
+ "95-night": "Thunderstorm",
+ "96-day": "Thunderstorm With Hail",
+ "96-night": "Thunderstorm With Hail",
+ "99-day": "Thunderstorm With Hail",
+ "99-night": "Thunderstorm With Hail"
}
}
diff --git a/src/components/widgets/openmeteo/icon.jsx b/src/components/widgets/openmeteo/icon.jsx
new file mode 100644
index 00000000..a2b01ba1
--- /dev/null
+++ b/src/components/widgets/openmeteo/icon.jsx
@@ -0,0 +1,7 @@
+import mapIcon from "utils/weather/owm-condition-map";
+
+export default function Icon({ condition, timeOfDay }) {
+ const IconComponent = mapIcon(condition, timeOfDay);
+
+ return