import { useState, useEffect } from "react"; import type { CreatePlaylistModalProps } from "../../utils/types"; const CreatePlaylistModal = ({ isOpen, onClose, onSubmit, }: CreatePlaylistModalProps) => { const [playlistName, setPlaylistName] = useState(""); const [isClosing, setIsClosing] = useState(false); const [isOpening, setIsOpening] = useState(false); useEffect(() => { if (isOpen) { setIsClosing(false); setPlaylistName(""); setIsOpening(true); setTimeout(() => setIsOpening(false), 10); } }, [isOpen]); const handleClose = () => { setIsClosing(true); setTimeout(() => { onClose(); setIsClosing(false); }, 200); }; const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); if (playlistName.trim()) { onSubmit(playlistName.trim()); handleClose(); } }; if (!isOpen && !isClosing) return null; return (