Pierwszy wrzut promptstory
This commit is contained in:
84
types.ts
Normal file
84
types.ts
Normal 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,
|
||||
}
|
||||
Reference in New Issue
Block a user