import styles from "../../styles"; import { Button } from "@mui/material"; import { useNavigate, useParams } from "react-router-dom"; import { useEffect, useState } from "react"; import Header from "../../Components/Header/Header"; import { AddNote, GetNote, UpdateNote } from "../../Components/Api/Api"; import { useMutation, useQuery, useQueryClient } from "react-query"; import { NoteProps } from "../../Interfaces/Interfaces"; export interface input { e: React.ChangeEvent; } export default function ViewNote() { const navigate = useNavigate(); const { id } = useParams(); const queryClient = useQueryClient(); const mutation = useMutation({ mutationFn: UpdateNote, onSuccess: () => { queryClient.invalidateQueries("notes"); }, }); const [note, setNote] = useState({ title: "test", content: "test", }); async function retrieve() { let a = await GetNote(Number(id)); setNote(a); return a; } const { data, isLoading, error } = useQuery("note", retrieve, { retry: 0, }); useEffect(() => { setNote(data); }, []); if (error) { return (

Error retrieving specific note

); } if (isLoading) { return (

Loading Note...

); } if (data) { return (

Edit Note

Title: 

{ setNote({ ...note, title: e.target.value }); }} maxLength={20} />