diff --git a/index.html b/index.html
index f4d2855..ed1d367 100644
--- a/index.html
+++ b/index.html
@@ -2,7 +2,7 @@
-
+
Hladinátor - Aktuální stav přehrad a nádrží
@@ -10,9 +10,24 @@
+
+
+
+
+
+
+
diff --git a/public/data/BEBE.json b/public/data/BEBE.json
index b432063..c58b501 100644
--- a/public/data/BEBE.json
+++ b/public/data/BEBE.json
@@ -2326,5 +2326,23 @@
"volume": 0,
"temperature": 26,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:20:00.000Z",
+ "level": 97,
+ "flow": 8.815,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 25.7,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 97,
+ "flow": 8.963,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 25.7,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/BEPL.json b/public/data/BEPL.json
index 8f919de..aaa2a75 100644
--- a/public/data/BEPL.json
+++ b/public/data/BEPL.json
@@ -2214,7 +2214,16 @@
"flow": 4.745,
"inflow": 0,
"volume": 0,
- "temperature": 25.5,
+ "temperature": 25.2,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 90,
+ "flow": 4.82,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 25.2,
"precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/BEZB.json b/public/data/BEZB.json
index c18803f..f66bf4e 100644
--- a/public/data/BEZB.json
+++ b/public/data/BEZB.json
@@ -2279,5 +2279,23 @@
"volume": 0,
"temperature": 24.8,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:20:00.000Z",
+ "level": 151,
+ "flow": 6.53,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 24.4,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 151,
+ "flow": 6.486,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 24.4,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/BIBI.json b/public/data/BIBI.json
index 1ac160e..ee20cb9 100644
--- a/public/data/BIBI.json
+++ b/public/data/BIBI.json
@@ -8222,7 +8222,16 @@
"flow": 0,
"inflow": 0,
"volume": 0,
- "temperature": 23.7,
+ "temperature": 23.4,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:45:00.000Z",
+ "level": 463.42,
+ "flow": 0,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.4,
"precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/BLHU.json b/public/data/BLHU.json
index b745377..7e56ac2 100644
--- a/public/data/BLHU.json
+++ b/public/data/BLHU.json
@@ -8917,5 +8917,32 @@
"volume": 2.44,
"temperature": 22.1,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 521.28,
+ "flow": 0.65,
+ "inflow": 0.6,
+ "volume": 2.44,
+ "temperature": 21.5,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 521.28,
+ "flow": 0.65,
+ "inflow": 0.6,
+ "volume": 2.44,
+ "temperature": 21.5,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 521.28,
+ "flow": 0.65,
+ "inflow": 0.6,
+ "volume": 2.44,
+ "temperature": 21.5,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/CPDR.json b/public/data/CPDR.json
index 8f5343d..2c069a7 100644
--- a/public/data/CPDR.json
+++ b/public/data/CPDR.json
@@ -8890,5 +8890,23 @@
"volume": 0.09,
"temperature": 23.8,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 416.72,
+ "flow": 0,
+ "inflow": 0,
+ "volume": 0.09,
+ "temperature": 23.5,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 416.72,
+ "flow": 0,
+ "inflow": 0,
+ "volume": 0.09,
+ "temperature": 23.5,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/CPZA.json b/public/data/CPZA.json
index b5f4ab1..9e560c7 100644
--- a/public/data/CPZA.json
+++ b/public/data/CPZA.json
@@ -8863,5 +8863,23 @@
"volume": 0.67,
"temperature": 23.8,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 448.81,
+ "flow": 0,
+ "inflow": 0,
+ "volume": 0.67,
+ "temperature": 23.4,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 448.8,
+ "flow": 0,
+ "inflow": 0,
+ "volume": 0.67,
+ "temperature": 23.4,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/CRSO.json b/public/data/CRSO.json
index 2b9cd86..d7df105 100644
--- a/public/data/CRSO.json
+++ b/public/data/CRSO.json
@@ -8080,5 +8080,32 @@
"volume": 0.03,
"temperature": 23,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:10:00.000Z",
+ "level": 580.98,
+ "flow": 0,
+ "temperature": 23,
+ "precipitation": 0,
+ "inflow": 0,
+ "volume": 0.03
+ },
+ {
+ "timestamp": "2026-06-08T17:20:00.000Z",
+ "level": 580.97,
+ "flow": 0,
+ "temperature": 23,
+ "precipitation": 0,
+ "inflow": 0,
+ "volume": 0.03
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 580.95,
+ "flow": 0,
+ "inflow": 0,
+ "volume": 0.03,
+ "temperature": 22.8,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/HESE.json b/public/data/HESE.json
index 5869335..c7f02be 100644
--- a/public/data/HESE.json
+++ b/public/data/HESE.json
@@ -8912,7 +8912,7 @@
{
"timestamp": "2026-06-08T17:10:00.000Z",
"level": 447.09,
- "flow": 0,
+ "flow": 0.21,
"inflow": 0.64,
"volume": 1.68,
"temperature": 23.2,
@@ -8921,10 +8921,37 @@
{
"timestamp": "2026-06-08T17:20:00.000Z",
"level": 447.09,
- "flow": 0,
+ "flow": 0.21,
"inflow": 0.64,
"volume": 1.68,
"temperature": 22.6,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 447.09,
+ "flow": 0.23,
+ "temperature": 22.6,
+ "precipitation": 0,
+ "inflow": 0.64,
+ "volume": 1.68
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 447.09,
+ "flow": 0,
+ "inflow": 0.64,
+ "volume": 1.68,
+ "temperature": 22.3,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 447.1,
+ "flow": 0,
+ "inflow": 0.64,
+ "volume": 1.68,
+ "temperature": 22.3,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/HEVR.json b/public/data/HEVR.json
index 8a2b6b8..b36b215 100644
--- a/public/data/HEVR.json
+++ b/public/data/HEVR.json
@@ -6531,7 +6531,8 @@
"inflow": 10.531307943184332,
"volume": 0.14,
"temperature": 17.568065740810052,
- "precipitation": 0
+ "precipitation": 0,
+ "qn": "> Q1"
},
{
"timestamp": "2026-06-05T18:00:00.000Z",
@@ -6639,7 +6640,8 @@
"inflow": 10.531307943184332,
"volume": 0.14,
"temperature": 17.568065740810052,
- "precipitation": 0
+ "precipitation": 0,
+ "qn": "> Q1"
},
{
"timestamp": "2026-06-06T06:00:00.000Z",
@@ -7107,7 +7109,8 @@
"inflow": 0.42,
"volume": 0.14,
"temperature": 14.7,
- "precipitation": 0.6
+ "precipitation": 0.6,
+ "qn": "> Q1"
},
{
"timestamp": "2026-06-07T06:00:00.000Z",
@@ -8286,7 +8289,8 @@
"inflow": 0.4,
"volume": 0.14,
"temperature": 9.6,
- "precipitation": 0
+ "precipitation": 0,
+ "qn": "> Q1"
},
{
"timestamp": "2026-06-08T05:10:00.000Z",
@@ -8340,7 +8344,8 @@
"inflow": 0.4,
"volume": 0.14,
"temperature": 13,
- "precipitation": 0
+ "precipitation": 0,
+ "qn": "> Q1"
},
{
"timestamp": "2026-06-08T06:10:00.000Z",
@@ -8394,7 +8399,8 @@
"inflow": 0.4,
"volume": 0.14,
"temperature": 16,
- "precipitation": 0
+ "precipitation": 0,
+ "qn": "> Q1"
},
{
"timestamp": "2026-06-08T07:10:00.000Z",
@@ -8948,7 +8954,7 @@
{
"timestamp": "2026-06-08T17:20:00.000Z",
"level": 407.64,
- "flow": 0,
+ "flow": 0.2,
"inflow": 0.4,
"volume": 0.14,
"temperature": 22.3,
@@ -8957,10 +8963,28 @@
{
"timestamp": "2026-06-08T17:30:00.000Z",
"level": 407.64,
- "flow": 0,
+ "flow": 0.2,
"inflow": 0.4,
"volume": 0.14,
"temperature": 22.3,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 407.64,
+ "flow": 0,
+ "inflow": 0.4,
+ "volume": 0.14,
+ "temperature": 22,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 407.64,
+ "flow": 0,
+ "inflow": 0.4,
+ "volume": 0.14,
+ "temperature": 22,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/KCKC.json b/public/data/KCKC.json
index 6ff1806..e389c4c 100644
--- a/public/data/KCKC.json
+++ b/public/data/KCKC.json
@@ -8917,5 +8917,32 @@
"volume": 7.48,
"temperature": 23.8,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 292.89,
+ "flow": 0.02,
+ "inflow": -0.03,
+ "volume": 7.48,
+ "temperature": 23.5,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 292.89,
+ "flow": 0,
+ "temperature": 23.5,
+ "precipitation": 0,
+ "inflow": -0.03,
+ "volume": 7.48
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 292.89,
+ "flow": 0,
+ "inflow": -0.03,
+ "volume": 7.48,
+ "temperature": 23.5,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/KLDP.json b/public/data/KLDP.json
index e201093..6ce617c 100644
--- a/public/data/KLDP.json
+++ b/public/data/KLDP.json
@@ -8206,5 +8206,32 @@
"volume": 0,
"temperature": 21.7,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:10:00.000Z",
+ "level": 632.76,
+ "flow": 0,
+ "temperature": 21.7,
+ "precipitation": 0,
+ "inflow": 0,
+ "volume": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:20:00.000Z",
+ "level": 632.76,
+ "flow": 0,
+ "temperature": 21.7,
+ "precipitation": 0,
+ "inflow": 0,
+ "volume": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 632.76,
+ "flow": 0,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 21.4,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/KLHP.json b/public/data/KLHP.json
index 0a869a8..160da9f 100644
--- a/public/data/KLHP.json
+++ b/public/data/KLHP.json
@@ -8206,5 +8206,32 @@
"volume": 0,
"temperature": 22,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:10:00.000Z",
+ "level": 635.7,
+ "flow": 0,
+ "temperature": 22,
+ "precipitation": 0,
+ "inflow": 0,
+ "volume": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:20:00.000Z",
+ "level": 635.7,
+ "flow": 0,
+ "temperature": 22,
+ "precipitation": 0,
+ "inflow": 0,
+ "volume": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 635.7,
+ "flow": 0,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 21.7,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/KLKL.json b/public/data/KLKL.json
index 24250f3..2ec5954 100644
--- a/public/data/KLKL.json
+++ b/public/data/KLKL.json
@@ -8908,5 +8908,32 @@
"volume": 0.67,
"temperature": 24.3,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 345.02,
+ "flow": 0.57,
+ "temperature": 24.3,
+ "precipitation": 0,
+ "inflow": 0.59,
+ "volume": 0.67
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 345.02,
+ "flow": 0.57,
+ "inflow": 0.59,
+ "volume": 0.67,
+ "temperature": 24,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 345.02,
+ "flow": 0.57,
+ "inflow": 0.59,
+ "volume": 0.67,
+ "temperature": 24,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/LILA.json b/public/data/LILA.json
index b5dfef9..134b6b1 100644
--- a/public/data/LILA.json
+++ b/public/data/LILA.json
@@ -8944,5 +8944,32 @@
"volume": 0.73,
"temperature": 21.3,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 640.65,
+ "flow": 0.01,
+ "temperature": 21.3,
+ "precipitation": 0,
+ "inflow": 0.01,
+ "volume": 0.73
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 640.65,
+ "flow": 0.01,
+ "inflow": 0.01,
+ "volume": 0.73,
+ "temperature": 21,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 640.65,
+ "flow": 0.01,
+ "inflow": 0.01,
+ "volume": 0.73,
+ "temperature": 21,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/LUBE.json b/public/data/LUBE.json
index 1c26713..38edb56 100644
--- a/public/data/LUBE.json
+++ b/public/data/LUBE.json
@@ -2254,5 +2254,23 @@
"volume": 0,
"temperature": 24,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 84,
+ "flow": 3.056,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.7,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 85,
+ "flow": 3.152,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.7,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/LUKL.json b/public/data/LUKL.json
index 4aa4880..0562430 100644
--- a/public/data/LUKL.json
+++ b/public/data/LUKL.json
@@ -1968,5 +1968,23 @@
"volume": 0,
"temperature": 24.1,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:10:00.000Z",
+ "level": 51,
+ "flow": 3.92,
+ "temperature": 24.1,
+ "precipitation": 0,
+ "inflow": 0,
+ "volume": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:20:00.000Z",
+ "level": 51,
+ "flow": 3.92,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.8,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/MARI.json b/public/data/MARI.json
index 8fe1848..555b748 100644
--- a/public/data/MARI.json
+++ b/public/data/MARI.json
@@ -9245,10 +9245,37 @@
{
"timestamp": "2026-06-08T17:20:00.000Z",
"level": 467.79,
- "flow": 0,
+ "flow": 0.7,
"inflow": 1.6,
"volume": 26.61,
"temperature": 24.1,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 467.79,
+ "flow": 0.7,
+ "temperature": 24.1,
+ "precipitation": 0,
+ "inflow": 1.6,
+ "volume": 26.61
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 467.79,
+ "flow": 0.7,
+ "inflow": 1.6,
+ "volume": 26.61,
+ "temperature": 23.9,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 467.79,
+ "flow": 0,
+ "inflow": 1.6,
+ "volume": 26.61,
+ "temperature": 23.9,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/MZHR.json b/public/data/MZHR.json
index bf08b81..c34cdc1 100644
--- a/public/data/MZHR.json
+++ b/public/data/MZHR.json
@@ -9277,5 +9277,32 @@
"volume": 32.11,
"temperature": 24.7,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 352.79,
+ "flow": 2.52,
+ "temperature": 24.7,
+ "precipitation": 0,
+ "inflow": 1.42,
+ "volume": 32.11
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 352.79,
+ "flow": 2.52,
+ "inflow": 1.42,
+ "volume": 32.11,
+ "temperature": 24.5,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 352.79,
+ "flow": 0,
+ "inflow": 1.42,
+ "volume": 32.11,
+ "temperature": 24.5,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/MZLU.json b/public/data/MZLU.json
index a5d4434..747bb7e 100644
--- a/public/data/MZLU.json
+++ b/public/data/MZLU.json
@@ -8917,5 +8917,32 @@
"volume": 2.92,
"temperature": 22.9,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 530.66,
+ "flow": 0.49,
+ "temperature": 22.9,
+ "precipitation": 0,
+ "inflow": 0.33,
+ "volume": 2.92
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 530.66,
+ "flow": 0.49,
+ "inflow": 0.33,
+ "volume": 2.92,
+ "temperature": 22.6,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 0,
+ "flow": 0.49,
+ "inflow": 0.33,
+ "volume": 2.92,
+ "temperature": 22.6,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/OPOB.json b/public/data/OPOB.json
index 657b33a..906a09d 100644
--- a/public/data/OPOB.json
+++ b/public/data/OPOB.json
@@ -8755,5 +8755,32 @@
"volume": 0.46,
"temperature": 22.3,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 563.66,
+ "flow": 0.02,
+ "temperature": 22.3,
+ "precipitation": 0,
+ "inflow": 0,
+ "volume": 0.46
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 563.66,
+ "flow": 0.02,
+ "inflow": 0,
+ "volume": 0.46,
+ "temperature": 22.1,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 0,
+ "flow": 0.02,
+ "inflow": 0,
+ "volume": 0.46,
+ "temperature": 22.1,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/OTPI.json b/public/data/OTPI.json
index 51584db..78aa4e4 100644
--- a/public/data/OTPI.json
+++ b/public/data/OTPI.json
@@ -2261,5 +2261,23 @@
"volume": 0,
"temperature": 24.9,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 43,
+ "flow": 4.73,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 24.6,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 43,
+ "flow": 4.75,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 24.6,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/OTSU.json b/public/data/OTSU.json
index 3d9ff0e..22f9857 100644
--- a/public/data/OTSU.json
+++ b/public/data/OTSU.json
@@ -2326,5 +2326,23 @@
"volume": 0,
"temperature": 23,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:20:00.000Z",
+ "level": 25,
+ "flow": 2.95,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 22.5,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 26,
+ "flow": 3.21,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 22.5,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/PPPI.json b/public/data/PPPI.json
index 07fe164..96b3712 100644
--- a/public/data/PPPI.json
+++ b/public/data/PPPI.json
@@ -8105,7 +8105,7 @@
"flow": 0,
"inflow": 0,
"volume": 0,
- "temperature": 21.8,
+ "temperature": 21.5,
"precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/RACU.json b/public/data/RACU.json
index b151e8e..e2ce1dc 100644
--- a/public/data/RACU.json
+++ b/public/data/RACU.json
@@ -8917,5 +8917,32 @@
"volume": 2.93,
"temperature": 25.1,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 313.43,
+ "flow": 1.03,
+ "temperature": 25.1,
+ "precipitation": 0,
+ "inflow": 1.25,
+ "volume": 2.93
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 313.43,
+ "flow": 1.03,
+ "inflow": 1.25,
+ "volume": 2.93,
+ "temperature": 24.8,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 0,
+ "flow": 1.03,
+ "inflow": 1.25,
+ "volume": 2.93,
+ "temperature": 24.8,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/SAKA.json b/public/data/SAKA.json
index 85b2677..8b98f92 100644
--- a/public/data/SAKA.json
+++ b/public/data/SAKA.json
@@ -2279,5 +2279,23 @@
"volume": 0,
"temperature": 23.8,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:20:00.000Z",
+ "level": 74,
+ "flow": 2.74,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.4,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 74,
+ "flow": 2.74,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.4,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/SANE.json b/public/data/SANE.json
index 9255f66..78a166a 100644
--- a/public/data/SANE.json
+++ b/public/data/SANE.json
@@ -2236,5 +2236,23 @@
"volume": 0,
"temperature": 23.6,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 44,
+ "flow": 4.17,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.3,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 44,
+ "flow": 4.17,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.3,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/SAPI.json b/public/data/SAPI.json
index 9cd198e..3af086d 100644
--- a/public/data/SAPI.json
+++ b/public/data/SAPI.json
@@ -8926,5 +8926,23 @@
"volume": 1.06,
"temperature": 21.4,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 575.7,
+ "flow": 0.02,
+ "inflow": 0,
+ "volume": 1.06,
+ "temperature": 21.2,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 575.7,
+ "flow": 0.02,
+ "inflow": 0,
+ "volume": 1.06,
+ "temperature": 21.2,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/SASV.json b/public/data/SASV.json
index e8c9866..ebb9216 100644
--- a/public/data/SASV.json
+++ b/public/data/SASV.json
@@ -2279,5 +2279,23 @@
"volume": 0,
"temperature": 23.4,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:20:00.000Z",
+ "level": 26,
+ "flow": 1.535,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.1,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 25,
+ "flow": 1.524,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.1,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/SAZR.json b/public/data/SAZR.json
index 73fae6c..e33387e 100644
--- a/public/data/SAZR.json
+++ b/public/data/SAZR.json
@@ -2279,5 +2279,23 @@
"volume": 0,
"temperature": 24,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:20:00.000Z",
+ "level": 68,
+ "flow": 1.456,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.7,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 68,
+ "flow": 1.456,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.7,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/SCHU.json b/public/data/SCHU.json
index e65ecee..052dadd 100644
--- a/public/data/SCHU.json
+++ b/public/data/SCHU.json
@@ -8929,11 +8929,29 @@
},
{
"timestamp": "2026-06-08T17:30:00.000Z",
- "level": 0,
+ "level": 534.7,
"flow": 0.06,
"inflow": 0.07,
"volume": 0.1,
"temperature": 23.6,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 534.7,
+ "flow": 0.06,
+ "inflow": 0.07,
+ "volume": 0.1,
+ "temperature": 23.3,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 0,
+ "flow": 0.06,
+ "inflow": 0.07,
+ "volume": 0.1,
+ "temperature": 23.3,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/SMSM.json b/public/data/SMSM.json
index 410664c..408acdb 100644
--- a/public/data/SMSM.json
+++ b/public/data/SMSM.json
@@ -8908,5 +8908,14 @@
"volume": 0.41,
"temperature": 24.1,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 260.09,
+ "flow": 0.06,
+ "inflow": 0.07,
+ "volume": 0.41,
+ "temperature": 23.7,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/SPKA.json b/public/data/SPKA.json
index 9bf09f3..6257ce3 100644
--- a/public/data/SPKA.json
+++ b/public/data/SPKA.json
@@ -8917,5 +8917,23 @@
"volume": 0.39,
"temperature": 23.8,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 668.4,
+ "flow": 0,
+ "inflow": 0,
+ "volume": 0.39,
+ "temperature": 23.5,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 668.4,
+ "flow": 0,
+ "inflow": 0,
+ "volume": 0.39,
+ "temperature": 23.5,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/SPNE.json b/public/data/SPNE.json
index 70d7b51..fc01605 100644
--- a/public/data/SPNE.json
+++ b/public/data/SPNE.json
@@ -8638,5 +8638,23 @@
"volume": 0.84,
"temperature": 22.5,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 385.01,
+ "flow": 0.02,
+ "inflow": 0,
+ "volume": 0.84,
+ "temperature": 22.1,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 385.01,
+ "flow": 0.02,
+ "inflow": 0,
+ "volume": 0.84,
+ "temperature": 22.1,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/SPZH.json b/public/data/SPZH.json
index 9fc4920..1e378ed 100644
--- a/public/data/SPZH.json
+++ b/public/data/SPZH.json
@@ -8908,5 +8908,23 @@
"volume": 0.16,
"temperature": 20.6,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 678.6,
+ "flow": 0,
+ "inflow": 0,
+ "volume": 0.16,
+ "temperature": 20.2,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 678.6,
+ "flow": 0,
+ "inflow": 0,
+ "volume": 0.16,
+ "temperature": 20.2,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/STST.json b/public/data/STST.json
index d633880..9b8e3da 100644
--- a/public/data/STST.json
+++ b/public/data/STST.json
@@ -8962,5 +8962,32 @@
"volume": 0.32,
"temperature": 23,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 588.39,
+ "flow": 0.08,
+ "temperature": 23,
+ "precipitation": 0,
+ "inflow": 0,
+ "volume": 0.32
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 588.39,
+ "flow": 0.08,
+ "inflow": 0,
+ "volume": 0.32,
+ "temperature": 22.7,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 0,
+ "flow": 0.08,
+ "inflow": 0,
+ "volume": 0.32,
+ "temperature": 22.7,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/STZL.json b/public/data/STZL.json
index 7047832..cb0a819 100644
--- a/public/data/STZL.json
+++ b/public/data/STZL.json
@@ -8917,5 +8917,32 @@
"volume": 9.28,
"temperature": 22.6,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 505.63,
+ "flow": 0.22,
+ "temperature": 22.6,
+ "precipitation": 0,
+ "inflow": 0.05,
+ "volume": 9.28
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 505.63,
+ "flow": 0.22,
+ "inflow": 0.05,
+ "volume": 9.28,
+ "temperature": 22.3,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 505.63,
+ "flow": 0.22,
+ "inflow": 0.05,
+ "volume": 9.28,
+ "temperature": 22.3,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/SVSV.json b/public/data/SVSV.json
index e23c781..4d0fc83 100644
--- a/public/data/SVSV.json
+++ b/public/data/SVSV.json
@@ -8911,11 +8911,29 @@
},
{
"timestamp": "2026-06-08T17:30:00.000Z",
- "level": 0,
+ "level": 580.52,
"flow": 0.05,
"inflow": 0,
"volume": 0.41,
"temperature": 21.4,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 0,
+ "flow": 0.05,
+ "inflow": 0,
+ "volume": 0.41,
+ "temperature": 21.1,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 0,
+ "flow": 0.05,
+ "inflow": 0,
+ "volume": 0.41,
+ "temperature": 21.1,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/TRTR.json b/public/data/TRTR.json
index d749630..6d8b992 100644
--- a/public/data/TRTR.json
+++ b/public/data/TRTR.json
@@ -8935,5 +8935,32 @@
"volume": 5.16,
"temperature": 23.2,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 412.8,
+ "flow": 0.34,
+ "temperature": 23.2,
+ "precipitation": 0,
+ "inflow": 0.34,
+ "volume": 5.16
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 412.8,
+ "flow": 0.34,
+ "inflow": 0.34,
+ "volume": 5.16,
+ "temperature": 22.9,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 412.8,
+ "flow": 0.34,
+ "inflow": 0.34,
+ "volume": 5.16,
+ "temperature": 22.9,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/UHNY.json b/public/data/UHNY.json
index 302ff52..69644d6 100644
--- a/public/data/UHNY.json
+++ b/public/data/UHNY.json
@@ -8935,5 +8935,32 @@
"volume": 15.31,
"temperature": 19.6,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 520.32,
+ "flow": 0.72,
+ "temperature": 19.6,
+ "precipitation": 0,
+ "inflow": 0.53,
+ "volume": 15.31
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 520.32,
+ "flow": 0.72,
+ "inflow": 0.53,
+ "volume": 15.31,
+ "temperature": 19.2,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 520.32,
+ "flow": 0,
+ "inflow": 0.53,
+ "volume": 15.31,
+ "temperature": 19.2,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/VLCB.json b/public/data/VLCB.json
index a9c50c1..14c1043 100644
--- a/public/data/VLCB.json
+++ b/public/data/VLCB.json
@@ -1968,5 +1968,23 @@
"volume": 0,
"temperature": 25.8,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:10:00.000Z",
+ "level": 98,
+ "flow": 9.24,
+ "temperature": 25.8,
+ "precipitation": 0,
+ "inflow": 0,
+ "volume": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:20:00.000Z",
+ "level": 100,
+ "flow": 8.57,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 25.6,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/VLCH.json b/public/data/VLCH.json
index db62b15..aa36550 100644
--- a/public/data/VLCH.json
+++ b/public/data/VLCH.json
@@ -2252,5 +2252,23 @@
"volume": 0,
"temperature": 26.1,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 45,
+ "flow": 51.71,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 25.9,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 46,
+ "flow": 52.52,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 25.9,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/VLHN.json b/public/data/VLHN.json
index 5c55457..097f025 100644
--- a/public/data/VLHN.json
+++ b/public/data/VLHN.json
@@ -9223,5 +9223,23 @@
"volume": 19.77,
"temperature": 24.4,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 369.61,
+ "flow": 15.23,
+ "temperature": 24.4,
+ "precipitation": 0,
+ "inflow": 0,
+ "volume": 19.77
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 369.61,
+ "flow": 15.26,
+ "inflow": 0,
+ "volume": 19.77,
+ "temperature": 24.1,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/VLKA.json b/public/data/VLKA.json
index bdfae8d..2287d66 100644
--- a/public/data/VLKA.json
+++ b/public/data/VLKA.json
@@ -8917,5 +8917,32 @@
"volume": 10.12,
"temperature": 24.7,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 283.19,
+ "flow": 39.59,
+ "inflow": 1.43,
+ "volume": 10.12,
+ "temperature": 24.4,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 283.27,
+ "flow": 39.75,
+ "inflow": 1.43,
+ "volume": 10.12,
+ "temperature": 24.4,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 283.26,
+ "flow": 39.79,
+ "inflow": 1.43,
+ "volume": 10.12,
+ "temperature": 24.4,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/VLKO.json b/public/data/VLKO.json
index b9147b8..ab58277 100644
--- a/public/data/VLKO.json
+++ b/public/data/VLKO.json
@@ -9250,5 +9250,32 @@
"volume": 2.77,
"temperature": 23.8,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 352.52,
+ "flow": 25.5,
+ "temperature": 23.8,
+ "precipitation": 0,
+ "inflow": 15.72,
+ "volume": 2.77
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 352.52,
+ "flow": 22.96,
+ "inflow": 15.72,
+ "volume": 2.77,
+ "temperature": 23.6,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 352.53,
+ "flow": 19.89,
+ "inflow": 15.72,
+ "volume": 2.77,
+ "temperature": 23.6,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/VLL1.json b/public/data/VLL1.json
index 0c11f94..d9c4885 100644
--- a/public/data/VLL1.json
+++ b/public/data/VLL1.json
@@ -9232,5 +9232,23 @@
"volume": 198.92,
"temperature": 22.4,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 723.06,
+ "flow": 51.86,
+ "inflow": -2.61,
+ "volume": 198.92,
+ "temperature": 22.1,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 723.07,
+ "flow": 51.87,
+ "inflow": -2.61,
+ "volume": 198.92,
+ "temperature": 22.1,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/VLL2.json b/public/data/VLL2.json
index 71bab81..62a3271 100644
--- a/public/data/VLL2.json
+++ b/public/data/VLL2.json
@@ -9236,7 +9236,7 @@
{
"timestamp": "2026-06-08T17:00:00.000Z",
"level": 559.61,
- "flow": 0,
+ "flow": 7.48,
"inflow": 2.61,
"volume": 0.61,
"temperature": 24.2,
@@ -9245,7 +9245,7 @@
{
"timestamp": "2026-06-08T17:10:00.000Z",
"level": 559.6,
- "flow": 0,
+ "flow": 7.48,
"inflow": 2.61,
"volume": 0.59,
"temperature": 23.7,
@@ -9259,5 +9259,23 @@
"volume": 0.59,
"temperature": 23.3,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 559.63,
+ "flow": 0,
+ "temperature": 23.3,
+ "precipitation": 0,
+ "inflow": 2.61,
+ "volume": 0.59
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 559.7,
+ "flow": 0,
+ "inflow": 2.61,
+ "volume": 0.59,
+ "temperature": 22.9,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/VLOR.json b/public/data/VLOR.json
index 39b205f..6f42edb 100644
--- a/public/data/VLOR.json
+++ b/public/data/VLOR.json
@@ -9259,5 +9259,23 @@
"volume": 521.33,
"temperature": 24.2,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 345.22,
+ "flow": 148.9,
+ "inflow": 18.49,
+ "volume": 521.33,
+ "temperature": 24,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 345.22,
+ "flow": 148.83,
+ "inflow": 18.49,
+ "volume": 521.33,
+ "temperature": 24,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/VLSL.json b/public/data/VLSL.json
index 2054b73..78b89c7 100644
--- a/public/data/VLSL.json
+++ b/public/data/VLSL.json
@@ -9250,5 +9250,32 @@
"volume": 260.55,
"temperature": 24.4,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 269.81,
+ "flow": 236.61,
+ "inflow": 1.16,
+ "volume": 260.55,
+ "temperature": 24,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 269.81,
+ "flow": 237.63,
+ "inflow": 1.16,
+ "volume": 260.55,
+ "temperature": 24,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 269.79,
+ "flow": 239.31,
+ "inflow": 1.16,
+ "volume": 260.55,
+ "temperature": 24,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/VLST.json b/public/data/VLST.json
index cb561f5..5ae46b5 100644
--- a/public/data/VLST.json
+++ b/public/data/VLST.json
@@ -9250,5 +9250,32 @@
"volume": 7.56,
"temperature": 23.8,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 216.68,
+ "flow": 51.45,
+ "temperature": 23.8,
+ "precipitation": 0,
+ "inflow": 12.66,
+ "volume": 7.56
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 216.71,
+ "flow": 51.45,
+ "inflow": 12.66,
+ "volume": 7.56,
+ "temperature": 23.3,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 216.89,
+ "flow": 51.48,
+ "inflow": 12.66,
+ "volume": 7.56,
+ "temperature": 23.3,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/VLVB.json b/public/data/VLVB.json
index 5486f22..a29cec2 100644
--- a/public/data/VLVB.json
+++ b/public/data/VLVB.json
@@ -2299,5 +2299,23 @@
"volume": 0,
"temperature": 23.7,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:20:00.000Z",
+ "level": 65,
+ "flow": 7.458,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.3,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 65,
+ "flow": 7.482,
+ "inflow": 0,
+ "volume": 0,
+ "temperature": 23.3,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/VLVE.json b/public/data/VLVE.json
index 02d59eb..daad736 100644
--- a/public/data/VLVE.json
+++ b/public/data/VLVE.json
@@ -8953,5 +8953,32 @@
"volume": 9.02,
"temperature": 24.6,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 199.29,
+ "flow": 39.59,
+ "inflow": 25.05,
+ "volume": 9.02,
+ "temperature": 24.3,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 199.28,
+ "flow": 39.64,
+ "inflow": 25.05,
+ "volume": 9.02,
+ "temperature": 24.3,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:50:00.000Z",
+ "level": 199.3,
+ "flow": 39.64,
+ "inflow": 25.05,
+ "volume": 9.02,
+ "temperature": 24.3,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/ZESV.json b/public/data/ZESV.json
index b3f762e..eb0bc3d 100644
--- a/public/data/ZESV.json
+++ b/public/data/ZESV.json
@@ -8894,10 +8894,28 @@
{
"timestamp": "2026-06-08T17:20:00.000Z",
"level": 375.12,
- "flow": 0,
+ "flow": 0.44,
"inflow": 0.58,
"volume": 240.58,
"temperature": 23.7,
"precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:30:00.000Z",
+ "level": 375.12,
+ "flow": 0.44,
+ "inflow": 0.58,
+ "volume": 240.58,
+ "temperature": 23.5,
+ "precipitation": 0
+ },
+ {
+ "timestamp": "2026-06-08T17:40:00.000Z",
+ "level": 375.12,
+ "flow": 0,
+ "inflow": 0.58,
+ "volume": 240.58,
+ "temperature": 23.5,
+ "precipitation": 0
}
]
\ No newline at end of file
diff --git a/public/data/lakes_index.json b/public/data/lakes_index.json
index 71186aa..14751a7 100644
--- a/public/data/lakes_index.json
+++ b/public/data/lakes_index.json
@@ -4,11 +4,11 @@
"name": "Lipno 1",
"river": "Vltava",
"priority": true,
- "level": "723.06",
+ "level": "723.07",
"capacity": 65,
- "storageDiff": -1.84,
+ "storageDiff": -1.83,
"inflow": "-2.6",
- "outflow": "48.5",
+ "outflow": "51.9",
"volume": 198.92,
"maxVolume": 306,
"navigationForbidden": false,
@@ -23,10 +23,10 @@
723.07,
723.07,
723.07,
- 723.07,
- 723.07,
723.06,
- 723.06
+ 723.06,
+ 723.06,
+ 723.07
],
"type": "lake"
},
@@ -35,9 +35,9 @@
"name": "Lipno II",
"river": "Vltava",
"priority": true,
- "level": "559.58",
+ "level": "559.70",
"capacity": 36.9,
- "storageDiff": -3.12,
+ "storageDiff": -3,
"inflow": "2.6",
"outflow": "0.0",
"volume": 0.59,
@@ -46,8 +46,6 @@
"lat": 48.625,
"lng": 14.318,
"sparkline": [
- 559.72,
- 559.71,
559.69,
559.68,
559.67,
@@ -57,7 +55,9 @@
559.62,
559.61,
559.6,
- 559.58
+ 559.58,
+ 559.63,
+ 559.7
],
"type": "lake"
},
@@ -70,15 +70,13 @@
"capacity": 93.7,
"storageDiff": -0.49,
"inflow": "0.0",
- "outflow": "15.2",
+ "outflow": "15.3",
"volume": 19.77,
"maxVolume": 21.1,
"navigationForbidden": false,
"lat": 49.183,
"lng": 14.444,
"sparkline": [
- 369.65,
- 369.64,
369.64,
369.64,
369.64,
@@ -88,6 +86,8 @@
369.61,
369.61,
369.61,
+ 369.61,
+ 369.61,
369.61
],
"type": "lake"
@@ -97,11 +97,11 @@
"name": "Kořensko",
"river": "Vltava",
"priority": true,
- "level": "352.52",
+ "level": "352.53",
"capacity": 98.9,
- "storageDiff": -0.08,
+ "storageDiff": -0.07,
"inflow": "15.7",
- "outflow": "26.1",
+ "outflow": "19.9",
"volume": 2.77,
"maxVolume": 2.8,
"navigationForbidden": false,
@@ -109,8 +109,6 @@
"lng": 14.398,
"sparkline": [
352.52,
- 352.51,
- 352.51,
352.52,
352.52,
352.52,
@@ -119,7 +117,9 @@
352.52,
352.52,
352.52,
- 352.52
+ 352.52,
+ 352.52,
+ 352.53
],
"type": "lake"
},
@@ -132,7 +132,7 @@
"capacity": 72.8,
"storageDiff": -4.68,
"inflow": "18.5",
- "outflow": "149.0",
+ "outflow": "148.8",
"volume": 521.33,
"maxVolume": 716.5,
"navigationForbidden": false,
@@ -147,9 +147,9 @@
345.22,
345.22,
345.22,
- 345.22,
- 345.22,
345.23,
+ 345.22,
+ 345.22,
345.22
],
"type": "lake"
@@ -159,20 +159,17 @@
"name": "Slapy",
"river": "Vltava",
"priority": true,
- "level": "269.81",
+ "level": "269.79",
"capacity": 96.8,
- "storageDiff": -0.79,
+ "storageDiff": -0.81,
"inflow": "1.2",
- "outflow": "236.3",
+ "outflow": "239.3",
"volume": 260.55,
"maxVolume": 269.3,
"navigationForbidden": false,
"lat": 49.822,
"lng": 14.436,
"sparkline": [
- 269.85,
- 269.85,
- 269.85,
269.85,
269.85,
269.85,
@@ -181,7 +178,10 @@
269.85,
269.83,
269.81,
- 269.81
+ 269.81,
+ 269.81,
+ 269.81,
+ 269.79
],
"type": "lake"
},
@@ -190,9 +190,9 @@
"name": "Štěchovice",
"river": "Vltava",
"priority": true,
- "level": "216.51",
+ "level": "216.89",
"capacity": 67.5,
- "storageDiff": -2.89,
+ "storageDiff": -2.51,
"inflow": "12.7",
"outflow": "51.5",
"volume": 7.56,
@@ -201,9 +201,6 @@
"lat": 49.845,
"lng": 14.412,
"sparkline": [
- 216.46,
- 216.45,
- 216.44,
216.41,
216.4,
216.38,
@@ -212,7 +209,10 @@
216.34,
216.32,
216.28,
- 216.51
+ 216.51,
+ 216.68,
+ 216.71,
+ 216.89
],
"type": "lake"
},
@@ -252,20 +252,17 @@
"name": "Hracholusky",
"river": "Mže",
"priority": true,
- "level": "352.78",
+ "level": "352.79",
"capacity": 56.6,
- "storageDiff": -1.32,
+ "storageDiff": -1.31,
"inflow": "1.4",
- "outflow": "2.5",
+ "outflow": "0.0",
"volume": 32.11,
"maxVolume": 56.7,
"navigationForbidden": false,
"lat": 49.789,
"lng": 13.155,
"sparkline": [
- 352.79,
- 352.79,
- 352.79,
352.79,
352.79,
352.79,
@@ -274,7 +271,10 @@
352.78,
352.79,
352.79,
- 352.78
+ 352.78,
+ 352.79,
+ 352.79,
+ 352.79
],
"type": "lake"
},
@@ -314,20 +314,17 @@
"name": "Kamýk",
"river": "",
"priority": false,
- "level": "283.07",
+ "level": "283.26",
"capacity": 79.1,
- "storageDiff": -1.53,
+ "storageDiff": -1.34,
"inflow": "1.4",
- "outflow": "39.4",
+ "outflow": "39.8",
"volume": 10.12,
"maxVolume": 12.8,
"navigationForbidden": false,
"lat": 49.638,
"lng": 14.258,
"sparkline": [
- 283.1,
- 283.09,
- 283.1,
283.08,
283.1,
283.11,
@@ -336,7 +333,10 @@
283.09,
283.09,
283.08,
- 283.07
+ 283.07,
+ 283.19,
+ 283.27,
+ 283.26
],
"type": "lake"
},
@@ -345,9 +345,9 @@
"name": "Vrané",
"river": "",
"priority": false,
- "level": "199.28",
+ "level": "199.30",
"capacity": 81.3,
- "storageDiff": -0.82,
+ "storageDiff": -0.8,
"inflow": "25.1",
"outflow": "39.6",
"volume": 9.02,
@@ -356,9 +356,6 @@
"lat": 49.939,
"lng": 14.391,
"sparkline": [
- 199.27,
- 199.25,
- 199.27,
199.27,
199.27,
199.28,
@@ -367,7 +364,10 @@
199.25,
199.27,
199.28,
- 199.28
+ 199.28,
+ 199.29,
+ 199.28,
+ 199.3
],
"type": "lake"
},
@@ -380,7 +380,7 @@
"capacity": 42.8,
"storageDiff": -1.05,
"inflow": "0.6",
- "outflow": "0.6",
+ "outflow": "0.7",
"volume": 2.44,
"maxVolume": 5.7,
"navigationForbidden": true,
@@ -411,7 +411,7 @@
"capacity": 95.7,
"storageDiff": -1.23,
"inflow": "0.5",
- "outflow": "0.7",
+ "outflow": "0.0",
"volume": 15.31,
"maxVolume": 16,
"navigationForbidden": true,
@@ -419,9 +419,9 @@
"lng": 13.123,
"sparkline": [
520.31,
- 520.31,
- 520.31,
- 520.31,
+ 520.32,
+ 520.32,
+ 520.32,
520.32,
520.32,
520.32,
@@ -500,9 +500,9 @@
"name": "České Údolí",
"river": "",
"priority": false,
- "level": "313.42",
+ "level": "0.00",
"capacity": 53.3,
- "storageDiff": -0.18,
+ "storageDiff": 0,
"inflow": "1.3",
"outflow": "1.0",
"volume": 2.93,
@@ -511,9 +511,6 @@
"lat": 49.715,
"lng": 13.364,
"sparkline": [
- 313.43,
- 313.42,
- 0,
313.43,
313.42,
313.42,
@@ -522,7 +519,10 @@
0,
313.42,
313.43,
- 313.42
+ 313.42,
+ 313.43,
+ 313.43,
+ 0
],
"type": "lake"
},
@@ -562,9 +562,9 @@
"name": "Sedlice",
"river": "",
"priority": false,
- "level": "447.09",
+ "level": "447.10",
"capacity": 88.4,
- "storageDiff": -0.31,
+ "storageDiff": -0.3,
"inflow": "0.6",
"outflow": "0.0",
"volume": 1.68,
@@ -584,7 +584,7 @@
447.09,
447.09,
447.09,
- 447.09
+ 447.1
],
"type": "lake"
},
@@ -593,9 +593,9 @@
"name": "Lučina",
"river": "",
"priority": false,
- "level": "530.66",
+ "level": "0.00",
"capacity": 100,
- "storageDiff": -1.44,
+ "storageDiff": 0,
"inflow": "0.3",
"outflow": "0.5",
"volume": 2.92,
@@ -604,9 +604,6 @@
"lat": 49.805,
"lng": 12.639,
"sparkline": [
- 530.66,
- 530.66,
- 530.66,
530.66,
530.66,
530.66,
@@ -615,7 +612,10 @@
0,
530.66,
530.66,
- 530.66
+ 530.66,
+ 530.66,
+ 530.66,
+ 0
],
"type": "lake"
},
@@ -702,12 +702,12 @@
640.65,
640.65,
640.65,
- 640.65,
- 640.65,
- 640.65,
0,
640.65,
640.65,
+ 640.65,
+ 640.65,
+ 640.65,
640.65
],
"type": "lake"
@@ -717,9 +717,9 @@
"name": "Obecnice",
"river": "",
"priority": false,
- "level": "563.66",
+ "level": "0.00",
"capacity": 76.7,
- "storageDiff": -0.89,
+ "storageDiff": 0,
"inflow": "0.0",
"outflow": "0.0",
"volume": 0.46,
@@ -739,7 +739,7 @@
563.66,
563.66,
563.66,
- 563.66
+ 0
],
"type": "lake"
},
@@ -748,9 +748,9 @@
"name": "Strž",
"river": "",
"priority": false,
- "level": "588.39",
+ "level": "0.00",
"capacity": 32,
- "storageDiff": -0.21,
+ "storageDiff": 0,
"inflow": "0.0",
"outflow": "0.1",
"volume": 0.32,
@@ -759,6 +759,9 @@
"lat": 49.791,
"lng": 14.004,
"sparkline": [
+ 588.39,
+ 588.39,
+ 588.39,
588.39,
588.39,
0,
@@ -767,10 +770,7 @@
588.39,
588.39,
588.39,
- 0,
- 588.39,
- 588.39,
- 588.39
+ 0
],
"type": "lake"
},
@@ -810,9 +810,9 @@
"name": "Soběnov",
"river": "",
"priority": false,
- "level": "580.99",
+ "level": "580.95",
"capacity": 2.1,
- "storageDiff": -1.22,
+ "storageDiff": -1.26,
"inflow": "0.0",
"outflow": "0.0",
"volume": 0.03,
@@ -821,9 +821,6 @@
"lat": 48.775,
"lng": 14.536,
"sparkline": [
- 580.98,
- 580.99,
- 580.99,
581.01,
581.02,
581.03,
@@ -832,7 +829,10 @@
581.05,
581.04,
581.03,
- 580.99
+ 580.99,
+ 580.98,
+ 580.97,
+ 580.95
],
"type": "lake"
},
@@ -852,8 +852,6 @@
"lat": 48.784,
"lng": 14.735,
"sparkline": [
- 534.69,
- 0,
534.69,
534.69,
534.69,
@@ -863,6 +861,8 @@
534.69,
534.69,
534.7,
+ 534.7,
+ 534.7,
0
],
"type": "lake"
@@ -883,8 +883,6 @@
"lat": 49.575,
"lng": 15.952,
"sparkline": [
- 580.52,
- 0,
580.52,
580.52,
580.52,
@@ -894,6 +892,8 @@
580.52,
580.52,
580.52,
+ 580.52,
+ 0,
0
],
"type": "lake"
@@ -965,9 +965,9 @@
"name": "Záskalská",
"river": "",
"priority": false,
- "level": "448.81",
+ "level": "448.80",
"capacity": 100,
- "storageDiff": 0.02,
+ "storageDiff": 0.01,
"inflow": "0.0",
"outflow": "0.0",
"volume": 0.67,
@@ -980,14 +980,14 @@
448.81,
448.8,
448.81,
+ 448.81,
+ 448.81,
+ 448.8,
+ 448.8,
448.8,
448.81,
448.81,
- 448.81,
- 448.8,
- 448.8,
- 448.8,
- 448.81
+ 448.8
],
"type": "lake"
},
@@ -1162,9 +1162,6 @@
"lat": 49.655,
"lng": 13.761,
"sparkline": [
- 635.7,
- 635.7,
- 635.7,
635.69,
635.7,
635.7,
@@ -1173,6 +1170,9 @@
635.7,
635.7,
635.7,
+ 635.7,
+ 635.7,
+ 635.7,
635.7
],
"type": "lake"
@@ -1217,15 +1217,13 @@
"capacity": 0,
"storageDiff": 0,
"inflow": "0.0",
- "outflow": "53.9",
+ "outflow": "52.5",
"volume": 0,
"maxVolume": 0,
"navigationForbidden": false,
"lat": 50.0294,
"lng": 14.3986,
"sparkline": [
- 46,
- 46,
47,
47,
46,
@@ -1235,6 +1233,8 @@
47,
46,
49,
+ 46,
+ 45,
46
],
"type": "river"
@@ -1244,19 +1244,17 @@
"name": "České Budějovice",
"river": "Vltava",
"priority": false,
- "level": "101.00",
+ "level": "100.00",
"capacity": 0,
"storageDiff": 0,
"inflow": "0.0",
- "outflow": "9.2",
+ "outflow": "8.6",
"volume": 0,
"maxVolume": 0,
"navigationForbidden": false,
"lat": 48.9712,
"lng": 14.4714,
"sparkline": [
- 100,
- 99,
101,
100,
99,
@@ -1266,7 +1264,9 @@
101,
101,
98,
- 101
+ 101,
+ 98,
+ 100
],
"type": "river"
},
@@ -1275,19 +1275,17 @@
"name": "Beroun",
"river": "Berounka",
"priority": false,
- "level": "96.00",
+ "level": "97.00",
"capacity": 0,
"storageDiff": 0,
"inflow": "0.0",
- "outflow": "8.7",
+ "outflow": "9.0",
"volume": 0,
"maxVolume": 0,
"navigationForbidden": false,
"lat": 49.9642,
"lng": 14.0792,
"sparkline": [
- 100,
- 99,
99,
98,
97,
@@ -1297,7 +1295,9 @@
96,
96,
96,
- 96
+ 96,
+ 97,
+ 97
],
"type": "river"
},
@@ -1341,15 +1341,13 @@
"capacity": 0,
"storageDiff": 0,
"inflow": "0.0",
- "outflow": "4.7",
+ "outflow": "4.8",
"volume": 0,
"maxVolume": 0,
"navigationForbidden": false,
"lat": 49.3083,
"lng": 14.1436,
"sparkline": [
- 44,
- 45,
45,
43,
41,
@@ -1359,6 +1357,8 @@
45,
44,
43,
+ 43,
+ 43,
43
],
"type": "river"
@@ -1368,19 +1368,17 @@
"name": "Sušice",
"river": "Otava",
"priority": false,
- "level": "25.00",
+ "level": "26.00",
"capacity": 0,
"storageDiff": 0,
"inflow": "0.0",
- "outflow": "3.0",
+ "outflow": "3.2",
"volume": 0,
"maxVolume": 0,
"navigationForbidden": false,
"lat": 49.2319,
"lng": 13.5186,
"sparkline": [
- 25,
- 25,
25,
25,
26,
@@ -1390,7 +1388,9 @@
25,
25,
25,
- 25
+ 25,
+ 25,
+ 26
],
"type": "river"
},
@@ -1399,19 +1399,17 @@
"name": "Bechyně",
"river": "Lužnice",
"priority": false,
- "level": "82.00",
+ "level": "85.00",
"capacity": 0,
"storageDiff": 0,
"inflow": "0.0",
- "outflow": "2.7",
+ "outflow": "3.2",
"volume": 0,
"maxVolume": 0,
"navigationForbidden": false,
"lat": 49.2931,
"lng": 14.4758,
"sparkline": [
- 80,
- 79,
82,
82,
81,
@@ -1421,7 +1419,9 @@
84,
83,
81,
- 82
+ 82,
+ 84,
+ 85
],
"type": "river"
},
@@ -1446,8 +1446,8 @@
50,
50,
50,
- 50,
- 50,
+ 51,
+ 51,
51,
51,
51,
@@ -1492,19 +1492,17 @@
"name": "Světlá nad Sázavou",
"river": "Sázava",
"priority": false,
- "level": "26.00",
+ "level": "25.00",
"capacity": 0,
"storageDiff": 0,
"inflow": "0.0",
- "outflow": "1.6",
+ "outflow": "1.5",
"volume": 0,
"maxVolume": 0,
"navigationForbidden": false,
"lat": 49.6677,
"lng": 15.4048,
"sparkline": [
- 25,
- 25,
25,
24,
23,
@@ -1514,7 +1512,9 @@
26,
26,
26,
- 26
+ 26,
+ 26,
+ 25
],
"type": "river"
},
@@ -1527,7 +1527,7 @@
"capacity": 0,
"storageDiff": 0,
"inflow": "0.0",
- "outflow": "2.8",
+ "outflow": "2.7",
"volume": 0,
"maxVolume": 0,
"navigationForbidden": false,
@@ -1558,7 +1558,7 @@
"capacity": 0,
"storageDiff": 0,
"inflow": "0.0",
- "outflow": "6.6",
+ "outflow": "6.5",
"volume": 0,
"maxVolume": 0,
"navigationForbidden": false,
@@ -1571,8 +1571,8 @@
152,
152,
152,
- 152,
- 152,
+ 151,
+ 151,
151,
151,
151,
@@ -1589,7 +1589,7 @@
"capacity": 0,
"storageDiff": 0,
"inflow": "0.0",
- "outflow": "4.7",
+ "outflow": "4.8",
"volume": 0,
"maxVolume": 0,
"navigationForbidden": false,
@@ -1602,11 +1602,11 @@
87,
87,
87,
- 87,
88,
89,
89,
90,
+ 90,
90
],
"type": "river"
diff --git a/public/favicon.jpg b/public/favicon.jpg
deleted file mode 100644
index 46318d6..0000000
Binary files a/public/favicon.jpg and /dev/null differ
diff --git a/public/favicon.png b/public/favicon.png
new file mode 100644
index 0000000..b42f1ab
Binary files /dev/null and b/public/favicon.png differ
diff --git a/public/manifest.json b/public/manifest.json
new file mode 100644
index 0000000..587f706
--- /dev/null
+++ b/public/manifest.json
@@ -0,0 +1,17 @@
+{
+ "short_name": "Hladinátor",
+ "name": "Hladinátor - Stav přehrad a nádrží",
+ "icons": [
+ {
+ "src": "/favicon.png",
+ "type": "image/png",
+ "sizes": "512x512",
+ "purpose": "any maskable"
+ }
+ ],
+ "start_url": "/",
+ "background_color": "#1e293b",
+ "theme_color": "#1e293b",
+ "display": "standalone",
+ "orientation": "portrait"
+}
diff --git a/public/sw.js b/public/sw.js
new file mode 100644
index 0000000..6872683
--- /dev/null
+++ b/public/sw.js
@@ -0,0 +1,66 @@
+const CACHE_NAME = 'hladinator-v1';
+const ASSETS_TO_CACHE = [
+ '/',
+ '/index.html',
+ '/favicon.png',
+ '/manifest.json'
+];
+
+self.addEventListener('install', (event) => {
+ event.waitUntil(
+ caches.open(CACHE_NAME).then((cache) => {
+ return cache.addAll(ASSETS_TO_CACHE);
+ })
+ );
+ self.skipWaiting();
+});
+
+self.addEventListener('activate', (event) => {
+ event.waitUntil(
+ caches.keys().then((keys) => {
+ return Promise.all(
+ keys.map((key) => {
+ if (key !== CACHE_NAME) {
+ return caches.delete(key);
+ }
+ })
+ );
+ })
+ );
+ self.clients.claim();
+});
+
+self.addEventListener('fetch', (event) => {
+ // Only handle same-origin HTTP/HTTPS requests
+ if (!event.request.url.startsWith(self.location.origin)) return;
+
+ event.respondWith(
+ caches.match(event.request).then((cachedResponse) => {
+ if (cachedResponse) {
+ // Fetch new version in background to update cache (stale-while-revalidate)
+ fetch(event.request).then((networkResponse) => {
+ if (networkResponse.status === 200) {
+ caches.open(CACHE_NAME).then((cache) => cache.put(event.request, networkResponse));
+ }
+ }).catch(() => {/* ignore network failures */});
+
+ return cachedResponse;
+ }
+
+ return fetch(event.request).then((networkResponse) => {
+ // Cache static files and JSON data on the fly
+ if (networkResponse.status === 200 && (
+ event.request.url.includes('.json') ||
+ event.request.url.includes('.css') ||
+ event.request.url.includes('.js')
+ )) {
+ const responseToCache = networkResponse.clone();
+ caches.open(CACHE_NAME).then((cache) => cache.put(event.request, responseToCache));
+ }
+ return networkResponse;
+ }).catch(() => {
+ // Offline fallback
+ });
+ })
+ );
+});
diff --git a/scripts/scrapeLakes.ts b/scripts/scrapeLakes.ts
index 5ac46e5..f3d46ac 100644
--- a/scripts/scrapeLakes.ts
+++ b/scripts/scrapeLakes.ts
@@ -13,6 +13,7 @@ interface DataRecord {
volume?: number;
temperature?: number | null;
precipitation?: number | null;
+ qn?: string;
}
// Parse date from DD.MM.YYYY HH:MM to ISO
@@ -91,24 +92,42 @@ async function scrapeLake(lakeId: string, oid: string, internalId: string) {
});
if (dataTable) {
- dataTable.find('tr').each((i, row) => {
+ let qnColIndex = -1;
+ let flowColIndex = 2;
+ let levelColIndex = 1;
+
+ // Find column indices from header dynamically
+ $(dataTable).find('tr').first().find('th, td').each((idx, cell) => {
+ const headerText = $(cell).text().trim().toLowerCase();
+ if (headerText.includes('qn')) {
+ qnColIndex = idx;
+ } else if (headerText.includes('hladina') || headerText.includes('stav')) {
+ levelColIndex = idx;
+ } else if (headerText.includes('odtok') || headerText.includes('průtok') || headerText.includes('prutok') || headerText.includes('flow')) {
+ flowColIndex = idx;
+ }
+ });
+
+ $(dataTable).find('tr').each((i, row) => {
if (i === 0) return; // skip header
const cols = $(row).find('td');
- if (cols.length >= 3) {
+ if (cols.length > Math.max(levelColIndex, flowColIndex)) {
const rawDate = $(cols[0]).text().trim();
- const levelStr = $(cols[1]).text().trim().replace(',', '.');
- let flowStr = $(cols[2]).text().trim().replace(',', '.');
- if (flowStr === '' && cols.length >= 4) {
- flowStr = $(cols[3]).text().trim().replace(',', '.');
- }
+ const levelStr = $(cols[levelColIndex]).text().trim().replace(',', '.');
+ const flowStr = $(cols[flowColIndex]).text().trim().replace(',', '.');
+ const qn = qnColIndex !== -1 && cols.length > qnColIndex ? $(cols[qnColIndex]).text().trim() : '';
const parsedDateStr = parseDateString(rawDate);
if (parsedDateStr) {
- records.push({
+ const newRecord: DataRecord = {
timestamp: parsedDateStr,
level: parseFloat(levelStr) || 0,
flow: parseFloat(flowStr) || 0
- });
+ };
+ if (qn) {
+ newRecord.qn = qn;
+ }
+ records.push(newRecord);
}
}
});
@@ -153,7 +172,8 @@ async function scrapeLake(lakeId: string, oid: string, internalId: string) {
...existing,
...item,
inflow: item.inflow !== undefined ? item.inflow : existing.inflow,
- volume: item.volume !== undefined ? item.volume : existing.volume
+ volume: item.volume !== undefined ? item.volume : existing.volume,
+ qn: item.qn !== undefined ? item.qn : existing.qn
});
} else {
dataMap.set(item.timestamp, item);
diff --git a/src/components/LakeDetail.tsx b/src/components/LakeDetail.tsx
index 138b52f..87a4b46 100644
--- a/src/components/LakeDetail.tsx
+++ b/src/components/LakeDetail.tsx
@@ -22,6 +22,7 @@ interface LipnoData {
fullness: number;
temperature?: number | null;
precipitation?: number | null;
+ qn?: string;
}
interface Props {
@@ -89,12 +90,21 @@ const CustomTooltip = ({ active, payload, label, language, isWeather, isRiver }:
if (!labelStr || entry.value === null || entry.value === undefined) return null;
return (
-
-
- {labelStr}: {entry.value.toFixed(entry.dataKey === 'level' ? (isRiver ? 0 : 2) : 1)} {unit}
-
- );
+
+
+ {labelStr}: {entry.value.toFixed(entry.dataKey === 'level' ? (isRiver ? 0 : 2) : 1)} {unit}
+
+ );
})}
+ {payload[0]?.payload?.qn ? (
+
+ ⚠️ {language === 'cs' ? `Neověřené měření (QN: ${payload[0].payload.qn})` : `Unverified measurement (QN: ${payload[0].payload.qn})`}
+
+ ) : (
+
+ ✓ {language === 'cs' ? 'Měření ověřeno dispečinkem' : 'Measurement verified'}
+
+ )}
);
}
@@ -162,7 +172,8 @@ const LakeDetail = ({ language, lakeId, windUnit = 'kmh' }: Props) => {
volume: item.volume || 0,
fullness: 0,
temperature: item.temperature,
- precipitation: item.precipitation === null ? undefined : item.precipitation
+ precipitation: item.precipitation === null ? undefined : item.precipitation,
+ qn: item.qn || ''
};
});
setData(formattedData);
@@ -350,9 +361,38 @@ const LakeDetail = ({ language, lakeId, windUnit = 'kmh' }: Props) => {
>
)}
-
+
{topbarDict.updated} {new Date().toLocaleDateString(language === 'cs' ? 'cs-CZ' : 'en-GB', { day: '2-digit', month: '2-digit', year: 'numeric' })}, {new Date().toLocaleTimeString(language === 'cs' ? 'cs-CZ' : 'en-GB', { hour: '2-digit', minute: '2-digit' })} UTC
+ {latestData.qn ? (
+
+ ⚠️ {language === 'cs' ? `Neověřená data (QN: ${latestData.qn})` : `Unverified data (QN: ${latestData.qn})`}
+
+ ) : (
+
+ ✓ {language === 'cs' ? 'Ověřená data dispečinkem' : 'Data verified by dispatch'}
+
+ )}