import { state } from '../state'; export const completeAnime = async (episodeNumber: number): Promise => { if (state.completionSent || !state.malID || !episodeNumber) return; state.completionSent = true; try { const res = await fetch('/api/watch-complete', { method: 'POST', headers: { 'Content-Type': 'application/json' }, keepalive: true, body: JSON.stringify({ mal_id: state.malID, episode: episodeNumber }), }); if (!res.ok) { state.completionSent = false; if (state.completionAttempts < 2) { state.completionAttempts++; setTimeout(() => completeAnime(episodeNumber), 1000); } return; } const trigger = document.querySelector('[data-dropdown-trigger]') as HTMLButtonElement | null; if (trigger) { trigger.textContent = 'Completed '; const caret = document.createElement('span'); caret.className = 'text-xs'; caret.textContent = '▾'; trigger.appendChild(caret); } } catch { state.completionSent = false; if (state.completionAttempts < 2) { state.completionAttempts++; setTimeout(() => completeAnime(episodeNumber), 1000); } } };