Files
frontend/src/pages/account-income/model/period.ts
T
ksv741 94adbafa34
Frontend verify / commits (pull_request) Successful in 29s
Frontend verify / security (pull_request) Successful in 11s
Frontend verify / verify (pull_request) Successful in 8m43s
refactor: simplify calendar and form state
2026-09-28 20:23:02 +03:00

30 lines
664 B
TypeScript

import { calendarDate } from "@/shared/lib";
const DATE_PART_COUNT = 3;
type IncomePeriod = { from: string; to: string };
function formatDraftDate(value: string): string {
const [year, month, day] = value.split("-", DATE_PART_COUNT);
return `${day}.${month}.${year}`;
}
function parseDraftDate(value: string): null | string {
if (!/^\d{2}\.\d{2}\.\d{4}$/.test(value))
return null;
const [day, month, year] = value.split(".", DATE_PART_COUNT);
const date = `${year}-${month}-${day}`;
return calendarDate.safeParse(date).success
? date
: null;
}
export {
formatDraftDate,
type IncomePeriod as IncomeForm,
type IncomePeriod,
parseDraftDate,
};