Skip to content
Snippets Groups Projects
Commit 703f22bf authored by Salomo309's avatar Salomo309
Browse files

refactor: integrate delete album

parent 298d57fd
1 merge request!1Dev
import { useState } from 'react'; import axios from 'axios';
import { import { useNavigate, useParams } from 'react-router-dom';
DropdownMenu,
DropdownMenuTrigger,
DropdownMenuContent,
DropdownMenuItem,
} from "./ui/dropdown-menu";
import { Button } from "./ui/button";
import { useNavigate } from 'react-router-dom';
export function AlbumDropdown() {
const [dropdownOpen, setDropdownOpen] = useState(false);
console.log(dropdownOpen);
const toggleDropdown = () => {
setDropdownOpen(prevState => !prevState);
};
const DeleteAlbumDialog = () => {
const { albumId } = useParams();
const navigate = useNavigate(); const navigate = useNavigate();
const handleEditAlbum = () => {
console.log('Edit Album');
setDropdownOpen(false);
navigate('/1/edit-album');
}
const handleDeleteAlbum = () => { const handleDeleteAlbum = () => {
console.log('Delete Album'); try {
setDropdownOpen(false); axios.delete(`http://localhost:3000/api/premium-album/${albumId}`);
navigate('/1/delete-album'); } catch (error) {
console.error('Error deleting album:', error);
}
};
const handleCancel = () => {
navigate(-1);
}; };
return ( return (
<DropdownMenu> <>
<DropdownMenuTrigger asChild> {(
<Button variant="outline" onClick={toggleDropdown} className='bg-zinc-800 border-none text-white rounded h-3 pb-5'> <div className="fixed inset-0 overflow-y-auto z-50">
... <div className="flex items-center justify-center min-h-screen">
</Button> <div className="fixed inset-0 transition-opacity">
</DropdownMenuTrigger> <div className="absolute inset-0 bg-gray-500 opacity-75"></div>
<DropdownMenuContent className="w-40 text-white bg-black border-grey-200" style={{ position: 'absolute', right: -20 }}> </div>
<DropdownMenuItem onClick={handleEditAlbum} className='hover:bg-zinc-800'> <div className="bg-white rounded p-8 z-10">
Edit Album <div className="mb-4 text-lg font-semibold">Delete Album Confirmation</div>
</DropdownMenuItem> <div className="mb-4">Are you sure you want to delete this Album?</div>
<DropdownMenuItem onClick={handleDeleteAlbum}> <div className="flex justify-end">
Delete Album <button
</DropdownMenuItem> onClick={handleCancel}
</DropdownMenuContent> className="px-4 py-2 mr-2 bg-gray-300 hover:bg-gray-400 rounded"
</DropdownMenu> >
Cancel
</button>
<button
onClick={handleDeleteAlbum}
className="px-4 py-2 bg-red-500 hover:bg-red-600 text-white rounded"
>
Delete
</button>
</div>
</div>
</div>
</div>
)}
</>
); );
} };
export default DeleteAlbumDialog;
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment