frontend/containers/MapActions/SearchField.tsx (view raw)
1import {Icon, InputAdornment} from '@mui/material';
2import {useTranslation} from 'next-i18next';
3import PlaceInput from '../PlaceInput';
4import useTravelsStore from '../../stores/useTravelsStore';
5
6type Props = {};
7
8const SearchField = (props: Props) => {
9 const {t} = useTranslation();
10 const meetingFilter = useTravelsStore(s => s.meetingFilter);
11 const setMeetingFilter = useTravelsStore(s => s.setMeetingFilter);
12
13 const onSelect = (location: {
14 latitude?: number;
15 longitude?: number;
16 place: string;
17 }) => {
18 setMeetingFilter(location);
19 };
20
21 return (
22 <PlaceInput
23 place={meetingFilter.place}
24 latitude={meetingFilter.latitude}
25 longitude={meetingFilter.longitude}
26 onSelect={onSelect}
27 textFieldProps={{
28 variant: 'outlined',
29 placeholder: t`travel.meeting`,
30 size: 'small',
31 slotProps: {
32 input: {
33 size: 'small',
34 startAdornment: (
35 <InputAdornment position="start">
36 <Icon>search</Icon>
37 </InputAdornment>
38 ),
39 },
40 },
41 }}
42 />
43 );
44};
45
46export default SearchField;