import { useMutation, useQuery, useQueryClient } from "react-query"; import { fetchGuildChannels, postGuildTodo } from "../../api"; import { useGuild } from "../App/useGuild"; import { useState } from "preact/hooks"; import { useFlash } from "../App/FlashContext"; import { ICON_FLASH_TIME } from "../../consts"; export const CreateTodo = () => { const guild = useGuild(); const [recentlyCreated, setRecentlyCreated] = useState(false); const [newTodo, setNewTodo] = useState({ value: "", channel_id: null }); const flash = useFlash(); const queryClient = useQueryClient(); const { isSuccess, data: channels } = useQuery(fetchGuildChannels(guild)); const mutation = useMutation({ ...postGuildTodo(guild), onSuccess: (data) => { if (data.error) { flash({ message: data.error, type: "error", }); } else { flash({ message: "Todo created", type: "success", }); queryClient.invalidateQueries({ queryKey: ["GUILD_TODO"], }); setRecentlyCreated(true); setTimeout(() => { setRecentlyCreated(false); }, ICON_FLASH_TIME); } }, }); console.log(newTodo); return (