Fix render error and add useRetain

This commit is contained in:
Nick Mowen 2022-01-13 16:34:33 -07:00
parent 78979d656a
commit 091e363e0c
2 changed files with 5 additions and 4 deletions

View File

@ -117,14 +117,14 @@ export function useDelete() {
return deleteEvent; return deleteEvent;
} }
export function useRetain() { export function useRetain(shouldRetain) {
const { dispatch, state } = useContext(Api); const { dispatch, state } = useContext(Api);
async function retainEvent(eventId) { async function retainEvent(eventId) {
if (!eventId) return null; if (!eventId) return null;
const response = await fetch(`${state.host}/api/events/${eventId}`, { method: 'POST' }); const response = await fetch(`${state.host}/api/events/${eventId}?retain=${shouldRetain}`, { method: 'POST' });
await dispatch({ type: 'DELETE', payload: { eventId } }); await dispatch({ type: 'POST', payload: { eventId } });
return await (response.status < 300 ? response.json() : { success: true }); return await (response.status < 300 ? response.json() : { success: true });
} }

View File

@ -14,7 +14,7 @@ import Dialog from '../components/Dialog';
import Heading from '../components/Heading'; import Heading from '../components/Heading';
import VideoPlayer from '../components/VideoPlayer'; import VideoPlayer from '../components/VideoPlayer';
import { Table, Thead, Tbody, Th, Tr, Td } from '../components/Table'; import { Table, Thead, Tbody, Th, Tr, Td } from '../components/Table';
import { FetchStatus, useApiHost, useEvent, useDelete } from '../api'; import { FetchStatus, useApiHost, useEvent, useDelete, useRetain } from '../api';
const ActionButtonGroup = ({ className, handleClickRetain, handleClickDelete, close }) => ( const ActionButtonGroup = ({ className, handleClickRetain, handleClickDelete, close }) => (
<div className={`space-y-2 space-x-2 sm:space-y-0 xs:space-x-4 ${className}`}> <div className={`space-y-2 space-x-2 sm:space-y-0 xs:space-x-4 ${className}`}>
@ -58,6 +58,7 @@ export default function Event({ eventId, close, scrollRef }) {
const [showDetails, setShowDetails] = useState(false); const [showDetails, setShowDetails] = useState(false);
const [shouldScroll, setShouldScroll] = useState(true); const [shouldScroll, setShouldScroll] = useState(true);
const [deleteStatus, setDeleteStatus] = useState(FetchStatus.NONE); const [deleteStatus, setDeleteStatus] = useState(FetchStatus.NONE);
const setRetainEvent = useRetain();
const setDeleteEvent = useDelete(); const setDeleteEvent = useDelete();
useEffect(() => { useEffect(() => {