feat(09-02): integrate JKChatComposer into chat window
- Added JKChatComposer import and component - Updated layout with flex container for proper spacing - Header fixed at top, message list scrollable in middle, composer at bottom - Complete three-section window structure (header/list/composer)
This commit is contained in:
parent
538cdd0239
commit
b558bfe0c3
|
|
@ -3,6 +3,7 @@ import { useSelector, useDispatch } from 'react-redux';
|
|||
import WindowPortal from '../common/WindowPortal.js';
|
||||
import JKChatHeader from './chat/JKChatHeader.js';
|
||||
import JKChatMessageList from './chat/JKChatMessageList.js';
|
||||
import JKChatComposer from './chat/JKChatComposer.js';
|
||||
import {
|
||||
selectIsChatWindowOpen,
|
||||
selectActiveChannel,
|
||||
|
|
@ -21,9 +22,12 @@ import {
|
|||
* - closeChatWindow: Action to close window
|
||||
*
|
||||
* Component hierarchy:
|
||||
* WindowPortal → JKChatHeader + JKChatMessageList
|
||||
* WindowPortal → JKChatHeader + JKChatMessageList + JKChatComposer
|
||||
*
|
||||
* Note: Message composition implementation deferred to Plan 9
|
||||
* Layout:
|
||||
* - Header: Fixed at top (~50px)
|
||||
* - Message List: Scrollable, fills middle space
|
||||
* - Composer: Fixed at bottom (~120px)
|
||||
*/
|
||||
const JKSessionChatWindow = () => {
|
||||
const dispatch = useDispatch();
|
||||
|
|
@ -56,12 +60,15 @@ const JKSessionChatWindow = () => {
|
|||
onClose={handleClose}
|
||||
windowId="jamkazam-chat"
|
||||
>
|
||||
<div style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>
|
||||
<div style={{ display: 'flex', flexDirection: 'column', height: '100%', width: '100%' }}>
|
||||
<JKChatHeader
|
||||
channelName={getChannelName()}
|
||||
onClose={handleClose}
|
||||
/>
|
||||
<JKChatMessageList />
|
||||
<div style={{ flex: 1, overflowY: 'auto' }}>
|
||||
<JKChatMessageList />
|
||||
</div>
|
||||
<JKChatComposer />
|
||||
</div>
|
||||
</WindowPortal>
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in New Issue