Dateien nach "gtm-architect/v2" hochladen
This commit is contained in:
119
gtm-architect/v2/types.ts
Normal file
119
gtm-architect/v2/types.ts
Normal file
@@ -0,0 +1,119 @@
|
||||
export enum Phase {
|
||||
Input = 0,
|
||||
ProductAnalysis = 1,
|
||||
ICPDiscovery = 2,
|
||||
WhaleHunting = 3,
|
||||
Strategy = 4,
|
||||
AssetGeneration = 5,
|
||||
SalesEnablement = 6,
|
||||
LandingPage = 7,
|
||||
BusinessCase = 8,
|
||||
TechTranslator = 9,
|
||||
}
|
||||
|
||||
export type Language = 'en' | 'de';
|
||||
export type Theme = 'light' | 'dark';
|
||||
|
||||
export interface Message {
|
||||
role: 'user' | 'model';
|
||||
content: string;
|
||||
}
|
||||
|
||||
export interface Phase1Data {
|
||||
features: string[];
|
||||
constraints: string[];
|
||||
conflictCheck: {
|
||||
hasConflict: boolean;
|
||||
details: string;
|
||||
relatedProduct?: string;
|
||||
};
|
||||
rawAnalysis: string;
|
||||
}
|
||||
|
||||
export interface Phase2Data {
|
||||
icps: {
|
||||
name: string;
|
||||
rationale: string;
|
||||
}[];
|
||||
dataProxies: {
|
||||
target: string;
|
||||
method: string;
|
||||
}[];
|
||||
}
|
||||
|
||||
export interface Phase3Data {
|
||||
whales: {
|
||||
industry: string;
|
||||
accounts: string[];
|
||||
}[];
|
||||
roles: string[];
|
||||
}
|
||||
|
||||
export interface Phase4Data {
|
||||
strategyMatrix: {
|
||||
segment: string;
|
||||
painPoint: string;
|
||||
angle: string;
|
||||
differentiation: string;
|
||||
}[];
|
||||
}
|
||||
|
||||
export interface Phase6Data {
|
||||
battlecards: {
|
||||
persona: string;
|
||||
objection: string;
|
||||
responseScript: string;
|
||||
}[];
|
||||
visualPrompts: {
|
||||
title: string;
|
||||
context: string;
|
||||
prompt: string;
|
||||
}[];
|
||||
}
|
||||
|
||||
export interface Phase7Data {
|
||||
landingPages: {
|
||||
industry: string;
|
||||
headline: string;
|
||||
subline: string;
|
||||
bullets: string[];
|
||||
cta: string;
|
||||
}[];
|
||||
}
|
||||
|
||||
export interface Phase8Data {
|
||||
businessCases: {
|
||||
industry: string;
|
||||
costDriver: string;
|
||||
efficiencyGain: string;
|
||||
riskArgument: string;
|
||||
}[];
|
||||
}
|
||||
|
||||
export interface Phase9Data {
|
||||
techTranslations: {
|
||||
feature: string;
|
||||
story: string;
|
||||
headline: string;
|
||||
}[];
|
||||
}
|
||||
|
||||
export interface AppState {
|
||||
currentPhase: Phase;
|
||||
isLoading: boolean;
|
||||
history: Message[];
|
||||
productInput: string;
|
||||
productImages: string[]; // Array of Base64 strings
|
||||
phase1Result?: Phase1Data;
|
||||
phase2Result?: Phase2Data;
|
||||
phase3Result?: Phase3Data;
|
||||
phase4Result?: Phase4Data;
|
||||
phase5Result?: string; // Markdown content
|
||||
phase6Result?: Phase6Data;
|
||||
phase7Result?: Phase7Data;
|
||||
phase8Result?: Phase8Data;
|
||||
phase9Result?: Phase9Data;
|
||||
translatedReport?: string; // New field for the English translation
|
||||
language: Language;
|
||||
theme: Theme;
|
||||
}
|
||||
Reference in New Issue
Block a user