Smash Chat Events
Hook into chat interactions to trigger custom application logic.
Overview
The Smash widget provides a set of event callbacks that allow you to respond to user actions and AI responses. This is useful for tracking usage, updating application state, or triggering other UI elements.
Available Events
onMessageSent
Triggered when the user clicks the send button or presses enter.
<SmashChatWidget onMessageSent={(message) => console.log('User sent:', message)} />
onResponseReceived
Triggered when the AI finishes generating a response.
<SmashChatWidget onResponseReceived={(response) => console.log('AI responded:', response)} />
onOpen / onClose
Triggered when the chat window is opened or closed.
<SmashChatWidget
onOpen={() => console.log('Chat opened')}
onClose={() => console.log('Chat closed')}
/>
onError
Triggered when an error occurs during communication with the backend.
<SmashChatWidget onError={(error) => console.error('Chat error:', error)} />
Use Cases
- Analytics: Track how many messages users are sending to the AI.
- State Management: Update the dashboard data based on the AI's suggestions.
- Notifications: Show a toast notification when the AI provides a specific type of answer.
Best Practices
- ✅ Do this: Use the
onErrorevent to provide helpful feedback to the user if the AI service is unavailable. - ✅ Do this: Keep your event handlers lightweight to avoid blocking the UI thread.
- ❌ Don't do this: Perform heavy data processing directly in the event handlers; use a background worker or a separate service if needed.