Don't invalidate reminders when saving
This commit is contained in:
parent
d15a66d9d9
commit
a770a17ee7
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user