italoboy / full-weatherline-widget Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Hello, I would love to see support for a medium size widget where the user can choose what elements to keep.
When Imperial units are selected the units for wind speed is still "m/s".
Per the OneCall API documentation the units should be "mph".
Hi dev,
first of all thanks you for sharing the script.
i would appreaciated if you could help me how to change the color background and the font color.
looking forward to hearing from you soon
best regards,
Minh Tam
When Imperial units are selected the air pressure should be converted.
Getting the following error and my coding isn't good enough and I'm not confident enough to tell what needs changing here.
Error on line 1205:54: TypeError: undefined is not an object (evaluating 'weatherData.daily[0]')
I’m trying to make the background gradient of this scriptable iOS widget more transparent but I can’t figure out how and I’m not familiar to JavaScript.
https://github.com/italoboy/Full-Weatherline-Widget
This is the code where I think the default background is generated but I don’t know how to edit this to make it less opaque.
let gradient = new LinearGradient()
let gradientSettings = await setupGradient()
gradient.colors = gradientSettings.color()
gradient.locations = gradientSettings.position()
widget.backgroundGradient = gradient
And this should be the corresponding function that is called here.
// Set up the gradient for the widget background.
async function setupGradient() {
// Requirements: sunrise
if (!sunData) { await setupSunrise() }
let gradient = {
dawn: {
color() { return [new Color("142C52"), new Color("1B416F"), new Color("62668B")] },
position() { return [0, 0.5, 1] },
},
sunrise: {
color() { return [new Color("274875"), new Color("766f8d"), new Color("f0b35e")] },
position() { return [0, 0.8, 1.5] },
},
midday: {
color() { return [new Color("3a8cc1"), new Color("90c0df")] },
position() { return [0, 1] },
},
noon: {
color() { return [new Color("b2d0e1"), new Color("80B5DB"), new Color("3a8cc1")] },
position() { return [-0.2, 0.2, 1.5] },
},
sunset: {
color() { return [new Color("32327A"), new Color("662E55"), new Color("7C2F43")] },
position() { return [0.1, 0.9, 1.2] },
},
twilight: {
color() { return [new Color("021033"), new Color("16296b"), new Color("414791")] },
position() { return [0, 0.5, 1] },
},
night: {
color() { return [new Color("16296b"), new Color("021033"), new Color("021033"), new Color("113245")] },
position() { return [-0.5, 0.2, 0.5, 1] },
},
}
const sunrise = sunData.sunrise
const sunset = sunData.sunset
// Use sunrise or sunset if we're within 30min of it.
if (closeTo(sunrise)<=15) { return gradient.sunrise }
if (closeTo(sunset)<=15) { return gradient.sunset }
// In the 30min before/after, use dawn/twilight.
if (closeTo(sunrise)<=45 && currentDate.getTime() < sunrise) { return gradient.dawn }
if (closeTo(sunset)<=45 && currentDate.getTime() > sunset) { return gradient.twilight }
// Otherwise, if it's night, return night.
if (isNight(currentDate)) { return gradient.night }
// If it's around noon, the sun is high in the sky.
if (currentDate.getHours() == 12) { return gradient.noon }
// Otherwise, return the "typical" theme.
return gradient.midday
}
I hope someone around here can help me.
I figured out that you can add a parameter to the color function but even if I set it to 0% opacity it’ll just appear much darker.
color() { return [new Color("142C52", 0), new Color("1B416F", 0), new Color("62668B", 0)] },
It would be the same as the medium widget except the line graph would only show the current weather and the weather for the next 3 hours, instead of the next 9 hours.
Hello, I got the following error massage and I don’t how to solve it:
Error on line 1799:37: Expected value of type string but got value of type undefined.
Or:
Error on line 1800:37: Expected value of type string but got value of type undefined.
Thank you for a quick help!
Add menu of useful actions.
Have api key -
Says: No cache saved for sunrise but your offline
iCloud is also connected
Two issues:
Hi,
thanks for your great widget!
In northern Europe the data from api.met.no is way better and more accurate that openweatermap. May I suggest to add the possibility to use this as a source, too? 👍
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.