diff --git a/apps/ui/src/components/views/board-view/dialogs/add-feature-dialog.tsx b/apps/ui/src/components/views/board-view/dialogs/add-feature-dialog.tsx index 3fd44d9a..126fe688 100644 --- a/apps/ui/src/components/views/board-view/dialogs/add-feature-dialog.tsx +++ b/apps/ui/src/components/views/board-view/dialogs/add-feature-dialog.tsx @@ -91,6 +91,13 @@ interface AddFeatureDialogProps { allFeatures?: Feature[]; } +/** + * A single entry in the description history + */ +interface DescriptionHistoryEntry extends BaseHistoryEntry { + description: string; +} + export function AddFeatureDialog({ open, onOpenChange, @@ -135,9 +142,6 @@ export function AddFeatureDialog({ const [descriptionError, setDescriptionError] = useState(false); // Description history state - interface DescriptionHistoryEntry extends BaseHistoryEntry { - description: string; - } const [descriptionHistory, setDescriptionHistory] = useState([]); // Spawn mode state diff --git a/apps/ui/src/components/views/board-view/dialogs/edit-feature-dialog.tsx b/apps/ui/src/components/views/board-view/dialogs/edit-feature-dialog.tsx index 212dea2e..92d633dc 100644 --- a/apps/ui/src/components/views/board-view/dialogs/edit-feature-dialog.tsx +++ b/apps/ui/src/components/views/board-view/dialogs/edit-feature-dialog.tsx @@ -33,6 +33,7 @@ import { PlanningModeSelect, EnhanceWithAI, EnhancementHistoryButton, + type EnhancementMode, } from '../shared'; import type { WorkMode } from '../shared'; import { PhaseModelSelector } from '@/components/views/settings-view/model-defaults/phase-model-selector'; @@ -63,7 +64,7 @@ interface EditFeatureDialogProps { requirePlanApproval: boolean; }, descriptionHistorySource?: 'enhance' | 'edit', - enhancementMode?: 'improve' | 'technical' | 'simplify' | 'acceptance' | 'ux-reviewer' + enhancementMode?: EnhancementMode ) => void; categorySuggestions: string[]; branchSuggestions: string[]; @@ -112,7 +113,7 @@ export function EditFeatureDialog({ // Track the source of description changes for history const [descriptionChangeSource, setDescriptionChangeSource] = useState< - { source: 'enhance'; mode: 'improve' | 'technical' | 'simplify' | 'acceptance' } | 'edit' | null + { source: 'enhance'; mode: EnhancementMode } | 'edit' | null >(null); // Track the original description when the dialog opened for comparison const [originalDescription, setOriginalDescription] = useState(feature?.description ?? ''); diff --git a/apps/ui/src/components/views/board-view/dialogs/follow-up-dialog.tsx b/apps/ui/src/components/views/board-view/dialogs/follow-up-dialog.tsx index 23de2a26..4457b5d0 100644 --- a/apps/ui/src/components/views/board-view/dialogs/follow-up-dialog.tsx +++ b/apps/ui/src/components/views/board-view/dialogs/follow-up-dialog.tsx @@ -18,18 +18,20 @@ import { } from '@/components/ui/description-image-dropzone'; import { MessageSquare } from 'lucide-react'; import { Feature } from '@/store/app-store'; -import { EnhanceWithAI, EnhancementHistoryButton, type EnhancementMode } from '../shared'; +import { + EnhanceWithAI, + EnhancementHistoryButton, + type EnhancementMode, + type BaseHistoryEntry, +} from '../shared'; const logger = createLogger('FollowUpDialog'); /** * A single entry in the follow-up prompt history */ -export interface FollowUpHistoryEntry { +export interface FollowUpHistoryEntry extends BaseHistoryEntry { prompt: string; - timestamp: string; // ISO date string - source: 'initial' | 'enhance' | 'edit'; - enhancementMode?: EnhancementMode; } interface FollowUpDialogProps { diff --git a/apps/ui/src/components/views/board-view/shared/enhancement/enhancement-history-button.tsx b/apps/ui/src/components/views/board-view/shared/enhancement/enhancement-history-button.tsx index f0dbcd86..77dac898 100644 --- a/apps/ui/src/components/views/board-view/shared/enhancement/enhancement-history-button.tsx +++ b/apps/ui/src/components/views/board-view/shared/enhancement/enhancement-history-button.tsx @@ -54,7 +54,9 @@ export function EnhancementHistoryButton({ return 'Original'; } if (entry.source === 'enhance') { - return `Enhanced (${ENHANCEMENT_MODE_LABELS[entry.enhancementMode ?? 'improve']})`; + const mode = entry.enhancementMode ?? 'improve'; + const label = ENHANCEMENT_MODE_LABELS[mode as EnhancementMode] ?? mode; + return `Enhanced (${label})`; } return 'Edited'; };