import { useState } from 'react'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@/components/ui/dialog'; import { Button } from '@/components/ui/button'; import { Label } from '@/components/ui/label'; import { HotkeyButton } from '@/components/ui/hotkey-button'; import { DescriptionImageDropZone, FeatureImagePath as DescriptionImagePath, ImagePreviewMap, } from '@/components/ui/description-image-dropzone'; import { MessageSquare } from 'lucide-react'; import { Feature } from '@/store/app-store'; interface FollowUpDialogProps { open: boolean; onOpenChange: (open: boolean) => void; feature: Feature | null; prompt: string; imagePaths: DescriptionImagePath[]; previewMap: ImagePreviewMap; onPromptChange: (prompt: string) => void; onImagePathsChange: (paths: DescriptionImagePath[]) => void; onPreviewMapChange: (map: ImagePreviewMap) => void; onSend: () => void; isMaximized: boolean; } export function FollowUpDialog({ open, onOpenChange, feature, prompt, imagePaths, previewMap, onPromptChange, onImagePathsChange, onPreviewMapChange, onSend, isMaximized, }: FollowUpDialogProps) { const handleClose = (open: boolean) => { if (!open) { onOpenChange(false); } }; return ( { if ((e.metaKey || e.ctrlKey) && e.key === 'Enter' && prompt.trim()) { e.preventDefault(); onSend(); } }} > Follow-Up Prompt Send additional instructions to continue working on this feature. {feature && ( Feature: {feature.description.slice(0, 100)} {feature.description.length > 100 ? '...' : ''} )}

The agent will continue from where it left off, using the existing context. You can attach screenshots to help explain the issue.

Send Follow-Up
); }