mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-09 06:33:05 -04:00
add air quality to weather
This commit is contained in:
parent
92652f60cc
commit
8ad6d39cfa
2 changed files with 48 additions and 6 deletions
|
@ -23,18 +23,39 @@ function temperature(value, units){
|
||||||
return `${Math.floor(modifiers[units](value))}${units}`
|
return `${Math.floor(modifiers[units](value))}${units}`
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderWeatherCard(context, data, units){
|
function getUvIndex(value){
|
||||||
let description = `### ${weatherIcon(data.result.current.icon.id)} ${temperature(data.result.current.temperature.current, units)} • ${data.result.current.condition.label}\n\n${pill("Feels like")} ${smallPill(temperature(data.result.current.temperature.feels_like, units))} ${pill("Wind")} `
|
switch(i){
|
||||||
|
case i <= 2:
|
||||||
|
return "uv_index_0"
|
||||||
|
case i <= 5:
|
||||||
|
return "uv_index_1"
|
||||||
|
case i <= 7:
|
||||||
|
return "uv_index_2"
|
||||||
|
case i <= 10:
|
||||||
|
return "uv_index_3"
|
||||||
|
case i <= 11:
|
||||||
|
return "uv_index_4"
|
||||||
|
default:
|
||||||
|
return "question"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(units == "°F") description += smallPill((data.result.current.wind.speed / 1.609).toFixed(2) + " mph")
|
function renderWeatherCard(context, data, units){
|
||||||
else description += smallPill((data.result.current.wind.speed).toFixed(2) + " km/h")
|
let description = `### ${weatherIcon(data.result.current.icon.id)} ${temperature(data.result.current.temperature.current, units)} • ${data.result.current.condition.label}\n\n${pill("Feels like")} ${smallPill(temperature(data.result.current.temperature.feels_like, units))} ${pill("Wind")} `
|
||||||
|
|
||||||
|
if(units == "°F") description += smallPill((data.result.current.wind.speed / 1.609).toFixed(2) + " mph")
|
||||||
|
else description += smallPill((data.result.current.wind.speed).toFixed(2) + " km/h")
|
||||||
|
|
||||||
let secondaryPills = [];
|
let secondaryPills = [];
|
||||||
if(data.result.current.humidity > 0) secondaryPills.push(`${pill("Humidity")} ${smallPill(Math.floor(data.result.current.humidity * 100) + "%")}`)
|
if(data.result.current.humidity > 0) secondaryPills.push(`${pill("Humidity")} ${smallPill(Math.floor(data.result.current.humidity * 100) + "%")}`)
|
||||||
if(data.result.current.uvindex > 0) secondaryPills.push(`${pill("UV Index")} ${smallPill(data.result.current.uvindex)}`)
|
if(data.result.current.uvindex > 0) secondaryPills.push(`${iconPill(getUvIndex(data.result.uvindex), "UV Index")} ${smallPill(data.result.current.uvindex)}`)
|
||||||
|
|
||||||
if(secondaryPills.length >= 1) description += '\n' + secondaryPills.join(` `)
|
if(secondaryPills.length >= 1) description += '\n' + secondaryPills.join(` `)
|
||||||
|
|
||||||
|
if(data.result.air_quality){
|
||||||
|
description += `\n${iconPill("air_quality_" + data.result.air_quality.type, "Air Quality")} ${smallPill(`${data.result.air_quality.label} (${data.result.air_quality.value})`)}`
|
||||||
|
}
|
||||||
|
|
||||||
description += `\n\n${iconPill("sun", "Sunrise")} ${timestamp(data.result.current.sun.sunrise, "t")} ${iconPill("moon", "Sunset")} ${timestamp(data.result.current.sun.sunset, "t")}`
|
description += `\n\n${iconPill("sun", "Sunrise")} ${timestamp(data.result.current.sun.sunrise, "t")} ${iconPill("moon", "Sunset")} ${timestamp(data.result.current.sun.sunset, "t")}`
|
||||||
|
|
||||||
// Render weather alerts
|
// Render weather alerts
|
||||||
|
|
|
@ -23,6 +23,23 @@ function temperature(value, units){
|
||||||
return `${Math.floor(modifiers[units](value))}${units}`
|
return `${Math.floor(modifiers[units](value))}${units}`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getUvIndex(value){
|
||||||
|
switch(i){
|
||||||
|
case i <= 2:
|
||||||
|
return "uv_index_0"
|
||||||
|
case i <= 5:
|
||||||
|
return "uv_index_1"
|
||||||
|
case i <= 7:
|
||||||
|
return "uv_index_2"
|
||||||
|
case i <= 10:
|
||||||
|
return "uv_index_3"
|
||||||
|
case i <= 11:
|
||||||
|
return "uv_index_4"
|
||||||
|
default:
|
||||||
|
return "question"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function renderWeatherCard(context, data, units){
|
function renderWeatherCard(context, data, units){
|
||||||
let description = `### ${weatherIcon(data.result.current.icon.id)} ${temperature(data.result.current.temperature.current, units)} • ${data.result.current.condition.label}\n\n${pill("Feels like")} ${smallPill(temperature(data.result.current.temperature.feels_like, units))} ${pill("Wind")} `
|
let description = `### ${weatherIcon(data.result.current.icon.id)} ${temperature(data.result.current.temperature.current, units)} • ${data.result.current.condition.label}\n\n${pill("Feels like")} ${smallPill(temperature(data.result.current.temperature.feels_like, units))} ${pill("Wind")} `
|
||||||
|
|
||||||
|
@ -31,10 +48,14 @@ function renderWeatherCard(context, data, units){
|
||||||
|
|
||||||
let secondaryPills = [];
|
let secondaryPills = [];
|
||||||
if(data.result.current.humidity > 0) secondaryPills.push(`${pill("Humidity")} ${smallPill(Math.floor(data.result.current.humidity * 100) + "%")}`)
|
if(data.result.current.humidity > 0) secondaryPills.push(`${pill("Humidity")} ${smallPill(Math.floor(data.result.current.humidity * 100) + "%")}`)
|
||||||
if(data.result.current.uvindex > 0) secondaryPills.push(`${pill("UV Index")} ${smallPill(data.result.current.uvindex)}`)
|
if(data.result.current.uvindex > 0) secondaryPills.push(`${iconPill(getUvIndex(data.result.uvindex), "UV Index")} ${smallPill(data.result.current.uvindex)}`)
|
||||||
|
|
||||||
if(secondaryPills.length >= 1) description += '\n' + secondaryPills.join(` `)
|
if(secondaryPills.length >= 1) description += '\n' + secondaryPills.join(` `)
|
||||||
|
|
||||||
|
if(data.result.air_quality){
|
||||||
|
description += `\n${iconPill("air_quality_" + data.result.air_quality.type, "Air Quality")} ${smallPill(`${data.result.air_quality.label} (${data.result.air_quality.value})`)}`
|
||||||
|
}
|
||||||
|
|
||||||
description += `\n\n${iconPill("sun", "Sunrise")} ${timestamp(data.result.current.sun.sunrise, "t")} ${iconPill("moon", "Sunset")} ${timestamp(data.result.current.sun.sunset, "t")}`
|
description += `\n\n${iconPill("sun", "Sunrise")} ${timestamp(data.result.current.sun.sunrise, "t")} ${iconPill("moon", "Sunset")} ${timestamp(data.result.current.sun.sunset, "t")}`
|
||||||
|
|
||||||
// Render weather alerts
|
// Render weather alerts
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue