diff --git a/frontend/src/components/chat/ChatPanel.tsx b/frontend/src/components/chat/ChatPanel.tsx index 0889e10..5089264 100644 --- a/frontend/src/components/chat/ChatPanel.tsx +++ b/frontend/src/components/chat/ChatPanel.tsx @@ -20,9 +20,20 @@ interface ChatPanelProps { export default function ChatPanel({ open, onClose, contextType, contextId }: ChatPanelProps) { const [messages, setMessages] = useState([]) - const [sessionId, setSessionId] = useState() + const [sessionId, setSessionId] = useState(() => { + // Restore last session from localStorage + try { return localStorage.getItem('schaeffler-chat-session') || undefined } catch { return undefined } + }) const [input, setInput] = useState('') const [showSessions, setShowSessions] = useState(false) + + // Persist sessionId to localStorage + useEffect(() => { + try { + if (sessionId) localStorage.setItem('schaeffler-chat-session', sessionId) + else localStorage.removeItem('schaeffler-chat-session') + } catch { /* ignore */ } + }, [sessionId]) const messagesEndRef = useRef(null) const inputRef = useRef(null) const queryClient = useQueryClient()