blob: 06d022259d3b07f149efc4e0303965ba9cbfd45c [file] [log] [blame]
Adrien Béraudab519ff2022-05-03 15:34:48 -04001import { SearchRounded } from '@mui/icons-material';
simon07b4eb02022-09-29 17:50:26 -04002import { InputAdornment, InputBase } from '@mui/material';
simon6b9ddfb2022-10-03 00:04:50 -04003import { ChangeEvent, FormEvent, useState } from 'react';
Larbi Gharibe9af9732021-03-31 15:08:01 +01004
simon6b9ddfb2022-10-03 00:04:50 -04005type NewContactFormProps = {
6 onChange?: (v: string) => void;
7 onSubmit?: (v: string) => void;
8};
9
10export default function NewContactForm(props: NewContactFormProps) {
simond47ef9e2022-09-28 22:24:28 -040011 const [value, setValue] = useState('');
Adrien Béraud150b4782021-04-21 19:40:59 -040012
simon6b9ddfb2022-10-03 00:04:50 -040013 const handleChange = (event: ChangeEvent<HTMLInputElement>) => {
simond47ef9e2022-09-28 22:24:28 -040014 setValue(event.target.value);
15 if (props.onChange) props.onChange(event.target.value);
16 };
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040017
simon6b9ddfb2022-10-03 00:04:50 -040018 const handleSubmit = (event: FormEvent<HTMLFormElement>) => {
simond47ef9e2022-09-28 22:24:28 -040019 event.preventDefault();
20 if (value && props.onSubmit) props.onSubmit(value);
21 };
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040022
simond47ef9e2022-09-28 22:24:28 -040023 return (
24 <form className="main-search" onSubmit={handleSubmit} noValidate autoComplete="off">
25 <InputBase
26 className="main-search-input"
27 type="search"
28 placeholder="Ajouter un contact"
29 value={value}
30 onChange={handleChange}
31 startAdornment={
32 <InputAdornment position="start">
33 <SearchRounded />
34 </InputAdornment>
35 }
36 />
37 </form>
38 );
Larbi Gharibe9af9732021-03-31 15:08:01 +010039}