@@ -5,6 +5,7 @@ import ChatContainer from './components/ChatContainer';
55import FeedbackModal from './components/FeedbackModal' ;
66import PersonalizationPanel from './components/PersonalizationPanel' ;
77import StyleComparison from './components/StyleComparison' ;
8+ import HistoryManagementModal from './components/HistoryManagementModal' ;
89import { motion } from 'framer-motion' ;
910import { X } from 'lucide-react' ;
1011import { useChat , useFileUpload , useKeyboard , useSession , useFeedback , useURLDetection } from './hooks' ;
@@ -25,6 +26,7 @@ function App() {
2526 const [ inputValue , setInputValue ] = useState ( '' ) ;
2627 const [ showPersonalizationPanel , setShowPersonalizationPanel ] = useState ( false ) ;
2728 const [ showStyleComparison , setShowStyleComparison ] = useState ( false ) ;
29+ const [ showHistoryManagement , setShowHistoryManagement ] = useState ( false ) ;
2830
2931 // Refs
3032 const inputRef = useRef ( null ) ;
@@ -112,6 +114,24 @@ function App() {
112114 deleteConversationHook ( targetSessionId , sessionId , setMessages , setSessionId , setSuggestions ) ;
113115 } , [ deleteConversationHook , sessionId , setSessionId , setMessages , setSuggestions ] ) ;
114116
117+ // 处理历史消息管理中的会话选择
118+ const handleHistorySessionSelect = useCallback ( ( targetSessionId ) => {
119+ loadSessionHistory ( targetSessionId , setMessages , setSuggestions ) ;
120+ setSessionId ( targetSessionId ) ;
121+ } , [ loadSessionHistory , setMessages , setSuggestions , setSessionId ] ) ;
122+
123+ // 处理批量删除后的回调
124+ const handleSessionsDeleted = useCallback ( ( deletedSessionIds ) => {
125+ // 如果当前会话被删除,清空消息
126+ if ( deletedSessionIds . includes ( sessionId ) ) {
127+ setMessages ( [ ] ) ;
128+ setSessionId ( null ) ;
129+ setSuggestions ( [ ] ) ;
130+ }
131+ // 刷新历史会话列表
132+ loadHistorySessions ( ) ;
133+ } , [ sessionId , setMessages , setSessionId , setSuggestions , loadHistorySessions ] ) ;
134+
115135 // 键盘处理
116136 const { handleKeyPress, handleTabNavigation } = useKeyboard (
117137 startNewChat ,
@@ -185,6 +205,7 @@ function App() {
185205 onDeleteSession = { handleDeleteSession }
186206 onOpenPersonalization = { ( ) => setShowPersonalizationPanel ( true ) }
187207 onOpenStyleComparison = { ( ) => setShowStyleComparison ( true ) }
208+ onOpenHistoryManagement = { ( ) => setShowHistoryManagement ( true ) }
188209 />
189210
190211 < ChatContainer
@@ -226,6 +247,14 @@ function App() {
226247 onCommentChange = { setFeedbackComment }
227248 onSubmit = { submitFeedback }
228249 />
250+
251+ < HistoryManagementModal
252+ show = { showHistoryManagement }
253+ onClose = { ( ) => setShowHistoryManagement ( false ) }
254+ userId = { currentUserId }
255+ onSessionSelect = { handleHistorySessionSelect }
256+ onSessionsDeleted = { handleSessionsDeleted }
257+ />
229258 </ AppContainer >
230259 ) ;
231260}
0 commit comments