fix(ui): проверять период статистики до запроса

This commit is contained in:
Denozordec committed 2026-09-23 20:26:23 +07:00
1 parent 167e19cd91
commit 94ad73212b
6 files changed
+109 -19

No files matched your search

+6 -1
View File
@@ -8,6 +8,7 @@ import {
DateSelector,
type DateSelectorValue,
} from "@/components/reui/date-selector"
import { isCalendarDate, isStatisticsDate } from "@/lib/statistics-range"
import { DATE_SELECTOR_RU } from "@/components/statistics/date-selector-i18n"
import { Button } from "@/components/ui/button"
import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"
@@ -42,14 +43,18 @@ export function formatYmd(d: Date): string {
}
export function parseYmd(s: string): Date | null {
if (!isCalendarDate(s)) return null
const m = /^(\d{4})-(\d{2})-(\d{2})$/.exec(s)
if (!m) return null
const d = new Date(Number(m[1]), Number(m[2]) - 1, Number(m[3]))
const d = new Date(0)
d.setFullYear(Number(m[1]), Number(m[2]) - 1, Number(m[3]))
d.setHours(0, 0, 0, 0)
return Number.isNaN(d.getTime()) ? null : d
}
/** Значение периода — дата (YYYY-MM-DD) или полный ISO-таймстамп (пресет «24 ч»). */
export function parseRangeDate(s: string): Date | null {
if (!isStatisticsDate(s)) return null
if (s.includes("T")) {
const d = new Date(s)
return Number.isNaN(d.getTime()) ? null : d