From 27a3c6024fe902b29e59208147660910cdb51aed Mon Sep 17 00:00:00 2001 From: Arek Bykowski Date: Sun, 15 Feb 2026 13:22:48 +0100 Subject: [PATCH] Pierwszy wrzut promptstory --- .DS_Store | Bin 0 -> 6148 bytes App.tsx | 319 +++++++++++++++++++ README.md | 20 ++ avatar.jpeg | Bin 0 -> 128320 bytes components/StepContext.tsx | 109 +++++++ components/StepData.tsx | 128 ++++++++ components/StepDetails.tsx | 581 +++++++++++++++++++++++++++++++++++ components/StepEventType.tsx | 56 ++++ components/StepPlatform.tsx | 69 +++++ components/StepResult.tsx | 212 +++++++++++++ components/StepToneGoal.tsx | 105 +++++++ components/StepWaypoints.tsx | 107 +++++++ components/TripMap.tsx | 331 ++++++++++++++++++++ index.html | 34 ++ index.tsx | 15 + logo.png | Bin 0 -> 954162 bytes metadata.json | 5 + package.json | 24 ++ prompts/index.ts | 72 +++++ prompts/modular.ts | 203 ++++++++++++ services/geminiService.ts | 164 ++++++++++ tsconfig.json | 29 ++ types.ts | 84 +++++ untitled.tsx | 0 utils/fileUtils.ts | 43 +++ utils/gpxUtils.ts | 100 ++++++ vite.config.ts | 23 ++ 27 files changed, 2833 insertions(+) create mode 100644 .DS_Store create mode 100644 App.tsx create mode 100644 README.md create mode 100644 avatar.jpeg create mode 100644 components/StepContext.tsx create mode 100644 components/StepData.tsx create mode 100644 components/StepDetails.tsx create mode 100644 components/StepEventType.tsx create mode 100644 components/StepPlatform.tsx create mode 100644 components/StepResult.tsx create mode 100644 components/StepToneGoal.tsx create mode 100644 components/StepWaypoints.tsx create mode 100644 components/TripMap.tsx create mode 100644 index.html create mode 100644 index.tsx create mode 100644 logo.png create mode 100644 metadata.json create mode 100644 package.json create mode 100644 prompts/index.ts create mode 100644 prompts/modular.ts create mode 100644 services/geminiService.ts create mode 100644 tsconfig.json create mode 100644 types.ts create mode 100644 untitled.tsx create mode 100644 utils/fileUtils.ts create mode 100644 utils/gpxUtils.ts create mode 100644 vite.config.ts diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..18829a8d992b8b52b1d4cc0c72654cbb0529fc61 GIT binary patch literal 6148 zcmeH~%}(Pm6os!#M-5OAOO_E!7Lj;^fXZSPvzd8;fu@w7&>|=m?D7me1&dkD3&MA8 zgPfnvas9vg6DUBN{{v);n|BdY9gC*B1?RM-@>_sIgzP*>fc#^ z8>|f(%UrIBoy&~)na)+`n7tO~g1Ca{2j)44aV=$o^VHz1OUPN3&z~TlL`v2)#WPkn z>&zsK-(nRLn|gSTL1WoIs7I$s6%N;%ck5_;H*Gcgz zDi9U;QVN*<=+}tPNDkd@)3Y|kf8%NzS2?s43V$5iiXO$gxHbAxt$?}5${{US{3Bpx Lh(%Q3zbfzw$s6rl literal 0 HcmV?d00001 diff --git a/App.tsx b/App.tsx new file mode 100644 index 0000000..d423735 --- /dev/null +++ b/App.tsx @@ -0,0 +1,319 @@ + +import React, { useState, useEffect } from 'react'; +import { WizardState, Step, GeneratedContent } from './types'; +import StepContext from './components/StepContext'; +import StepPlatform from './components/StepPlatform'; +import StepEventType from './components/StepEventType'; +import StepToneGoal from './components/StepToneGoal'; +import StepDetails from './components/StepDetails'; +import StepResult from './components/StepResult'; +import { ChevronLeft, ExternalLink, Sparkles, User } from 'lucide-react'; +import { generateStoryContent } from './services/geminiService'; + +const STORAGE_KEY = 'gpx-storyteller-state-v6'; // Incremented version for structure change + +const INITIAL_STATE: WizardState = { + step: Step.CONTEXT, + context: null, + storyStyle: null, + platform: null, + eventType: null, + tone: null, + goal: null, + title: 'Poznań Maraton 2025', + description: 'Byłem totalnie nieprzygotowany. Ostatnie pół roku prawie nie ćwiczyłem, a w dodatku biegłem na antybiotykach z zapaleniem osemki. To była walka a nie przyjemność z biegania. To było głupie. Ale było warto', + files: [], + stats: { + distance: '', + duration: '', + elevation: '', + }, + waypoints: [], + tripData: { + startPoint: { place: '', description: '' }, + endPoint: { place: '', description: '' }, + stops: [], + travelMode: null, + googleMapsKey: '' + } +}; + +const App: React.FC = () => { + const [data, setData] = useState(INITIAL_STATE); + const [generatedContent, setGeneratedContent] = useState(null); + const [isGenerating, setIsGenerating] = useState(false); + const [isLoaded, setIsLoaded] = useState(false); + const [errorMessage, setErrorMessage] = useState(null); + + // Image loading states + const [logoError, setLogoError] = useState(false); + const [avatarError, setAvatarError] = useState(false); + + // Persistence Logic + useEffect(() => { + const saved = localStorage.getItem(STORAGE_KEY); + if (saved) { + try { + const parsed = JSON.parse(saved); + // Reset files because File objects cannot be serialized to local storage + parsed.files = []; + + // Ensure new fields exist if loading from old state + if (!parsed.stats) parsed.stats = { distance: '', duration: '', elevation: '' }; + if (!parsed.waypoints) parsed.waypoints = []; + + // Ensure tripData exists + if (!parsed.tripData) { + parsed.tripData = { ...INITIAL_STATE.tripData }; + } + + // Defaults for new fields if migrating + if (!parsed.tone) parsed.tone = null; + if (!parsed.goal) parsed.goal = null; + if (!parsed.storyStyle) parsed.storyStyle = null; + + setData(parsed); + } catch (e) { + console.error("Failed to load state", e); + } + } + setIsLoaded(true); + }, []); + + useEffect(() => { + if (isLoaded) { + // Exclude files from persistence to avoid quota issues and serialization errors + const stateToSave = { ...data, files: [] }; + localStorage.setItem(STORAGE_KEY, JSON.stringify(stateToSave)); + } + }, [data, isLoaded]); + + // UPDATED: Now supports functional updates to prevent stale state issues + const updateData = (updates: Partial | ((prev: WizardState) => Partial)) => { + setData(prev => { + const newValues = typeof updates === 'function' ? updates(prev) : updates; + return { ...prev, ...newValues }; + }); + }; + + const nextStep = () => { + if (data.step < Step.RESULT) { + updateData({ step: data.step + 1 }); + } + }; + + const prevStep = () => { + if (data.step > Step.CONTEXT) { + updateData({ step: data.step - 1 }); + } + }; + + const handleGenerate = async () => { + setIsGenerating(true); + setErrorMessage(null); + try { + const content = await generateStoryContent( + data, + process.env.API_KEY || '' + ); + + setGeneratedContent(content); + updateData({ step: Step.RESULT }); + } catch (error: any) { + console.error("Generowanie nie powiodło się:", error); + setErrorMessage("Błąd generowania. Sprawdź poprawność klucza API w pliku .env oraz połączenie z siecią. " + (error.message || '')); + } finally { + setIsGenerating(false); + } + }; + + const handleRegenerate = async (slideCount: number, feedback: string) => { + setIsGenerating(true); + setErrorMessage(null); + try { + const content = await generateStoryContent( + data, + process.env.API_KEY || '', + { slideCount, feedback } + ); + + setGeneratedContent(content); + } catch (error: any) { + console.error("Regenerowanie nie powiodło się:", error); + setErrorMessage("Błąd regenerowania: " + (error.message || '')); + } finally { + setIsGenerating(false); + } + }; + + const resetApp = () => { + setData({ ...INITIAL_STATE }); + setGeneratedContent(null); + localStorage.removeItem(STORAGE_KEY); + // Force reload to clear any hung states + window.location.reload(); + }; + + if (!isLoaded) return null; + + // Step Labels for Progress Bar (Order Changed) + const stepsLabels = ['Kontekst', 'Typ', 'Platforma', 'Vibe & Cel', 'Szczegóły']; + + return ( +
+ {/* Header */} +
+
+
+ {!logoError ? ( + setLogoError(true)} + alt="PromptStory Logo" + className="w-10 h-10 object-contain" + /> + ) : ( +
+ +
+ )} +

