File size: 3,117 Bytes
34450be
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
with open("App.tsx", "r") as f:
    content = f.read()

modal_old = """      <TemplateFillerModal
        isOpen={templateModalOpen}
        onClose={() => setTemplateModalOpen(false)}
        note={selectedNoteForTemplate}
        hfProfileData={hfProfiles[currentAgent.id]}
        onSubmit={(text) => {
            setInputText(text);
            setActiveTab('chat');
            // Close overlays on mobile
            if (window.innerWidth < 1024) {
                setTemplatesOpen(false);
                setSidebarOpen(false);
            }
        }}
        onStartNewChat={handleStartNewChatFromTemplate}
      />"""

modal_new = """      <TemplateFillerModal
        note={selectedNoteForTemplate}
        isOpen={templateModalOpen}
        onClose={() => {
            setTemplateModalOpen(false);
            if (activeWorkflow && activeWorkflow.stepIndex > 0) {
                if (confirm('Cancel the rest of the workflow?')) {
                    setActiveWorkflow(null);
                }
            } else {
                setActiveWorkflow(null);
            }
        }}
        onSubmit={async (text) => {
            if (activeWorkflow && activeWorkflow.stepIndex > 0 && activeWorkflow.sessionId) {
                const delay = activeWorkflow.workflow.steps[activeWorkflow.stepIndex].delayMinutes;
                queueWorkflowStep(text, activeWorkflow.sessionId, delay);

                const nextIndex = activeWorkflow.stepIndex + 1;
                if (nextIndex < activeWorkflow.workflow.steps.length) {
                    setActiveWorkflow({ ...activeWorkflow, stepIndex: nextIndex });
                    const nextTemplate = notes.find(n => n.id === activeWorkflow.workflow.steps[nextIndex].templateId);
                    if (nextTemplate) {
                        setTimeout(() => handleUseTemplate(nextTemplate), 100);
                    }
                } else {
                    setActiveWorkflow(null);
                    setTemplateModalOpen(false);
                }
            } else {
                await handleTemplateSubmitted(text, false);
                setTemplateModalOpen(false);
                if (!activeWorkflow) {
                    setInputText(text);
                    setActiveTab('chat');
                    if (window.innerWidth < 1024) {
                        setTemplatesOpen(false);
                        setSidebarOpen(false);
                    }
                }
            }
        }}
        onStartNewChat={(text) => {
            if (activeWorkflow) {
                handleTemplateSubmitted(text, true);
            }
            handleStartNewChatFromTemplate(text);
        }}
        hfProfileData={hfProfiles[currentAgent.id]}
        workflowContext={activeWorkflow ? {
            stepIndex: activeWorkflow.stepIndex,
            totalSteps: activeWorkflow.workflow.steps.length,
            delayMinutes: activeWorkflow.workflow.steps[activeWorkflow.stepIndex].delayMinutes
        } : undefined}
      />"""

content = content.replace(modal_old, modal_new)

with open("App.tsx", "w") as f:
    f.write(content)