feat(market-intel): implement role-based campaign engine and gritty reporting
- Implementierung der rollenbasierten Campaign-Engine mit operativem Fokus (Grit). - Integration von Social Proof (Referenzkunden) in die E-Mail-Generierung. - Erweiterung des Deep Tech Audits um gezielte Wettbewerber-Recherche (Technographic Search). - Fix des Lösch-Bugs in der Target-Liste und Optimierung des Frontend-States. - Erweiterung des Markdown-Exports um transparente Proof-Links und Evidenz. - Aktualisierung der Dokumentation in readme.md und market_intel_backend_plan.md.
This commit is contained in:
@@ -9,17 +9,26 @@ interface StepOutreachProps {
|
||||
language: Language;
|
||||
referenceUrl: string;
|
||||
onBack: () => void;
|
||||
knowledgeBase?: string; // New prop for pre-loaded context
|
||||
}
|
||||
|
||||
export const StepOutreach: React.FC<StepOutreachProps> = ({ company, language, referenceUrl, onBack }) => {
|
||||
const [fileContent, setFileContent] = useState<string>('');
|
||||
const [fileName, setFileName] = useState<string>('');
|
||||
export const StepOutreach: React.FC<StepOutreachProps> = ({ company, language, referenceUrl, onBack, knowledgeBase }) => {
|
||||
const [fileContent, setFileContent] = useState<string>(knowledgeBase || '');
|
||||
const [fileName, setFileName] = useState<string>(knowledgeBase ? 'Knowledge Base from Strategy Step' : '');
|
||||
const [isProcessing, setIsProcessing] = useState(false);
|
||||
const [isTranslating, setIsTranslating] = useState(false);
|
||||
const [emails, setEmails] = useState<EmailDraft[]>([]);
|
||||
const [activeTab, setActiveTab] = useState(0);
|
||||
const [copied, setCopied] = useState(false);
|
||||
|
||||
// If knowledgeBase prop changes, update state (useful if it loads late)
|
||||
React.useEffect(() => {
|
||||
if (knowledgeBase && !fileContent) {
|
||||
setFileContent(knowledgeBase);
|
||||
setFileName('Knowledge Base from Strategy Step');
|
||||
}
|
||||
}, [knowledgeBase]);
|
||||
|
||||
const handleFileUpload = (e: React.ChangeEvent<HTMLInputElement>) => {
|
||||
const file = e.target.files?.[0];
|
||||
if (file) {
|
||||
|
||||
Reference in New Issue
Block a user