diff --git a/src/admin/components/AdminDatePicker.tsx b/src/admin/components/AdminDatePicker.tsx index 27d93fd..3e59f18 100644 --- a/src/admin/components/AdminDatePicker.tsx +++ b/src/admin/components/AdminDatePicker.tsx @@ -58,6 +58,7 @@ interface NativeInputProps { minDate?: string; maxDate?: string; disabled?: boolean; + placeholder?: string; } const modeToInputType: Record = { @@ -73,6 +74,7 @@ function NativeInput({ minDate, maxDate, disabled, + placeholder, }: NativeInputProps) { const type = modeToInputType[mode] || "date"; // For time inputs, min/max must be in HH:mm format, not date format @@ -95,6 +97,7 @@ function NativeInput({ value={value || ""} onChange={(e) => onChange(e.target.value)} className="admin-form-input" + placeholder={placeholder} required={required} disabled={disabled} min={minProp} @@ -126,6 +129,12 @@ export default function AdminDatePicker({ }: AdminDatePickerProps) { const useNative = isTouchDevice(); + // Mode-aware default placeholder so empty date fields always show a format + // hint (callers can still override, e.g. "Od"/"Do" on range filters). + const effectivePlaceholder = + placeholder ?? + (mode === "time" ? "hh:mm" : mode === "month" ? "mm.rrrr" : "dd.mm.rrrr"); + if (useNative) { return ( ); } @@ -181,7 +191,7 @@ export default function AdminDatePicker({ const customInput = ( ); @@ -191,7 +201,7 @@ export default function AdminDatePicker({ onChange: handleChange, locale: "cs", customInput, - placeholderText: placeholder, + placeholderText: effectivePlaceholder, minDate: parseMinMax(minDate), maxDate: parseMinMax(maxDate), popperPlacement: "bottom-start" as const, diff --git a/src/admin/pages/Projects.tsx b/src/admin/pages/Projects.tsx index b9a5416..2194b45 100644 --- a/src/admin/pages/Projects.tsx +++ b/src/admin/pages/Projects.tsx @@ -8,6 +8,7 @@ import { motion } from "framer-motion"; import ConfirmModal from "../components/ConfirmModal"; import FormModal from "../components/FormModal"; import FormField from "../components/FormField"; +import AdminDatePicker from "../components/AdminDatePicker"; import { formatDate, czechPlural } from "../utils/formatters"; import SortIcon from "../components/SortIcon"; @@ -530,23 +531,21 @@ export default function Projects() {
- - setCreateForm({ ...createForm, start_date: e.target.value }) + onChange={(val) => + setCreateForm({ ...createForm, start_date: val }) } - className="admin-form-input" /> - - setCreateForm({ ...createForm, end_date: e.target.value }) + onChange={(val) => + setCreateForm({ ...createForm, end_date: val }) } - className="admin-form-input" />
diff --git a/src/admin/pages/WarehouseReceiptForm.tsx b/src/admin/pages/WarehouseReceiptForm.tsx index 5818e6e..9969536 100644 --- a/src/admin/pages/WarehouseReceiptForm.tsx +++ b/src/admin/pages/WarehouseReceiptForm.tsx @@ -378,7 +378,6 @@ export default function WarehouseReceiptForm() { delivery_note_date: val, })) } - placeholder="dd.mm.yyyy" />