Don't invalidate reminders when saving
This commit is contained in:
		@@ -81,7 +81,7 @@ type Template = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const USER_INFO_STALE_TIME = 120_000;
 | 
					const USER_INFO_STALE_TIME = 120_000;
 | 
				
			||||||
const GUILD_INFO_STALE_TIME = 300_000;
 | 
					const GUILD_INFO_STALE_TIME = 300_000;
 | 
				
			||||||
const OTHER_STALE_TIME = 15_000;
 | 
					const OTHER_STALE_TIME = 120_000;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const fetchUserInfo = () => ({
 | 
					export const fetchUserInfo = () => ({
 | 
				
			||||||
    queryKey: ["USER_INFO"],
 | 
					    queryKey: ["USER_INFO"],
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
import { useQuery } from "react-query";
 | 
					import { useQuery, useQueryClient } from "react-query";
 | 
				
			||||||
import { fetchGuildChannels, fetchGuildReminders } from "../../api";
 | 
					import { fetchGuildChannels, fetchGuildReminders } from "../../api";
 | 
				
			||||||
import { EditReminder } from "../Reminder/EditReminder";
 | 
					import { EditReminder } from "../Reminder/EditReminder";
 | 
				
			||||||
import { CreateReminder } from "../Reminder/CreateReminder";
 | 
					import { CreateReminder } from "../Reminder/CreateReminder";
 | 
				
			||||||
import { useState } from "preact/hooks";
 | 
					import { useCallback, useState } from "preact/hooks";
 | 
				
			||||||
import { Loader } from "../Loader";
 | 
					import { Loader } from "../Loader";
 | 
				
			||||||
import { useGuild } from "../App/useGuild";
 | 
					import { useGuild } from "../App/useGuild";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -24,10 +24,16 @@ export const GuildReminders = () => {
 | 
				
			|||||||
    const { data: channels } = useQuery(fetchGuildChannels(guild));
 | 
					    const { data: channels } = useQuery(fetchGuildChannels(guild));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const [collapsed, setCollapsed] = useState(false);
 | 
					    const [collapsed, setCollapsed] = useState(false);
 | 
				
			||||||
    const [sort, setSort] = useState(Sort.Time);
 | 
					    const [sort, _setSort] = useState(Sort.Time);
 | 
				
			||||||
 | 
					    const queryClient = useQueryClient();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let prevReminder = null;
 | 
					    let prevReminder = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const setSort = useCallback((sort) => {
 | 
				
			||||||
 | 
					        queryClient.invalidateQueries(["GUILD_REMINDERS"]);
 | 
				
			||||||
 | 
					        _setSort(sort);
 | 
				
			||||||
 | 
					    }, []);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return (
 | 
					    return (
 | 
				
			||||||
        <>
 | 
					        <>
 | 
				
			||||||
            {!isFetched && <Loader />}
 | 
					            {!isFetched && <Loader />}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,7 +12,6 @@ export const EditButtonRow = () => {
 | 
				
			|||||||
    const [reminder, setReminder] = useReminder();
 | 
					    const [reminder, setReminder] = useReminder();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const [recentlySaved, setRecentlySaved] = useState(false);
 | 
					    const [recentlySaved, setRecentlySaved] = useState(false);
 | 
				
			||||||
    const queryClient = useQueryClient();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const iconFlashTimeout = useRef(0);
 | 
					    const iconFlashTimeout = useRef(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -26,16 +25,6 @@ export const EditButtonRow = () => {
 | 
				
			|||||||
            });
 | 
					            });
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        onSuccess: (response) => {
 | 
					        onSuccess: (response) => {
 | 
				
			||||||
            if (guild) {
 | 
					 | 
				
			||||||
                queryClient.invalidateQueries({
 | 
					 | 
				
			||||||
                    queryKey: ["GUILD_REMINDERS", guild],
 | 
					 | 
				
			||||||
                });
 | 
					 | 
				
			||||||
            } else {
 | 
					 | 
				
			||||||
                queryClient.invalidateQueries({
 | 
					 | 
				
			||||||
                    queryKey: ["USER_REMINDERS"],
 | 
					 | 
				
			||||||
                });
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (iconFlashTimeout.current !== null) {
 | 
					            if (iconFlashTimeout.current !== null) {
 | 
				
			||||||
                clearTimeout(iconFlashTimeout.current);
 | 
					                clearTimeout(iconFlashTimeout.current);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,11 @@ export const EditReminder = ({ reminder: initialReminder, globalCollapse }: Prop
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return (
 | 
					    return (
 | 
				
			||||||
        <ReminderContext.Provider value={[reminder, setReminder]}>
 | 
					        <ReminderContext.Provider value={[reminder, setReminder]} key={reminder.uid}>
 | 
				
			||||||
            <div class={collapsed ? "reminderContent is-collapsed" : "reminderContent"}>
 | 
					            <div
 | 
				
			||||||
 | 
					                class={collapsed ? "reminderContent is-collapsed" : "reminderContent"}
 | 
				
			||||||
 | 
					                id={`reminder-${reminder.uid.slice(0, 12)}`}
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
                <TopBar
 | 
					                <TopBar
 | 
				
			||||||
                    toggleCollapsed={() => {
 | 
					                    toggleCollapsed={() => {
 | 
				
			||||||
                        setCollapsed(!collapsed);
 | 
					                        setCollapsed(!collapsed);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user