feat(academy): prepare AI Academy v1 for production enablement
This commit is contained in:
@@ -198,7 +198,14 @@ export default function DateTimePicker({
|
||||
const [viewYear, setViewYear] = useState(initialDate.getFullYear())
|
||||
const [viewMonth, setViewMonth] = useState(initialDate.getMonth())
|
||||
const [draftDate, setDraftDate] = useState(initial.date)
|
||||
const [draftTime, setDraftTime] = useState(initial.time || '12:00')
|
||||
// default to current local time (HH:MM), clamped to min/max bounds when present
|
||||
const nowTime = `${pad(today.getHours())}:${pad(today.getMinutes())}`
|
||||
const defaultDraftTime = (function () {
|
||||
const baseDate = initial.date || toISODate(initialDate)
|
||||
const candidate = initial.time || nowTime
|
||||
return clampTimeToBounds(baseDate, candidate, minDateTime, maxDateTime)
|
||||
})()
|
||||
const [draftTime, setDraftTime] = useState(defaultDraftTime)
|
||||
const effectivePlaceholder = placeholder || (mode === 'date' ? 'Pick a date' : 'Pick a date and time')
|
||||
|
||||
const triggerRef = useRef(null)
|
||||
@@ -208,7 +215,15 @@ export default function DateTimePicker({
|
||||
useEffect(() => {
|
||||
const next = splitDateTime(value)
|
||||
setDraftDate(next.date)
|
||||
setDraftTime(next.time || '12:00')
|
||||
|
||||
// prefer explicit time, otherwise use current time clamped to bounds for the chosen date
|
||||
const fallbackTime = (() => {
|
||||
const candidate = next.time || `${pad(new Date().getHours())}:${pad(new Date().getMinutes())}`
|
||||
const dateForClamp = next.date || toISODate(initialDate)
|
||||
return clampTimeToBounds(dateForClamp, candidate, minDateTime, maxDateTime)
|
||||
})()
|
||||
|
||||
setDraftTime(next.time || fallbackTime)
|
||||
|
||||
const nextDate = parseDatePart(next.date)
|
||||
if (nextDate) {
|
||||
@@ -294,8 +309,9 @@ export default function DateTimePicker({
|
||||
|
||||
const clearValue = (event) => {
|
||||
event.stopPropagation()
|
||||
const now = `${pad(new Date().getHours())}:${pad(new Date().getMinutes())}`
|
||||
setDraftDate('')
|
||||
setDraftTime('12:00')
|
||||
setDraftTime(now)
|
||||
onChange?.('')
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user