Integrate chat panel into OperatorCommandCenter
Cancelled
Subtask
Medium
Description
## Task
Integrate the `SessionChatPanel` component into the operator's `OperatorCommandCenter` interface.
## Layout Changes
Modify the operator UI to include a collapsible chat panel:
```
┌─────────────────────────────────────────┬──────────────┐
│ │ │
│ Guest Video │ Chat │
│ │ Panel │
│ │ (collapse) │
│ [Self PiP] │ │
├─────────────────────────────────────────┴──────────────┤
│ [Mic] [Cam] | [Mute Guest] [Screen] [Lang] [Rec] [End]│
└────────────────────────────────────────────────────────┘
```
## Integration Points
1. Add chat toggle button to control bar
2. Pass session props to `SessionChatPanel`
3. Fetch initial messages on mount
4. Use NATS for real-time subscription (operator has device context)
5. Handle session ended state (show history, disable input)
## Props to Pass
```jsx
<SessionChatPanel
sessionId={sessionId}
participantType="operator"
participantName={currentUser.username}
initialMessages={messages}
isCollapsed={chatCollapsed}
onToggle={() => setChatCollapsed(!chatCollapsed)}
disabled={sessionEnded}
/>
```
## Files to Modify
- `app/javascript/components/remote_support/OperatorCommandCenter.jsx`
- `app/components/remote_support/session_detail_component.html.haml` (pass initial messages)
- `app/components/remote_support/session_detail_component.rb` (fetch messages)
Working Memory
{
"blocked_reason": "Waiting for dependencies: 104"
}
Ticket Stats
Status:
Cancelled
Priority:
Medium
Type:
Subtask
Comments
0 commentsAdd a Comment
No Subtasks Yet
Break down this ticket into smaller, manageable subtasks