feat(聊天页面): 集成对话分享功能
- 引入 ShareModal 组件 - 添加分享按钮点击事件处理 - 支持分享预览跳转
This commit is contained in:
parent
2acce36dbd
commit
56cd968219
@ -12,6 +12,7 @@ import { SaveToNoteModal } from '@/components/features/SaveToNoteModal';
|
||||
import { PromptOptimizer } from '@/components/features/PromptOptimizer';
|
||||
import { LinkPreviewModal } from '@/components/features/LinkPreviewModal';
|
||||
import { ExportDropdown } from '@/components/features/ExportDropdown';
|
||||
import { ShareModal } from '@/components/features/ShareModal';
|
||||
import { cn } from '@/lib/utils';
|
||||
import { useConversation, useConversations } from '@/hooks/useConversations';
|
||||
import { useStreamChat, type ChatMessage } from '@/hooks/useStreamChat';
|
||||
@ -53,6 +54,9 @@ export default function ChatPage({ params }: PageProps) {
|
||||
const [linkPreviewOpen, setLinkPreviewOpen] = useState(false);
|
||||
const [linkPreviewUrl, setLinkPreviewUrl] = useState<string | null>(null);
|
||||
|
||||
// 分享弹窗状态
|
||||
const [shareModalOpen, setShareModalOpen] = useState(false);
|
||||
|
||||
// 获取数据
|
||||
const { conversation, loading: conversationLoading, error: conversationError } = useConversation(chatId);
|
||||
const { createConversation, updateConversation, deleteConversation } = useConversations();
|
||||
@ -498,6 +502,7 @@ export default function ChatPage({ params }: PageProps) {
|
||||
)}
|
||||
|
||||
<button
|
||||
onClick={() => setShareModalOpen(true)}
|
||||
className="flex items-center gap-2 px-3 py-1.5 text-sm text-[var(--color-text-secondary)] hover:bg-[var(--color-bg-hover)] rounded-lg transition-colors"
|
||||
title="分享对话"
|
||||
>
|
||||
@ -646,6 +651,16 @@ export default function ChatPage({ params }: PageProps) {
|
||||
onClose={() => setLinkPreviewOpen(false)}
|
||||
/>
|
||||
|
||||
{/* 分享弹窗 */}
|
||||
<ShareModal
|
||||
isOpen={shareModalOpen}
|
||||
onClose={() => setShareModalOpen(false)}
|
||||
conversationId={chatId}
|
||||
conversationTitle={conversation?.title || '新对话'}
|
||||
messages={messages.map(m => ({ id: m.id, role: m.role, content: m.content }))}
|
||||
onPreview={handleLinkClick}
|
||||
/>
|
||||
|
||||
{/* 提示词优化工具浮动按钮 */}
|
||||
<PromptOptimizer onUsePrompt={setOptimizedPrompt} />
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user