diff --git a/frontend/src/pages/Economics.tsx b/frontend/src/pages/Economics.tsx index 60d228f..551c22e 100644 --- a/frontend/src/pages/Economics.tsx +++ b/frontend/src/pages/Economics.tsx @@ -10,11 +10,10 @@ import { useEconomicsDaily, useEconomicsIntervals, } from '../hooks/useEconomics' +import { useSiteStatus } from '../hooks/useSiteStatus' import { pragueCalendarDay } from '../lib/pragueDate' import type { DailyEconomics } from '../types/economics' -const SITE_ID = 1 - function currentMonth(): string { const today = pragueCalendarDay() return today.slice(0, 7) @@ -204,11 +203,14 @@ function DailyRow({ } export default function Economics() { + const { site: siteRow, ready: siteReady, error: siteError } = useSiteStatus() + const siteId = siteRow?.site_id ?? null + const [month, setMonth] = useState(currentMonth) const [expandedDay, setExpandedDay] = useState(null) - const { days, hasGreenBonus, loading, error, reload } = useEconomicsDaily(SITE_ID, month) - const { points } = useEconomicsChart(SITE_ID, month) + const { days, hasGreenBonus, loading, error, reload } = useEconomicsDaily(siteId, month) + const { points } = useEconomicsChart(siteId, month) const summary = useMemo(() => { if (days.length === 0) return null @@ -222,12 +224,13 @@ export default function Economics() { const handleLockToggle = useCallback( async (row: DailyEconomics) => { + if (siteId == null) return try { if (row.is_locked) { - await unlockDay(SITE_ID, row.day) + await unlockDay(siteId, row.day) toast.success(`Den ${row.day} odemčen`) } else { - await lockDay(SITE_ID, row.day) + await lockDay(siteId, row.day) toast.success(`Den ${row.day} zamčen`) } reload() @@ -235,11 +238,24 @@ export default function Economics() { toast.error('Operace se nezdařila') } }, - [reload], + [reload, siteId], ) return (
+ {siteReady && siteRow && ( +

+ Lokalita: {siteRow.site_code} (id {siteRow.site_id}) — ekonomika vychází z{' '} + audit_interval, ne z raw telemetrie. +

+ )} + {siteError && ( +
+ {siteError} — API ekonomiky potřebuje stejnou lokalitu jako Přehled (PostgREST{' '} + vw_site_status). +
+ )} + {/* Month selector */}