summaryrefslogtreecommitdiff
path: root/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'index.js')
-rw-r--r--index.js159
1 files changed, 159 insertions, 0 deletions
diff --git a/index.js b/index.js
new file mode 100644
index 0000000..923f028
--- /dev/null
+++ b/index.js
@@ -0,0 +1,159 @@
+const doc = document;
+
+function updateClock() {
+ var days = [
+ "sunday",
+ "monday",
+ "tuesday",
+ "wednesday",
+ "thursday",
+ "friday",
+ "saturday",
+ ];
+ var months = [
+ "january",
+ "february",
+ "march",
+ "april",
+ "may",
+ "june",
+ "july",
+ "august",
+ "september",
+ "october",
+ "november",
+ "december",
+ ];
+ var m = new Date();
+ var dateStr =
+ days[m.getDay()] +
+ " " +
+ months[m.getMonth()] +
+ " " +
+ m.getDate() +
+ ", " +
+ m.getFullYear() +
+ " | " +
+ ("0" + m.getHours()).slice(-2) +
+ ":" +
+ ("0" + m.getMinutes()).slice(-2) +
+ ":" +
+ ("0" + m.getSeconds()).slice(-2);
+ doc.getElementById("time").innerHTML = dateStr;
+ setTimeout(updateClock, 500);
+}
+
+function weather() {
+ var key = "40d2bf562ba19169b08d75a16f3756c1";
+ var lat = "45.53929";
+ var lon = "-122.38731";
+
+ fetch(
+ `https://api.openweathermap.org/data/2.5/onecall?units=metric&lat=${lat}&lon=${lon}&exclude=minutely,hourly&appid=${key}`
+ )
+ .then((resp) => resp.json())
+ .then((data) => {
+ displayWeather(data);
+ })
+ .catch((e) => {
+ console.log(`ERROR! ${e}`);
+ });
+}
+
+function displayWeather(data) {
+ var conditions = {
+ 200: "thunderstorms, light rain",
+ 201: "thunderstorms, rain",
+ 202: "thunderstorms, heavy rain",
+ 210: "light thunderstorms",
+ 211: "thunderstorms",
+ 212: "heavy thunderstorms",
+ 221: "ragged thunderstorms",
+ 230: "thunderstorms, light drizzle",
+ 231: "thunderstorms, drizzle",
+ 232: "thunderstorms, heavy drizzle",
+
+ 300: "light drizzle",
+ 301: "drizzle",
+ 302: "heavy drizzle",
+ 310: "light drizzle rain",
+ 311: "drizzle rain",
+ 312: "heavy drizzle rain",
+ 313: "rain showers and drizzle",
+ 314: "heavy rain showers and drizzle",
+ 321: "drizzle showers",
+
+ 500: "light rain",
+ 501: "rain",
+ 502: "heavy rain",
+ 503: "very heavy rain",
+ 504: "extreme rain",
+ 511: "freezing rain",
+ 520: "light showers",
+ 521: "showers",
+ 522: "heavy showers",
+ 531: "ragged showers",
+
+ 600: "light snow",
+ 601: "snow",
+ 602: "heavy snow",
+ 611: "sleet",
+ 612: "light sleet",
+ 613: "sleet showers",
+ 615: "light rain and snow",
+ 616: "rain and snow, glhf",
+ 620: "light snow showers",
+ 621: "snow showers",
+ 622: "heavy snow showers",
+
+ 701: "mist",
+ 711: "smoke",
+ 721: "haze",
+ 731: "dust",
+ 741: "fog",
+ 751: "darude sandstorm",
+ 761: "dust",
+ 762: "stark mountain ash",
+ 771: "squalls",
+ 781: "tornado",
+
+ 800: "clear",
+ 801: "light clouds",
+ 802: "scattered clouds",
+ 803: "broken clouds",
+ 804: "overcast",
+ };
+
+ var currentWeather = `${data.current.temp.toFixed(0)}°c
+ ${conditions[data.current.weather[0].id]} (feels like
+ ${data.current.feels_like.toFixed(0)}°c)`;
+
+ var tmrrwWeather = `${data.daily[1].temp.day.toFixed(0)}°c
+ ${conditions[data.daily[1].weather[0].id]} (feels like
+ ${data.daily[1].feels_like.day.toFixed(0)}°c)`;
+
+ doc.getElementById("current").innerHTML += currentWeather;
+ doc.getElementById("tmrrw").innerHTML += tmrrwWeather;
+}
+
+function chooseWaifu() {
+ // imgs = [
+ // "https://safebooru.org//images/4328/bd9ffeae0248d21841160ee8e605856371d11c4f.jpg",
+ // "https://safebooru.org//samples/4328/sample_03c998b6ad2f7f36116699b383890ae113e64fca.jpg",
+ // "https://safebooru.org//samples/4328/sample_fe9ee936fdf55235fcb31a2276f23b1b581773bb.jpg",
+ // ];
+ // doc.getElementById("waifu").src = `${
+ // imgs[Math.floor(Math.random() * imgs.length)]
+ // }`;
+ fetch("https://api.waifu.im/search").then((response) => {
+ response.json().then((json) => {
+ doc.getElementById("waifu").src = json["images"][0]["url"];
+ });
+ });
+}
+
+window.onload = function () {
+ chooseWaifu();
+ weather();
+};
+updateClock();