"use client"; import { useState, useEffect } from "react"; import { Nunito } from "next/font/google"; import { api } from "muzak/data/fetcher"; import { useAnimation } from "muzak/contexts/AnimationContext"; import { useQuota } from "muzak/contexts/QuotaContext"; const nunito = Nunito({ weight: "900", subsets: ["latin"], }); export default function Nominations() { const { isAnimate, setIsAnimate } = useAnimation(); const [songURL, setSongURL] = useState(""); const [isLoading, setIsLoading] = useState(false); const [message, setMessage] = useState(""); const [canNominate, setCanNominate] = useState(true); const isSpotifyURL = /^https:\/\/open\.spotify\.com\/track\/[a-zA-Z0-9]{22}(\?.*)?$/.test( songURL, ); const { quota, setQuota } = useQuota(); async function nominate(spotifyLink: string) { try { setIsAnimate(false); const response = await api.tracks.nominate({ spotify_link: spotifyLink, }); console.log("Nomination successful:", response); setIsAnimate(true); setQuota(quota - 1); return { success: true, data: response.data }; } catch (error) { console.error("Nomination failed:", error); return { success: false, error }; } } useEffect(() => { if (quota > 0) { setCanNominate(true); } else { setCanNominate(false); } }, [quota]); return (

NOMINATIES

Dump hier je Spotify-link:

{message && (
{message}
)}
); }