Skip to content

Commit 4bb5b7c

Browse files
fix: reuse useChannelPreviewInfo for ThreadListItemUI (#2508)
### 🎯 Goal Reuse `useChannelPreviewInfo` hook for `ThreadListItemUI` component, fixes `N/A` title for DM channels. ### 🎨 UI Changes Before: ![localhost_5173_ (2)](https://github.com/user-attachments/assets/3aabe1aa-482e-438d-b60a-807fa6447f17) After: ![localhost_5173_ (3)](https://github.com/user-attachments/assets/db252b6b-2031-42ac-9c26-25cb0da0aafa)
1 parent d74da70 commit 4bb5b7c

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

src/components/Threads/ThreadList/ThreadListItemUI.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import { Timestamp } from '../../Message/Timestamp';
88
import { Avatar } from '../../Avatar';
99
import { Icon } from '../icons';
1010
import { UnreadCountBadge } from '../UnreadCountBadge';
11+
12+
import { useChannelPreviewInfo } from '../../ChannelPreview';
1113
import { useChatContext } from '../../../context';
1214
import { useThreadsViewContext } from '../../ChatView';
1315
import { useThreadListItemContext } from './ThreadListItem';
@@ -18,9 +20,6 @@ export type ThreadListItemUIProps = ComponentPropsWithoutRef<'button'>;
1820
/**
1921
* TODO:
2022
* - maybe hover state? ask design
21-
* - move styling to CSS library and clean it up (separate layout and theme)
22-
* - use Moment/DayJs for proper created_at formatting (replace toLocaleTimeString)
23-
* - handle deleted message [in progress]
2423
*/
2524

2625
export const attachmentTypeIconMap = {
@@ -84,11 +83,13 @@ export const ThreadListItemUI = (props: ThreadListItemUIProps) => {
8483
[client],
8584
);
8685

87-
const [latestReply, ownUnreadMessageCount, parentMessage, channelData, deletedAt] = useStateStore(
86+
const [latestReply, ownUnreadMessageCount, parentMessage, channel, deletedAt] = useStateStore(
8887
thread.state,
8988
selector,
9089
);
9190

91+
const { displayTitle: channelDisplayTitle } = useChannelPreviewInfo({ channel });
92+
9293
const { activeThread, setActiveThread } = useThreadsViewContext();
9394

9495
const avatarProps = deletedAt ? null : latestReply?.user;
@@ -104,9 +105,7 @@ export const ThreadListItemUI = (props: ThreadListItemUIProps) => {
104105
>
105106
<div className='str-chat__thread-list-item__channel'>
106107
<Icon.MessageBubble />
107-
<div className='str-chat__thread-list-item__channel-text'>
108-
{channelData.data?.name || 'N/A'}
109-
</div>
108+
<div className='str-chat__thread-list-item__channel-text'>{channelDisplayTitle}</div>
110109
</div>
111110
<div className='str-chat__thread-list-item__parent-message'>
112111
<div className='str-chat__thread-list-item__parent-message-text'>

0 commit comments

Comments
 (0)