wheelshare-frontend/src/components/NewUI/EventCreator.tsx
2021-06-23 14:35:30 -04:00

56 lines
1.5 KiB
TypeScript

import { useCallback, useState } from 'react';
import UIButton from './UIButton';
import UIDatetimeInput from './UIDatetimeInput';
import UIPlacesAutocomplete from './UIPlacesAutocomplete';
import UISecondaryBox from './UISecondaryBox';
import UITextInput from './UITextInput';
export default function EventCreator() {
const [name, setName] = useState('');
const [startTime, setStartTime] = useState<Date | null>(null);
const [endTime, setEndTime] = useState<Date | null>(null);
const [placeId, setPlaceId] = useState<string | null>(null);
const [groupId, setGroupId] = useState('');
const createEvent = useCallback(() => {
fetch('http://localhost:5000/api/events', {
method: 'post',
body: JSON.stringify({
name,
startTime,
endTime,
groupId,
placeId,
}),
headers: {
'Content-Type': 'application/json',
},
});
}, [name, startTime, endTime, groupId, placeId]);
return (
<UISecondaryBox style={{ width: '100%', boxSizing: 'border-box' }}>
<h1 style={{ textAlign: 'center' }}>Create Event</h1>
Name
<UITextInput value={name} onChangeText={setName} />
<br />
Group
<UITextInput value={groupId} onChangeText={setGroupId} />
<br />
Start time
<UIDatetimeInput onChangedDate={setStartTime} />
<br />
End time
<UIDatetimeInput onChangedDate={setEndTime} />
<br />
Location
<UIPlacesAutocomplete
onSelected={(address, placeId) => {
setPlaceId(placeId);
}}
/>
<UIButton onClick={createEvent}>Create Event</UIButton>
</UISecondaryBox>
);
}