mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-02 01:05:20 +03:00
Add retain button and retain action
This commit is contained in:
parent
7133a1410f
commit
473b341b72
@ -117,6 +117,20 @@ export function useDelete() {
|
||||
return deleteEvent;
|
||||
}
|
||||
|
||||
export function useRetain() {
|
||||
const { dispatch, state } = useContext(Api);
|
||||
|
||||
async function retainEvent(eventId) {
|
||||
if (!eventId) return null;
|
||||
|
||||
const response = await fetch(`${state.host}/api/events/${eventId}`, { method: 'POST' });
|
||||
await dispatch({ type: 'DELETE', payload: { eventId } });
|
||||
return await (response.status < 300 ? response.json() : { success: true });
|
||||
}
|
||||
|
||||
return retainEvent;
|
||||
}
|
||||
|
||||
export function useApiHost() {
|
||||
const { state } = useContext(Api);
|
||||
return state.host;
|
||||
|
||||
@ -7,6 +7,7 @@ import ArrowDown from '../icons/ArrowDropdown';
|
||||
import ArrowDropup from '../icons/ArrowDropup';
|
||||
import Clip from '../icons/Clip';
|
||||
import Close from '../icons/Close';
|
||||
import StarRecording from '../icons/StarRecording';
|
||||
import Delete from '../icons/Delete';
|
||||
import Snapshot from '../icons/Snapshot';
|
||||
import Dialog from '../components/Dialog';
|
||||
@ -74,6 +75,16 @@ export default function Event({ eventId, close, scrollRef }) {
|
||||
};
|
||||
}, [data, scrollRef, eventId, shouldScroll]);
|
||||
|
||||
const handleClickRetain = () => {
|
||||
let success;
|
||||
try {
|
||||
success = await setRetainEvent(eventId);
|
||||
setRetainStatus(success ? FetchStatus.LOADED : FetchStatus.ERROR);
|
||||
} catch (e) {
|
||||
setRetainStatus(FetchStatus.ERROR);
|
||||
}
|
||||
};
|
||||
|
||||
const handleClickDelete = () => {
|
||||
setShowDialog(true);
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user