You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
737 B
24 lines
737 B
import React, {useRef, useState} from "react";
|
|
import "../style/title_input.css";
|
|
|
|
export default function TitleInput({default_value, on_validated}: {
|
|
default_value: string,
|
|
on_validated: (a: string) => void
|
|
}) {
|
|
const [value, setValue] = useState(default_value);
|
|
const ref = useRef<HTMLInputElement>(null);
|
|
|
|
return (
|
|
<input className="title_input"
|
|
ref={ref}
|
|
type="text"
|
|
value={value}
|
|
onChange={event => setValue(event.target.value)}
|
|
onBlur={_ => on_validated(value)}
|
|
onKeyDown={event => {
|
|
if (event.key == 'Enter')
|
|
ref.current?.blur();
|
|
}}
|
|
/>
|
|
)
|
|
} |