import { useQuery } from "@tanstack/react-query"; import { getAlbum } from "api/api"; import { useEffect, useState } from "react" interface Props { id: number } export default function SetVariousArtists({ id }: Props) { const [err, setErr] = useState('') const [va, setVA] = useState(false) const [success, setSuccess] = useState('') const { isPending, isError, data, error } = useQuery({ queryKey: [ 'get-album', { id: id }, ], queryFn: ({ queryKey }) => { const params = queryKey[1] as { id: number }; return getAlbum(params.id); }, }); useEffect(() => { if (data) { setVA(data.is_various_artists) } }, [data]) if (isError) { return (
Error: {error.message}
) } if (isPending) { return (Loading...
) } const updateVA = (val: boolean) => { setErr(''); setSuccess(''); fetch(`/apis/web/v1/album?id=${id}&is_various_artists=${val}`, { method: 'PATCH' }) .then(r => { if (r.ok) { setSuccess('Successfully updated album'); } else { r.json().then(r => setErr(r.error)); } }); } return ({err}
} {success &&{success}
}