import { format } from "date-fns"; import { h, VNode } from "preact"; import { useLayoutEffect, useRef, useState } from "preact/hooks"; import { DatePicker } from "../picker/DatePicker"; export interface DateInputProps { label: string; grabFocus?: boolean; tooltip?: string; error?: string; bind: [string, (x: string) => void]; } export function DateInput(props: DateInputProps): VNode { const inputRef = useRef(null); useLayoutEffect(() => { if (props.grabFocus) { inputRef.current?.focus(); } }, [props.grabFocus]); const [opened, setOpened2] = useState(false) function setOpened(v: boolean) { console.log('dale', v) setOpened2(v) } const value = props.bind[0]; const [dirty, setDirty] = useState(false) const showError = dirty && props.error return
{ setOpened(true) }} value={value} ref={inputRef} />
{showError &&

{props.error}

} setOpened(false)} dateReceiver={(d) => { setDirty(true) const v = format(d, 'yyyy/MM/dd') props.bind[1](v); }} />
; }