// Archive view: arşivlenmiş görevler ve firmalar const ARCIcons = window.Icons; function ArchiveView({ state, onRestoreTask, onDeleteTask, onRestoreProject, onDeleteProject, onSelectTask, setActiveView, setActiveProject }) { const archivedTasks = (state.tasks || []).filter(t => t.archived); const archivedProjects = (state.projects || []).filter(p => p.archived); const projectById = Object.fromEntries((state.projects || []).map(p => [p.id, p])); const STATUS_LABELS = { todo: 'Yapılacak', doing: 'Devam Ediyor', review: 'İncelemede', done: 'Tamamlandı' }; const PRIO_COLORS = { high: 'var(--p-high)', medium: 'var(--p-medium)', low: 'var(--p-low)' }; const PRIO_LABELS = { high: 'Yüksek', medium: 'Orta', low: 'Düşük' }; const isEmpty = archivedTasks.length === 0 && archivedProjects.length === 0; return (

Arşiv

Arşivlenen görev ve firmalar burada saklanır. Geri yükleyebilir veya kalıcı olarak silebilirsiniz.

{isEmpty && (

Arşiv boş

Arşivlediğiniz görev veya firmalar burada görünür.

)} {/* ── Arşivlenmiş Görevler ─────────────────────────────── */} {archivedTasks.length > 0 && (
Görevler {archivedTasks.length}
{archivedTasks.map((task, i) => { const proj = projectById[task.projectId]; return (
onSelectTask?.(task.id)}> {task.title}
{proj && ( {proj.name} )} {task.status && ( {STATUS_LABELS[task.status] || task.status} )} {task.priority && ( {PRIO_LABELS[task.priority] || task.priority} )} {task.due && ( {task.due} )}
); })}
)} {/* ── Arşivlenmiş Firmalar ─────────────────────────────── */} {archivedProjects.length > 0 && (
Firmalar {archivedProjects.length}
{archivedProjects.map((proj, i) => { const taskCount = (state.tasks || []).filter(t => t.projectId === proj.id).length; return (
{proj.name.slice(0, 2).toUpperCase()}
{proj.name}
{taskCount} görev {proj.description && {proj.description}}
); })}
)}
); } window.ArchiveView = ArchiveView;