Use state to keep track of event id

This commit is contained in:
Nick Mowen 2022-05-18 09:04:02 -06:00
parent f741c59a8b
commit 4b00faad70

View File

@ -50,7 +50,6 @@ export default function Events({ path, ...props }) {
showDatePicker: false, showDatePicker: false,
showCalendar: false, showCalendar: false,
showPlusConfig: false, showPlusConfig: false,
showDeleteFavorite: false,
}); });
const [uploading, setUploading] = useState([]); const [uploading, setUploading] = useState([]);
const [viewEvent, setViewEvent] = useState(); const [viewEvent, setViewEvent] = useState();
@ -60,6 +59,10 @@ export default function Events({ path, ...props }) {
has_snapshot: false, has_snapshot: false,
plus_id: undefined, plus_id: undefined,
}); });
const [deleteState, setDeleteState] = useState({
deletingFavoriteEventId: null,
showDeleteFavorite: false,
});
const eventsFetcher = useCallback((path, params) => { const eventsFetcher = useCallback((path, params) => {
params = { ...params, include_thumbnails: 0, limit: API_LIMIT }; params = { ...params, include_thumbnails: 0, limit: API_LIMIT };
@ -115,11 +118,11 @@ export default function Events({ path, ...props }) {
} }
}; };
const onDelete = async (e, eventId, favorited) => { const onDelete = async (e, eventId, saved) => {
e.stopPropagation(); e.stopPropagation();
if (favorited) { if (saved) {
setDeleteState({ deletingFavoriteEventId: eventId, showDeleteFavorite: true });
} else { } else {
const response = await axios.delete(`events/${eventId}`); const response = await axios.delete(`events/${eventId}`);
if (response.status === 200) { if (response.status === 200) {
@ -380,14 +383,14 @@ export default function Events({ path, ...props }) {
</div> </div>
</Dialog> </Dialog>
)} )}
{state.showDeleteFavorite && ( {deleteState.showDeleteFavorite && (
<Dialog> <Dialog>
<div className="p-4"> <div className="p-4">
<Heading size="lg">Delete Saved Event?</Heading> <Heading size="lg">Delete Saved Event?</Heading>
<p className="mb-2">Confirm deletion of saved event.</p> <p className="mb-2">Confirm deletion of saved event.</p>
</div> </div>
<div className="p-2 flex justify-start flex-row-reverse space-x-2"> <div className="p-2 flex justify-start flex-row-reverse space-x-2">
<Button className="ml-2" onClick={() => setState({ ...state, showDeleteFavorite: false })} type="text"> <Button className="ml-2" onClick={(e) => { setDeleteState({ ...state, showDeleteFavorite: false }); onDelete(e, deleteState.deletingFavoriteEventId, false) }} type="text">
Delete Delete
</Button> </Button>
</div> </div>