Files
WeatherTool/web/src/pages/lvgmc-forecast/LvgmcForecast.tsx
T

58 lines
2.0 KiB
TypeScript
Raw Normal View History

2025-03-15 21:34:44 +02:00
import { Component, createEffect, createSignal, Setter } from 'solid-js'
2025-03-12 13:16:35 +02:00
2025-03-14 11:31:47 +02:00
import dayBgMap from '../../assets/map_3840x1440_wind.webp'
import nightBgMap from '../../assets/map_night_3840x1440_wind.webp'
2025-03-12 14:36:30 +02:00
import { CsvMapData } from './CsvMapData'
import { Table } from '../../components/table/Table'
2025-03-15 21:34:44 +02:00
import { apiHost } from '../../consts'
import { fetchText } from '../../helpers/fetch'
2025-03-10 16:56:24 +02:00
// Eiropa_LTV_pilsetas_nakama_dn.csv
// Eiropa_LTV_pilsetas_tekosa_dn.csv
// Latvija_LTV_pilsetas_nakama_dnn.csv
// Latvija_LTV_pilsetas_tekosa_dn.csv
// Latvija_faktiskais_laiks.csv
export const LvgmcForecast: Component<{}> = () => {
2025-03-15 21:34:44 +02:00
const [getEveningLines, setEveningLines] = createSignal<string[]>([])
const [getMorningLines, setMorningLines] = createSignal<string[]>([])
const urlsAndSignals: [string, Setter<string[]>][] = [
['Latvija_LTV_pilsetas_nakama_dnn.csv', setEveningLines],
['Latvija_LTV_pilsetas_tekosa_dn.csv', setMorningLines],
]
urlsAndSignals.forEach(([csvUrl, setLines]) =>
fetchText(`${apiHost}/api/show/lvgmc-forecast/${csvUrl}`)
.then(csv => setLines(csv.split('\n')))
.catch(console.warn)
)
createEffect(() => {
console.log(getMorningLines())
})
2025-03-15 21:34:44 +02:00
return <>
<p>Vakara ēters</p>
2025-03-12 14:36:30 +02:00
<CsvMapData
2025-03-15 21:34:44 +02:00
getCityLines={() => getEveningLines().slice(4, 22)}
getWindLine={() => getEveningLines()[26]}
2025-03-12 14:36:30 +02:00
bgImgUrl={nightBgMap}
/>
2025-03-15 21:34:44 +02:00
<CsvMapData
getCityLines={() => getEveningLines().slice(31, 49)}
getWindLine={() => getEveningLines()[57]}
bgImgUrl={dayBgMap}
/>
<Table getCsvLines={() => getEveningLines()} />
2025-03-12 14:36:30 +02:00
2025-03-15 21:34:44 +02:00
<p>Rīta ēters</p>
2025-03-12 14:36:30 +02:00
<CsvMapData
2025-03-15 21:34:44 +02:00
getCityLines={() => getMorningLines().slice(4, 22)}
getWindLine={() => getMorningLines()[23]}
2025-03-12 14:36:30 +02:00
bgImgUrl={dayBgMap}
2025-03-12 13:16:35 +02:00
/>
2025-03-15 21:34:44 +02:00
<Table getCsvLines={() => getMorningLines()} />
2025-03-10 16:56:24 +02:00
</>
}