浏览代码

error handling and linting

Bernt Christian Egeland 4 年之前
父节点
当前提交
6e6ee93282
共有 2 个文件被更改,包括 8 次插入8 次删除
  1. 6 6
      web/src/api/index.jsx
  2. 2 2
      web/src/routes/Event.jsx

+ 6 - 6
web/src/api/index.jsx

@@ -38,15 +38,15 @@ function reducer(state, { type, payload, meta }) {
       const { eventId } = payload;
       const { eventId } = payload;
 
 
       return produce(state, (draftState) => {
       return produce(state, (draftState) => {
-        Object.keys(draftState.queries).map(function (url, index) {
-          // If no url or data has no array length then just return state.
-          if (!(url in draftState.queries) || !draftState.queries[url].data.length) return state;
+        Object.keys(draftState.queries).map((url, index) => {
+          // If data has no array length then just return state.
+          if (!('data' in draftState.queries[url]) || !draftState.queries[url].data.length) return state;
 
 
           //Find the index to remove
           //Find the index to remove
           const removeIndex = draftState.queries[url].data.map((event) => event.id).indexOf(eventId);
           const removeIndex = draftState.queries[url].data.map((event) => event.id).indexOf(eventId);
-          if (removeIndex === -1) return;
+          if (removeIndex === -1) return state;
 
 
-          // We need to keep track of deleted items, This will be used to calculate "ReachEnd" for auto load new events. Events.jsx
+          // We need to keep track of deleted items, This will be used to re-calculate "ReachEnd" for auto load new events. Events.jsx
           const totDeleted = state.queries[url].deleted || 0;
           const totDeleted = state.queries[url].deleted || 0;
 
 
           // Splice the deleted index.
           // Splice the deleted index.
@@ -120,7 +120,7 @@ export function useDelete() {
   const { dispatch, state } = useContext(Api);
   const { dispatch, state } = useContext(Api);
 
 
   async function deleteEvent(eventId) {
   async function deleteEvent(eventId) {
-    if (!eventId) return { success: false };
+    if (!eventId) return null;
 
 
     const response = await fetch(`${state.host}/api/events/${eventId}`, { method: 'DELETE' });
     const response = await fetch(`${state.host}/api/events/${eventId}`, { method: 'DELETE' });
     await dispatch({ type: 'DELETE', payload: { eventId } });
     await dispatch({ type: 'DELETE', payload: { eventId } });

+ 2 - 2
web/src/routes/Event.jsx

@@ -42,7 +42,7 @@ export default function Event({ eventId }) {
       setShowDialog(false);
       setShowDialog(false);
       route('/events', true);
       route('/events', true);
     }
     }
-  }, [eventId, setShowDialog]);
+  }, [eventId, setShowDialog, setDeleteEvent]);
 
 
   if (status !== FetchStatus.LOADED) {
   if (status !== FetchStatus.LOADED) {
     return <ActivityIndicator />;
     return <ActivityIndicator />;
@@ -66,7 +66,7 @@ export default function Event({ eventId }) {
             title="Delete Event?"
             title="Delete Event?"
             text={
             text={
               deleteStatus === FetchStatus.ERROR
               deleteStatus === FetchStatus.ERROR
-                ? 'Could not delete event, please try again.'
+                ? 'An error occurred, please try again.'
                 : 'This event will be permanently deleted along with any related clips and snapshots'
                 : 'This event will be permanently deleted along with any related clips and snapshots'
             }
             }
             actions={[
             actions={[