fix: fetch in offline environments (#295)

This commit is contained in:
Carlos Valente
2023-02-23 21:41:05 +01:00
committed by GitHub
parent 2021d9394d
commit 0ff6556e4d
5 changed files with 11 additions and 2 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "ontime-ui", "name": "ontime-ui",
"version": "1.9.7", "version": "1.9.8",
"private": true, "private": true,
"dependencies": { "dependencies": {
"@chakra-ui/react": "^2.3.2", "@chakra-ui/react": "^2.3.2",
+1
View File
@@ -11,6 +11,7 @@ export const useFetch = (namespace, fn) => {
const { data, status, isError, refetch } = useQuery(namespace, fn, { const { data, status, isError, refetch } = useQuery(namespace, fn, {
refetchInterval: refetchIntervalMs, refetchInterval: refetchIntervalMs,
cacheTime: Infinity, cacheTime: Infinity,
networkMode: 'always',
}); });
return { data, status, isError, refetch }; return { data, status, isError, refetch };
@@ -9,6 +9,7 @@ import { EVENTS_TABLE } from '../api/apiConstants';
export default function useMutateEvents(mutation){ export default function useMutateEvents(mutation){
const queryClient = useQueryClient(); const queryClient = useQueryClient();
return useMutation(mutation, { return useMutation(mutation, {
networkMode: 'always',
onMutate: async (newEvent) => { onMutate: async (newEvent) => {
// cancel ongoing queries // cancel ongoing queries
queryClient.cancelQueries(EVENTS_TABLE, { exact: true }); queryClient.cancelQueries(EVENTS_TABLE, { exact: true });
@@ -30,6 +30,7 @@ export default function EventListWrapper() {
const [events, setEvents] = useState(null); const [events, setEvents] = useState(null);
const addEvent = useMutation(requestPost, { const addEvent = useMutation(requestPost, {
networkMode: 'always',
// we optimistically update here // we optimistically update here
onMutate: async (newEvent) => { onMutate: async (newEvent) => {
// cancel ongoing queries // cancel ongoing queries
@@ -76,6 +77,7 @@ export default function EventListWrapper() {
}); });
const updateEvent = useMutation(requestPut, { const updateEvent = useMutation(requestPut, {
networkMode: 'always',
// we optimistically update here // we optimistically update here
onMutate: async (newEvent) => { onMutate: async (newEvent) => {
// cancel ongoing queries // cancel ongoing queries
@@ -103,6 +105,7 @@ export default function EventListWrapper() {
}); });
const patchEvent = useMutation(requestPatch, { const patchEvent = useMutation(requestPatch, {
networkMode: 'always',
// we optimistically update here // we optimistically update here
onMutate: async (newEvent) => { onMutate: async (newEvent) => {
// cancel ongoing queries // cancel ongoing queries
@@ -134,6 +137,7 @@ export default function EventListWrapper() {
}); });
const deleteEvent = useMutation(requestDelete, { const deleteEvent = useMutation(requestDelete, {
networkMode: 'always',
// we optimistically update here // we optimistically update here
onMutate: async (eventId) => { onMutate: async (eventId) => {
// cancel ongoing queries // cancel ongoing queries
@@ -163,6 +167,7 @@ export default function EventListWrapper() {
}); });
const deleteAllEvents = useMutation(requestDeleteAll, { const deleteAllEvents = useMutation(requestDeleteAll, {
networkMode: 'always',
// we optimistically update here // we optimistically update here
onMutate: async () => { onMutate: async () => {
// cancel ongoing queries // cancel ongoing queries
@@ -192,6 +197,7 @@ export default function EventListWrapper() {
}); });
const applyDelay = useMutation(requestApplyDelay, { const applyDelay = useMutation(requestApplyDelay, {
networkMode: 'always',
// Mutation finished, failed or successful // Mutation finished, failed or successful
onSettled: () => { onSettled: () => {
queryClient.invalidateQueries(EVENTS_TABLE); queryClient.invalidateQueries(EVENTS_TABLE);
@@ -199,6 +205,7 @@ export default function EventListWrapper() {
}); });
const reorderEvent = useMutation(requestReorder, { const reorderEvent = useMutation(requestReorder, {
networkMode: 'always',
// we optimistically update here // we optimistically update here
onMutate: async (data) => { onMutate: async (data) => {
// cancel ongoing queries // cancel ongoing queries
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "ontime", "name": "ontime",
"version": "1.9.7", "version": "1.9.8",
"author": "Carlos Valente", "author": "Carlos Valente",
"description": "Time keeping for live events", "description": "Time keeping for live events",
"repository": "https://github.com/cpvalente/ontime", "repository": "https://github.com/cpvalente/ontime",