umbrella

Umbrella

Actively Maintained

A simple weather app that tells you if you need to take an umbrella when going outside ☔ + it shows air quality and allergy information for supported regions. Currently only in Polish.

It doesn’t show current weather outside - you can check it yourself by looking out through a window 🙃 Umbrella will tell you the future 🔮.

And it’s kinda quick at that: Pingdom report, GTmetrix report.

Screenshots

How to use

Click here. For now it shows temperature, air pressure, wind speed, sunrise & sunset, what to wear, air quality. Location is saved in the 🍪s for 30 days. If you want to change the location, click on 🌍. If you want to geolocate yourself (GPS/IP), click on 📍.

Roadmap

Release History

Click to see all updates < 0.30 - 0.29: Added UV index info with notifications when UVI means high risk of harm from unprotected sun exposure. - 0.28.1: Log `autoRefreshLastUpdate`. - 0.28: Auto-refresh every 1 hour to load a new forecast. - 0.27: Re-enabled macOS notification and added Windows 10 notification when `PollenInfoAutoUpdate` is complete. - 0.26.3: Disabled macOS notification added in 0.24. - 0.26.2: Removed sound from macOS notification when allergens/pollen info is updated. - 0.26.1: Added a 500 ms delay so air quality info is not being shown with the loading screen but after; increased the delay from 1500 ms → 2000 ms for allergens/pollen info; tweaked notifications so they won't be closed without user's interaction. - 0.26: Added browser notification feature when air quality is bad. `alert()` being used when notifications are not supported / blocked. - 0.25: Added dawn & dusk times; renamed files so it's easier to understand what's happening where. moved some functions around. - 0.24.3: Fixed "Die Null" bug. - 0.24.2: Fixed `TypeError` from _0.24.1_. - 0.24.1: Fixed a bug causing no allergens/pollen info updates. - 0.24: Added macOS notification to show when the update was ran. - 0.23.2: Tiny change to `theme-color` for purple background. - 0.23.1: Removed allergens/pollen date range info until a fix for APIv2 is in place. - 0.23: Added a function & `try-except` to allergens/pollen script. - 0.22: Re-added information on allergens/pollen - using a different website now. - 0.21.3: Information on allergens/pollen has been disabled due to backend change on the site from which the data was collected. - 0.21.2: Fixed spacing between items in `more_details` section. - 0.21.1: Fixed font not working due to minification problem. - 0.21: Added an emoji distinction of wind strength + improved RWD in one specific case. - 0.20.2: Small fix to show pollen info for both `Wroclaw` & `Wrocław`. Changed text when geolocating. - 0.20.1: Small fix to `air_quality.js`. - 0.19.6 & 0.20: Added: info about PM2.5 & PM10; it's now possible to hide allergy info. Changed: air quality scale is now more strict; modified spacing between elements on smartphones; clothing recommendations; emojis. Removed: info about weather in the next 6 hours. - 0.19.5: Changed primary temperature from next 6 hours to current. - 0.19.4: Added GitHub backlink. - 0.19.3: Translated remaining titles to PL. - 0.19.2: Removed `fonts.googleapis.com` calls by self-hosting the font. - 0.19.1: Tiny fix to a file path. - 0.19: I hid allergens/pollen information behind _🤧👀_ emojis to improve UX + moved JS from main `umbrella.html` to separate files so it's easier to navigate. Also turned off EN version until I figure out how to easily maintain two languages. - 0.18: Another big one: implemented allergens/pollen info for selected Polish cities - I'm scraping those in Python from [this page](https://www.claritine.pl/pl/prognoza-dla-alergikow/aktualna-prognoza-pylenia/). - 0.17: Big one: - Instead of showing the normal temperature, the "feels like" temperature will be shown. - Added air pressure info. - Swapped way of showing smog alert from `alert()` to browser notification. - More ⚰️s are shown when air pollution is extreme. - Changed code formatting from [Beautify](https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify) to [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode). - Minified JS, CSS and HTML files. - 0.16: Added alert when air pollution is really bad. - 0.15.1: Fixed a `null` bug when geolocating. - 0.15: Fixed a `null` bug in `offline.html`. - 0.14.2: Updated `og:image`. - 0.14.1: Tiny fix to layout. - 0.14: [Umbrella (English version)](https://vardecab.github.io/umbrella/umbrella-en.html) + [Umbrella (Polish version)](https://vardecab.github.io/umbrella/umbrella.html) - 0.13.5: Bug fixes and refined backgrounds. - 0.13.4: Updates to `offline.html`, bug fixing and some cleanup in various places. Added new icon for a very low temperature. - 0.13.3: Fixed a loading bug on first use. - 0.13.2: Changed favicon. - 0.13.1: Country now displayed alongside city name. - 0.13: Added [theme-color meta tag](https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android) based dynamically on the background color for mobile Chromium-based browsers. - 0.12: Added [geolocation](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API). - 0.11.1: Changed main font to [Mali](https://fonts.google.com/specimen/Mali). - 0.11: Added allergy/pollen API but then removed due to its weak coverage. - 0.10.1: RWD fixes, switched fonts. - 0.10: Added air quality support for (probably) all cities. - 0.9.3: `styles.css`: cleaned up, added comments, fixes for RWD, changed main font. Changed air quality emojis. - 0.9.2: Changed air quality emojis. - 0.9.1: Added social media tags for sharing. - 0.9: Added weather info support for (probably) all cities. - 0.8: Updated some backgrounds to better align with standards. Added different background and icon for temperature +30. - 0.7: Added air quality info from Airly API. - 0.6.1: Tiny RWD fix. - 0.6: Implemented Service Worker. - 0.5: Store & display weather data from `localStorage` when offline. Fixes for RWD. - 0.4: Added new page to load when browser is offline. - 0.3.3: Added several comments, added a few icons, added "Snowing" logic, styled `