{open && (
@@ -126,54 +188,97 @@ export function DateField({
role="dialog"
className="absolute left-0 z-50 mt-1.5 w-72 rounded-lg border border-border bg-popover p-3 text-popover-foreground shadow-md"
>
-
-
- {monthLabel}
-
-
-
-
- {weekdays.map((w) => (
-
- {w}
-
- ))}
- {days.map((d) => {
- const inMonth = d.getMonth() === view.getMonth();
- const isSelected = selected ? sameDay(d, selected) : false;
- const isToday = sameDay(d, today);
- return (
+ {showCalendar && (
+ <>
+
- );
- })}
-
+
{monthLabel}
+
+
+
+
+ {weekdays.map((w) => (
+
+ {w}
+
+ ))}
+ {days.map((d) => {
+ const inMonth = d.getMonth() === view.getMonth();
+ const isSelected = parsed.date ? sameDay(d, parsed.date) : false;
+ const isToday = sameDay(d, today);
+ return (
+
+ );
+ })}
+
+ >
+ )}
+
+ {showTime && (
+
+
+
+ :
+
+
+ )}
diff --git a/apps/web/src/components/form/field-input.tsx b/apps/web/src/components/form/field-input.tsx
index f0051bf..6679cf1 100644
--- a/apps/web/src/components/form/field-input.tsx
+++ b/apps/web/src/components/form/field-input.tsx
@@ -225,9 +225,12 @@ export function FieldInput({
);
case "date":
+ case "time":
+ case "datetime":
return (