import React, { useState } from 'react'; import { GeneratedContent, WizardState } from '../types'; import { Copy, Check, Instagram, Image as ImageIcon, MessageSquare, Edit2, RefreshCw, X } from 'lucide-react'; import TripMap from './TripMap'; import { UI_TEXT } from '../_EDITABLE_CONFIG/ui_text'; interface ExtendedStepResultProps { content: GeneratedContent; onRegenerate: (slideCount: number, feedback: string) => void; isRegenerating: boolean; tripData?: WizardState['tripData']; eventType?: WizardState['eventType']; } const StepResult: React.FC = ({ content, onRegenerate, isRegenerating, tripData, eventType }) => { const [copiedSection, setCopiedSection] = useState(null); const [copiedSlideIndex, setCopiedSlideIndex] = useState(null); const [isEditing, setIsEditing] = useState(false); const [slideCount, setSlideCount] = useState(content.slides.length || 12); const [feedback, setFeedback] = useState(""); const copyToClipboard = (text: string, sectionId: string) => { navigator.clipboard.writeText(text); setCopiedSection(sectionId); setTimeout(() => setCopiedSection(null), 2000); }; const copySlideText = (text: string, index: number) => { navigator.clipboard.writeText(text); setCopiedSlideIndex(index); setTimeout(() => setCopiedSlideIndex(null), 2000); }; const handleApplyChanges = () => { onRegenerate(slideCount, feedback); setIsEditing(false); }; return (

{UI_TEXT.stepResult.title}

{UI_TEXT.stepResult.subtitle}

{!isEditing && !isRegenerating && ( )}
{(isEditing || isRegenerating) && (
{isRegenerating && (

{UI_TEXT.stepResult.editPanel.regenerating}

)}

{UI_TEXT.stepResult.editPanel.title}

{!isRegenerating && ( )}
setSlideCount(parseInt(e.target.value))} className="w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer accent-[#EA4420]" />
3 (Minimum) 20 (Maksimum)