PromptStory

+
+ +
+
+ +
+ + {/* Progress Bar */} + {data.step !== Step.RESULT && ( +
+
+ {stepsLabels.map((label, idx) => ( + = idx ? 'text-[#EA4420]' : 'text-gray-300'}`}> + 0{idx + 1}. {label} + + ))} +
+
+
+
+
+ )} + + {/* Dynamic Content Container */} +
+ {/* STEP 1: CONTEXT */} + {data.step === Step.CONTEXT && } + + {/* STEP 2: EVENT TYPE (Moved UP) */} + {data.step === Step.EVENT_TYPE && } + + {/* STEP 3: PLATFORM (Moved DOWN) */} + {data.step === Step.PLATFORM && } + + {/* STEP 4: TONE & GOAL (NEW) */} + {data.step === Step.TONE_GOAL && } + + {/* STEP 5: DETAILS */} + {data.step === Step.DETAILS && ( + + )} + + {/* STEP 6: RESULT */} + {data.step === Step.RESULT && generatedContent && ( + + )} + + {/* Error Message */} + {errorMessage && ( +
+ {errorMessage} +
+ )} +
+ + {/* Navigation Controls (Back Only) */} + {data.step > Step.CONTEXT && data.step < Step.RESULT && ( +
+
+ +
+
+ )} +
+ + {/* Footer / Author Info */} +
+
+
+ {/* Avatar */} +
+
+ {!avatarError ? ( + setAvatarError(true)} + alt="Arkadiusz Bykowski" + className="relative w-20 h-20 rounded-full object-cover border border-gray-100 bg-white" + /> + ) : ( +
+ +
+ )} +
+ + {/* Text Info */} +
+

Arkadiusz Bykowski

+

+ Zamieniam Twoją stronę w maszynkę do zarabiania pieniędzy. Od 12 lat projektuję strony, które sprzedają bez Twojego udziału – póki Ty śpisz, one robią za Ciebie robotę. Specjalizuję się w landing page'ach, które budują zaufanie i zmieniają odwiedzających w płacących klientów. +

+
+ Product Design + AI Automation + No-Code +
+
+
+ + {/* Button */} + + Odwiedź stronę + + +
+
+
+ ); +}; + +export default App; \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..addf3a8 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +
+GHBanner +
+ +# Run and deploy your AI Studio app + +This contains everything you need to run your app locally. + +View your app in AI Studio: https://ai.studio/apps/drive/1Fk1GjH6OOteqHMS-IChAeMvr785qR6xS + +## Run Locally + +**Prerequisites:** Node.js + + +1. Install dependencies: + `npm install` +2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key +3. Run the app: + `npm run dev` diff --git a/avatar.jpeg b/avatar.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ce022a7e41efda84a1e6ab0627544a5c321f7594 GIT binary patch literal 128320 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.zX$Kg$j)s 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 aAXlZ7yH`Tk=cuBJ`r{y?icF5w0sq-!C8^l} literal 0 HcmV?d00001 diff --git a/components/StepContext.tsx b/components/StepContext.tsx new file mode 100644 index 0000000..3cef256 --- /dev/null +++ b/components/StepContext.tsx @@ -0,0 +1,109 @@ +import React from 'react'; +import { WizardState, Step } from '../types'; +import { Camera, BookOpen, Ghost, Sword } from 'lucide-react'; + +interface StepContextProps { + data: WizardState; + updateData: (updates: Partial) => void; + nextStep: () => void; +} + +const StepContext: React.FC = ({ data, updateData, nextStep }) => { + + const handleContextSelect = (context: WizardState['context']) => { + // If selecting Relacja, clear storyStyle and move on + if (context === 'relacja') { + updateData({ context, storyStyle: null }); + setTimeout(nextStep, 150); + } else { + // If selecting Opowiesc, just update context and stay for sub-step + updateData({ context, storyStyle: null }); // Reset style if switching back to opowiesc + } + }; + + const handleStyleSelect = (storyStyle: WizardState['storyStyle']) => { + updateData({ storyStyle }); + setTimeout(nextStep, 150); + }; + + return ( +
+
+

Wybierz Kontekst

+

Jaki rodzaj historii chcesz opowiedzieć?

+ + {/* Main Context Selection */} +
+ + + +
+ + {/* Sub-step for Opowiesc: Story Style */} + {data.context === 'opowiesc' && ( +
+

Wybierz Styl Opowieści

+

Nadaj historii unikalny klimat.

+ +
+ + + +
+
+ )} + +
+
+ ); +}; + +export default StepContext; \ No newline at end of file diff --git a/components/StepData.tsx b/components/StepData.tsx new file mode 100644 index 0000000..b59dbf9 --- /dev/null +++ b/components/StepData.tsx @@ -0,0 +1,128 @@ +import React, { useRef, useState } from 'react'; +import { WizardState } from '../types'; +import { UploadCloud, FileJson, AlertCircle } from 'lucide-react'; +import { parseGpxFile } from '../utils/gpxUtils'; + +interface StepDataProps { + data: WizardState; + updateData: (updates: Partial) => void; +} + +const StepData: React.FC = ({ data, updateData }) => { + const fileInputRef = useRef(null); + const [error, setError] = useState(null); + const [isParsing, setIsParsing] = useState(false); + + const handleFileChange = async (e: React.ChangeEvent) => { + const file = e.target.files?.[0]; + if (!file) return; + + if (!file.name.toLowerCase().endsWith('.gpx')) { + setError('Proszę wybrać plik .gpx'); + return; + } + + setError(null); + setIsParsing(true); + + try { + const stats = await parseGpxFile(file); + updateData({ stats }); + } catch (err) { + console.error(err); + setError('Błąd parsowania pliku GPX. Spróbuj innego pliku lub wpisz dane ręcznie.'); + } finally { + setIsParsing(false); + } + }; + + const handleStatsChange = (key: keyof typeof data.stats, value: string) => { + updateData({ + stats: { + ...data.stats, + [key]: value + } + }); + }; + + return ( +
+
+

Dane Aktywności

+

Wgraj plik GPX lub wpisz dane ręcznie.

+
+ + {/* Upload Zone */} +
fileInputRef.current?.click()} + > + + + {isParsing ? ( +
+ +

Analizowanie pliku...

+
+ ) : ( + <> + +

Kliknij, aby wgrać plik GPX

+

lub przeciągnij i upuść tutaj

+ + )} +
+ + {error && ( +
+ + {error} +
+ )} + + {/* Manual Override Inputs */} +
+
+ + handleStatsChange('distance', e.target.value)} + className="w-full p-4 border border-gray-200 rounded-md focus:ring-1 focus:ring-[#EA4420] focus:border-[#EA4420] outline-none transition-all font-medium text-gray-900 placeholder-gray-300" + placeholder="np. 12.5 km" + /> +
+
+ + handleStatsChange('duration', e.target.value)} + className="w-full p-4 border border-gray-200 rounded-md focus:ring-1 focus:ring-[#EA4420] focus:border-[#EA4420] outline-none transition-all font-medium text-gray-900 placeholder-gray-300" + placeholder="np. 1h 45m" + /> +
+
+ + handleStatsChange('elevation', e.target.value)} + className="w-full p-4 border border-gray-200 rounded-md focus:ring-1 focus:ring-[#EA4420] focus:border-[#EA4420] outline-none transition-all font-medium text-gray-900 placeholder-gray-300" + placeholder="np. 350m" + /> +
+
+
+ ); +}; + +export default StepData; \ No newline at end of file diff --git a/components/StepDetails.tsx b/components/StepDetails.tsx new file mode 100644 index 0000000..bc38289 --- /dev/null +++ b/components/StepDetails.tsx @@ -0,0 +1,581 @@ + +import React, { useRef, useState, useEffect } from 'react'; +import { WizardState } from '../types'; +import { UploadCloud, FileText, X, Image as ImageIcon, Sparkles, Loader2, MapPin, Navigation, Plus, Trash2, Flag, Target, AlertCircle, CheckCircle2, Car, Footprints } from 'lucide-react'; +import { processFile } from '../utils/fileUtils'; + +// --- HELPER COMPONENT: PLACE AUTOCOMPLETE INPUT (WIDGET VERSION) --- +interface PlaceAutocompleteInputProps { + value: string; + onChange: (val: string, preview?: string) => void; + placeholder: string; + icon: React.ReactNode; + scriptLoaded: boolean; + disabled?: boolean; + onError?: (msg: string) => void; + addressPreview?: string; +} + +const PlaceAutocompleteInput: React.FC = ({ value, onChange, placeholder, icon, scriptLoaded, disabled, onError, addressPreview }) => { + const inputRef = useRef(null); + const autocompleteRef = useRef(null); + + // Initialize Google Autocomplete Widget + useEffect(() => { + if (!scriptLoaded || !inputRef.current || !(window as any).google || autocompleteRef.current) return; + + try { + const google = (window as any).google; + + // Use the standard Autocomplete widget attached to the input + const autocomplete = new google.maps.places.Autocomplete(inputRef.current, { + fields: ["place_id", "geometry", "name", "formatted_address"], + types: ["geocode", "establishment"] + }); + + autocompleteRef.current = autocomplete; + + autocomplete.addListener("place_changed", () => { + const place = autocomplete.getPlace(); + + if (!place.geometry) { + return; + } + + // FIX: Use formatted_address as fallback if name is empty/missing + const name = place.name || place.formatted_address || ""; + const address = place.formatted_address; + + // Update parent state + onChange(name, address); + }); + } catch (e) { + console.error("Autocomplete init error", e); + if(onError) onError("Błąd inicjalizacji widgetu Google Maps."); + } + }, [scriptLoaded, onError, onChange]); + + return ( +
+
+ {icon} +
+ onChange(e.target.value)} + disabled={disabled} + className="w-full pl-9 p-3 border border-gray-300 rounded-md focus:border-[#EA4420] outline-none font-medium disabled:bg-gray-100 disabled:text-gray-400 transition-colors" + placeholder={placeholder} + autoComplete="off" + /> + + {/* Address Confirmation Hint */} + {addressPreview && ( +
+ + {addressPreview} +
+ )} +
+ ); +}; + + +// --- MAIN COMPONENT --- +interface StepDetailsProps { + data: WizardState; + // Update Type Definition to allow functional updates + updateData: (updates: Partial | ((prev: WizardState) => Partial)) => void; + onGenerate: () => void; + isGenerating: boolean; +} + +const StepDetails: React.FC = ({ data, updateData, onGenerate, isGenerating }) => { + const fileInputRef = useRef(null); + const [error, setError] = useState(null); + + // Specific Error State + const [mapError, setMapError] = useState<{title: string, msg: string} | null>(null); + const [scriptLoaded, setScriptLoaded] = useState(false); + + // --- HARDCODED FALLBACK KEY --- + const AUTO_PASTE_KEY = 'AIzaSyAq9IgZswt5j7GGfH2s-ESenHmfvWFCFCg'; + + const getEffectiveKey = () => { + if (data.tripData?.googleMapsKey) return data.tripData.googleMapsKey; + // @ts-ignore + if (import.meta.env && import.meta.env.VITE_GOOGLE_MAPS_KEY) return import.meta.env.VITE_GOOGLE_MAPS_KEY; + if (process.env.GOOGLE_MAPS_KEY) return process.env.GOOGLE_MAPS_KEY; + return AUTO_PASTE_KEY; + }; + + const effectiveKey = getEffectiveKey(); + const isEnvKeyMissing = !process.env.GOOGLE_MAPS_KEY && + // @ts-ignore + !import.meta.env?.VITE_GOOGLE_MAPS_KEY && + data.tripData?.googleMapsKey !== AUTO_PASTE_KEY; + + // --- GOOGLE MAPS LOADING --- + const loadMapsScript = (apiKey: string) => { + if (!apiKey) { + setMapError({ + title: "Brak klucza API", + msg: "System nie mógł znaleźć klucza. Skontaktuj się z administratorem." + }); + return; + } + + if ((window as any).google?.maps?.places) { + setScriptLoaded(true); + return; + } + + const existingScript = document.querySelector(`script[src*="maps.googleapis.com/maps/api/js"]`); + if (existingScript) { + const interval = setInterval(() => { + if ((window as any).google?.maps?.places) { + setScriptLoaded(true); + setMapError(null); + clearInterval(interval); + } + }, 500); + return; + } + + const script = document.createElement('script'); + script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places&loading=async&v=weekly`; + script.async = true; + script.onload = () => { + setTimeout(() => { + if ((window as any).google?.maps?.places) { + setScriptLoaded(true); + setMapError(null); + } + }, 200); + }; + script.onerror = () => { + setMapError({ title: "Błąd sieci", msg: "Nie udało się pobrać skryptu Google Maps." }); + }; + document.head.appendChild(script); + }; + + useEffect(() => { + if (data.eventType === 'trip') { + (window as any).gm_authFailure = () => { + setMapError({ title: "Klucz odrzucony przez Google", msg: "Podany klucz jest niepoprawny." }); + setScriptLoaded(false); + }; + if (effectiveKey) loadMapsScript(effectiveKey); + } + }, [data.eventType, effectiveKey]); + + // Initialize Trip Data if missing + useEffect(() => { + if (data.eventType === 'trip') { + if (!data.tripData) { + updateData({ + tripData: { + startPoint: { place: '', description: '' }, + endPoint: { place: '', description: '' }, + stops: [{ id: crypto.randomUUID(), place: '', description: '' }], + travelMode: null, + googleMapsKey: AUTO_PASTE_KEY + } + }); + } + else if (!data.tripData.googleMapsKey) { + updateData(prev => ({ + tripData: { ...prev.tripData!, googleMapsKey: AUTO_PASTE_KEY } + })); + } + } + }, [data.eventType, updateData]); // Removed data.tripData dependency to avoid loops, handled by logic + + const handleFileChange = async (e: React.ChangeEvent) => { + const newFiles = Array.from(e.target.files || []); + if (newFiles.length === 0) return; + if (data.files.length + newFiles.length > 3) { + setError('Maksymalnie 3 pliki.'); + return; + } + setError(null); + const processedFiles = await Promise.all(newFiles.map(processFile)); + updateData(prev => ({ files: [...prev.files, ...processedFiles] })); + }; + + const removeFile = (id: string) => { + updateData(prev => ({ files: prev.files.filter(f => f.id !== id) })); + }; + + // --- TRIP DATA HELPERS (UPDATED TO USE FUNCTIONAL STATE UPDATES) --- + const updateApiKey = (val: string) => { + updateData(prev => ({ + tripData: prev.tripData ? { ...prev.tripData, googleMapsKey: val } : prev.tripData + })); + if (val.length > 10) setMapError(null); + }; + + const updatePoint = (pointType: 'startPoint' | 'endPoint', field: 'place' | 'description' | 'addressPreview', value: string) => { + updateData(prev => { + if (!prev.tripData) return {}; + return { + tripData: { + ...prev.tripData, + [pointType]: { + ...prev.tripData[pointType], + [field]: value + } + } + }; + }); + }; + + const updateStop = (id: string, field: 'place' | 'description' | 'addressPreview', value: string) => { + updateData(prev => { + if (!prev.tripData) return {}; + const newStops = prev.tripData.stops.map(s => s.id === id ? { ...s, [field]: value } : s); + return { + tripData: { ...prev.tripData, stops: newStops } + }; + }); + }; + + const addStop = () => { + updateData(prev => { + if (!prev.tripData) return {}; + return { + tripData: { + ...prev.tripData, + stops: [...prev.tripData.stops, { id: crypto.randomUUID(), place: '', description: '' }] + } + }; + }); + }; + + const removeStop = (id: string) => { + updateData(prev => { + if (!prev.tripData) return {}; + return { + tripData: { + ...prev.tripData, + stops: prev.tripData.stops.filter(s => s.id !== id) + } + }; + }); + }; + + const setTravelMode = (mode: 'DRIVING' | 'WALKING') => { + updateData(prev => { + if (!prev.tripData) return {}; + return { + tripData: { ...prev.tripData, travelMode: mode } + }; + }); + }; + + // Validation Check + const isTripModeValid = data.eventType !== 'trip' || (data.tripData && data.tripData.travelMode !== null); + const isReadyToGenerate = data.title && isTripModeValid; + + return ( +
+
+

Szczegóły

+

+ {data.eventType === 'trip' ? 'Zaplanuj trasę i opisz przebieg podróży.' : 'Uzupełnij informacje o wydarzeniu.'} +

+
+ +
+ + {/* SEKCJA DLA WYCIECZEK (TRIP) */} + {data.eventType === 'trip' && data.tripData && ( +
+ + {/* Fallback Input */} + {(!data.tripData.googleMapsKey && isEnvKeyMissing) && ( +
+
+ +
+

Nie wykryto klucza w .env

+

+ System automatycznie wklei klucz zapasowy. Jeśli to nie nastąpiło, wklej go poniżej. +

+ updateApiKey(e.target.value)} + placeholder="Wklej klucz Google Maps API (AIza...)" + className="w-full p-2 text-sm border border-yellow-300 rounded bg-white focus:border-[#EA4420] outline-none" + /> +
+
+
+ )} + + {/* Detailed Error Banner for Maps */} + {mapError && ( +
+ +
+

{mapError.title}

+

{mapError.msg}

+
+
+ )} + +
+
+ +

Plan Podróży

+ {scriptLoaded && !mapError && ( + + API OK + + )} +
+
+ + {/* BIG TRAVEL MODE SELECTOR */} +
+ + +
+ + {/* Validation Message if missing */} + {!data.tripData.travelMode && ( +

+ * Wybór rodzaju trasy jest wymagany +

+ )} + +
+ + {/* START POINT */} +
+
+
+ { + updatePoint('startPoint', 'place', val); + if(preview) updatePoint('startPoint', 'addressPreview', preview); + }} + addressPreview={data.tripData.startPoint.addressPreview} + placeholder="Punkt Startowy (np. Kraków)" + icon={} + scriptLoaded={scriptLoaded} + onError={(msg) => setMapError({title: "Błąd API Places", msg})} + /> +
+ updatePoint('startPoint', 'description', e.target.value)} + className="w-full p-3 border border-gray-300 rounded-md focus:border-[#EA4420] outline-none" + placeholder="Opis startu (np. Zbiórka o 6:00)" + /> +
+ {/* Placeholder for alignment */} +
+
+ + {/* STOPS */} + {data.tripData.stops.map((stop, index) => ( +
+
+
+ { + updateStop(stop.id, 'place', val); + if(preview) updateStop(stop.id, 'addressPreview', preview); + }} + addressPreview={stop.addressPreview} + placeholder={`Przystanek ${index + 1}`} + icon={} + scriptLoaded={scriptLoaded} + onError={(msg) => setMapError({title: "Błąd API Places", msg})} + /> +
+ updateStop(stop.id, 'description', e.target.value)} + className="w-full p-3 border border-gray-200 rounded-md focus:border-[#EA4420] outline-none" + placeholder="Co tam robiliście?" + /> +
+ +
+ ))} + +
+ +
+ + {/* END POINT */} +
+
+
+ { + updatePoint('endPoint', 'place', val); + if(preview) updatePoint('endPoint', 'addressPreview', preview); + }} + addressPreview={data.tripData.endPoint.addressPreview} + placeholder="Punkt Końcowy (np. Zakopane)" + icon={} + scriptLoaded={scriptLoaded} + onError={(msg) => setMapError({title: "Błąd API Places", msg})} + /> +
+ updatePoint('endPoint', 'description', e.target.value)} + className="w-full p-3 border border-gray-300 rounded-md focus:border-[#EA4420] outline-none" + placeholder="Opis końca (np. Nareszcie piwo)" + /> +
+ {/* Placeholder for alignment */} +
+
+ +
+
+ )} + + {/* STANDARDOWE POLA */} +
+
+ + updateData({ title: e.target.value })} + className="w-full p-4 border border-gray-200 rounded-md focus:ring-1 focus:ring-[#EA4420] focus:border-[#EA4420] outline-none transition-all font-medium text-gray-900 placeholder-gray-300" + placeholder="np. Roadtrip po Bałkanach" + /> +
+ +
+ +