Skip to content

Commit 225b461

Browse files
breadonceejerelvelarde
authored andcommitted
refactor(app): remove dead template save relay from page component
Remove saveTemplate callback, postMessage handler, and unused useAgent import from page.tsx. Template saving now happens directly in the SaveTemplateOverlay component via useAgent().
1 parent a3212ef commit 225b461

1 file changed

Lines changed: 3 additions & 39 deletions

File tree

apps/app/src/app/page.tsx

Lines changed: 3 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,30 @@
11
"use client";
22

3-
import { useEffect, useState, useCallback } from "react";
3+
import { useEffect, useState } from "react";
44
import { ExampleLayout } from "@/components/example-layout";
55
import { useGenerativeUIExamples, useExampleSuggestions } from "@/hooks";
66
import { ExplainerCardsPortal } from "@/components/explainer-cards";
77
import { TemplateLibrary } from "@/components/template-library";
88

99
import { CopilotChat } from "@copilotkit/react-core/v2";
10-
import { useAgent } from "@copilotkit/react-core/v2";
1110

1211
export default function HomePage() {
1312
useGenerativeUIExamples();
1413
useExampleSuggestions();
1514

16-
const { agent } = useAgent();
1715
const [templateDrawerOpen, setTemplateDrawerOpen] = useState(false);
1816

19-
// Save a template directly to agent state — no chat round-trip
20-
const saveTemplate = useCallback((data: {
21-
name: string;
22-
title: string;
23-
description: string;
24-
html: string;
25-
}) => {
26-
const templates = agent.state?.templates || [];
27-
const newTemplate = {
28-
id: crypto.randomUUID(),
29-
name: data.name || data.title || "Untitled Template",
30-
description: data.description || data.title || "",
31-
html: data.html,
32-
data_description: "",
33-
created_at: new Date().toISOString(),
34-
version: 1,
35-
};
36-
agent.setState({ templates: [...templates, newTemplate] });
37-
}, [agent]);
38-
39-
// Send a prompt via the agent API — adds a user message and triggers a run
40-
const sendPrompt = useCallback((text: string) => {
41-
agent.addMessage({
42-
id: crypto.randomUUID(),
43-
role: "user",
44-
content: text,
45-
});
46-
agent.runAgent();
47-
}, [agent]);
48-
4917
// Widget bridge: handle messages from widget iframes
5018
useEffect(() => {
5119
const handler = (e: MessageEvent) => {
5220
if (e.data?.type === "open-link" && typeof e.data.url === "string") {
5321
window.open(e.data.url, "_blank", "noopener,noreferrer");
5422
}
55-
// Handle save-as-template from WidgetRenderer — save directly to state
56-
if (e.data?.type === "save-as-template") {
57-
saveTemplate(e.data);
58-
}
5923
};
6024
window.addEventListener("message", handler);
6125
return () => window.removeEventListener("message", handler);
62-
}, [saveTemplate]);
26+
}, []);
27+
6328

6429
return (
6530
<>
@@ -147,7 +112,6 @@ export default function HomePage() {
147112
<TemplateLibrary
148113
open={templateDrawerOpen}
149114
onClose={() => setTemplateDrawerOpen(false)}
150-
onSendPrompt={sendPrompt}
151115
/>
152116
</>
153117
);

0 commit comments

Comments
 (0)