Pierwszy wrzut promptstory

This commit is contained in:
Arek Bykowski
2026-02-15 13:22:48 +01:00
commit 27a3c6024f
27 changed files with 2833 additions and 0 deletions

84
types.ts Normal file
View File

@@ -0,0 +1,84 @@
export type Platform = 'instagram' | 'youtube' | 'strava';
export type ContextType = 'relacja' | 'opowiesc';
export type StoryStyle = 'noir' | 'fantasy'; // New sub-step type
export type EventType = 'sport' | 'culture' | 'trip' | 'party' | 'work' | 'other';
export type Tone = 'funny' | 'serious' | 'inspirational';
export type Goal = 'engagement' | 'viral' | 'sales';
export interface ActivityStats {
distance: string;
duration: string;
elevation: string;
}
export interface Waypoint {
id: string;
header: string;
context: string;
}
export interface UploadedFile {
id: string;
file: File;
previewUrl?: string; // For images
content?: string; // Base64 or Text content
mimeType: string;
}
export interface TripPoint {
place: string;
description: string;
addressPreview?: string; // Full address for UI confirmation
}
export interface TripStop {
id: string;
place: string;
description: string;
addressPreview?: string; // Full address for UI confirmation
}
export interface TripData {
startPoint: TripPoint;
endPoint: TripPoint;
stops: TripStop[];
travelMode: 'DRIVING' | 'WALKING' | null;
googleMapsKey?: string; // Restored for manual fallback
}
export interface WizardState {
step: number;
context: ContextType | null;
storyStyle: StoryStyle | null; // New field
platform: Platform | null;
eventType: EventType | null;
tone: Tone | null;
goal: Goal | null;
title: string;
description: string;
files: UploadedFile[];
stats: ActivityStats;
waypoints: Waypoint[];
tripData?: TripData; // Optional, only for eventType === 'trip'
}
export interface SlideContent {
overlay_text: string;
image_prompt: string;
notes: string;
}
export interface GeneratedContent {
caption: string;
slides: SlideContent[];
}
export enum Step {
CONTEXT = 0,
EVENT_TYPE = 1,
PLATFORM = 2,
TONE_GOAL = 3,
DETAILS = 4,
RESULT = 5,
}