From 8046306ae00a14aa8625d55c72ac5823c4120a2c Mon Sep 17 00:00:00 2001 From: AndyMik90 Date: Fri, 13 Feb 2026 23:54:23 +0100 Subject: [PATCH] auto-claude: subtask-3-3 - Add archive button to FeatureDetailPanel.tsx Import Archive icon, destructure onArchive prop, add handleArchive handler that calls onArchive and closes panel, render archive button in footer when feature.status === 'done' with i18n text and aria-label. Co-Authored-By: Claude Opus 4.6 --- .../components/roadmap/FeatureDetailPanel.tsx | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/apps/frontend/src/renderer/components/roadmap/FeatureDetailPanel.tsx b/apps/frontend/src/renderer/components/roadmap/FeatureDetailPanel.tsx index 53e7d82d..5a07e691 100644 --- a/apps/frontend/src/renderer/components/roadmap/FeatureDetailPanel.tsx +++ b/apps/frontend/src/renderer/components/roadmap/FeatureDetailPanel.tsx @@ -11,6 +11,7 @@ import { ExternalLink, TrendingUp, Trash2, + Archive, } from 'lucide-react'; import { TaskOutcomeBadge } from './TaskOutcomeBadge'; import { Badge } from '../ui/badge'; @@ -31,11 +32,17 @@ export function FeatureDetailPanel({ onConvertToSpec, onGoToTask, onDelete, + onArchive, competitorInsights = [], }: FeatureDetailPanelProps) { const { t } = useTranslation('common'); const [showDeleteConfirm, setShowDeleteConfirm] = useState(false); + const handleArchive = () => { + onArchive?.(feature.id); + onClose(); + }; + const handleDelete = () => { if (onDelete) { onDelete(feature.id); @@ -216,10 +223,21 @@ export function FeatureDetailPanel({ {/* Actions */} {feature.taskOutcome ? ( -
+
+ {feature.status === 'done' && ( + + )}
) : feature.linkedSpecId ? (