Spaces:
Sleeping
Sleeping
import React from 'react'; | |
import { useNavigate, useParams } from 'react-router-dom'; | |
import Layout from '../components/Layout/Layout'; | |
import Card, { CardHeader, CardContent } from '../components/common/Card'; | |
import PromptForm from '../components/Prompt/PromptForm'; | |
import { useApp } from '../contexts/AppContext'; | |
const CreatePromptPage: React.FC = () => { | |
const { id: groupId } = useParams<{ id: string }>(); | |
const navigate = useNavigate(); | |
const { promptGroups, addPrompt } = useApp(); | |
if (!groupId) { | |
return <div>提示词组ID无效</div>; | |
} | |
const promptGroup = promptGroups.find(group => group._id === groupId); | |
if (!promptGroup) { | |
return ( | |
<Layout title="未找到" showBackButton> | |
<div className="ios-empty-state"> | |
<h3 className="ios-empty-state-title">未找到提示词组</h3> | |
<p className="ios-empty-state-text">该提示词组可能已被删除</p> | |
</div> | |
</Layout> | |
); | |
} | |
const handleSubmit = (promptData: Parameters<typeof addPrompt>[1]) => { | |
addPrompt(groupId, promptData); | |
navigate(`/prompt-group/${groupId}`); | |
}; | |
return ( | |
<Layout title="创建提示词" showBackButton> | |
<Card> | |
<CardHeader title={`在"${promptGroup.name}"中创建新提示词`} /> | |
<CardContent> | |
<PromptForm | |
onSubmit={handleSubmit} | |
onCancel={() => navigate(`/prompt-group/${groupId}`)} | |
/> | |
</CardContent> | |
</Card> | |
</Layout> | |
); | |
}; | |
export default CreatePromptPage; |