// 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;