'use client' import Link from 'next/link' import { ChevronRightIcon, TrashIcon } from 'lucide-react' export default function ProjectList({ projects, onProjectsChange }: { projects: any[] onProjectsChange?: () => void }) { const handleProjectClick = (projectId: string) => (e: React.MouseEvent) => { e.preventDefault() window.location.href = `/project/${projectId}` } const handleDeleteProject = (projectId: string, projectName: string) => (e: React.MouseEvent) => { e.preventDefault() e.stopPropagation() if (window.confirm(`Are you sure you want to delete "${projectName}"? This action cannot be undone.`)) { deleteProject(projectId, projectName) } } const deleteProject = async (projectId: string, projectName: string) => { try { const response = await fetch(`/api/projects/delete?id=${projectId}`, { method: 'DELETE', headers: { 'Content-Type': 'application/json', }, }) if (!response.ok) { throw new Error(`Failed to delete project: ${response.statusText}`) } // Show success message alert(`Project "${projectName}" has been deleted successfully.`) // Trigger refresh of projects list without full page reload if (onProjectsChange) { onProjectsChange() } } catch (error) { console.error('Error deleting project:', error) alert(`Failed to delete project "${projectName}". Please try again.`) } } return (

Your Projects

{projects && projects.length > 0 ? (
{projects.map((project: any) => (

{project.name}

{project.description}

View Details
))}
) : (

No projects found. Create a new project to get started!

)}
) }