import React, { useState } from 'react'; import { useApp } from '../context/AppContext'; import { Kanban, User, Calendar, MapPin, Star, Plus, ArrowRight, Eye } from 'lucide-react'; export const KanbanBoard = () => { const { tenders, updateKanbanStatus, setActiveTenderDetail } = useApp(); const [selectedPersonel, setSelectedPersonel] = useState(''); const [draggedTenderId, setDraggedTenderId] = useState(null); const columns = [ { id: 'incelenecek', title: 'İncelenecek', color: 'bg-slate-100 border-slate-300 text-slate-800' }, { id: 'inceleniyor', title: 'İnceleniyor', color: 'bg-blue-50 border-blue-200 text-blue-900' }, { id: 'teklif_hazirlaniyor', title: 'Teklif Hazırlanıyor', color: 'bg-amber-50 border-amber-200 text-amber-900' }, { id: 'teklif_verildi', title: 'Teklif Verildi', color: 'bg-purple-50 border-purple-200 text-purple-900' }, { id: 'kazanildi', title: 'Kazanıldı', color: 'bg-emerald-50 border-emerald-200 text-emerald-900' }, { id: 'kaybedildi', title: 'Kaybedildi', color: 'bg-rose-50 border-rose-200 text-rose-900' } ]; const personnelList = ['Hikmet Tanrıverdi', 'Ahmet Yılmaz', 'Zeynep Kaya', 'Mehmet Demir']; const filteredTenders = tenders.filter(t => { if (!t.takipte && !t.kanbanStatus) return false; if (selectedPersonel && t.atananPersonel !== selectedPersonel) return false; return true; }); const handleDragStart = (e, id) => { e.dataTransfer.setData('tenderId', id); setDraggedTenderId(id); }; const handleDragOver = (e) => { e.preventDefault(); }; const handleDrop = (e, columnId) => { e.preventDefault(); const id = e.dataTransfer.getData('tenderId') || draggedTenderId; if (id) { updateKanbanStatus(id, columnId); setDraggedTenderId(null); } }; return (
Kartları kolonlar arasında sürükleyerek ihale süreçlerinizi yönetin.
İhale yok