Files
ttstd-infinite-canvas/web/src/components/canvas/canvas-agent-welcome.tsx

48 lines
2.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { ArrowUpRight, Clapperboard, Layers3, Sparkles } from "lucide-react";
type AgentWelcomeProps = {
brandName: string;
nodeCount: number;
onChooseSkill: () => void;
onDraftPrompt: (prompt: string) => void;
};
export function AgentWelcome({ brandName, nodeCount, onChooseSkill, onDraftPrompt }: AgentWelcomeProps) {
return (
<section className="agent-welcome" aria-label="开始 Agent 创作">
<div className="agent-welcome-intro">
<span className="agent-welcome-orb" aria-hidden="true" />
<h2>在这里,和{brandName}让灵感,慢慢成形</h2>
<p>从一个想法开始,和 Agent 一起创作。</p>
</div>
<div className="agent-welcome-actions">
<button type="button" onClick={onChooseSkill}>
<Sparkles aria-hidden="true" />
<span>
<strong>选择技能,开始创作</strong>
<small>为这次创作找到合适的帮手</small>
</span>
<ArrowUpRight className="agent-welcome-arrow" aria-hidden="true" />
</button>
<button type="button" onClick={() => onDraftPrompt("我想创作一段短片,请先和我一起梳理故事方向。先询问我的想法,不要直接生成。")}>
<Clapperboard aria-hidden="true" />
<span>
<strong>从灵感构思故事</strong>
<small>聊聊主题、角色,或一个难忘的画面</small>
</span>
<ArrowUpRight className="agent-welcome-arrow" aria-hidden="true" />
</button>
<button type="button" disabled={nodeCount === 0} onClick={() => onDraftPrompt("请先阅读当前画布,梳理素材与节点之间的关系,给出接下来的创作建议。先不要修改节点或提交生成任务。")}>
<Layers3 aria-hidden="true" />
<span>
<strong>一起梳理当前画布</strong>
<small>{nodeCount > 0 ? `${nodeCount} 个节点,看看下一步可以做什么` : "添加节点后,一起梳理创作思路"}</small>
</span>
<ArrowUpRight className="agent-welcome-arrow" aria-hidden="true" />
</button>
</div>
<p className="agent-welcome-footnote">先聊想法,再决定下一步</p>
</section>
);
}