84 lines
1.9 KiB
TypeScript
84 lines
1.9 KiB
TypeScript
|
|
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,
|
|
} |