Skip to content

Commit e79ecbe

Browse files
Some more adjustments
1 parent 4777891 commit e79ecbe

5 files changed

Lines changed: 11 additions & 14 deletions

File tree

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
import type { Channel, ChannelMemberResponse, EventType } from 'stream-chat';
1+
import type { Channel, EventType } from 'stream-chat';
22
import { useSelectedChannelState } from './useSelectedChannelState';
33

44
const selector = (c: Channel) => c.state.membership;
55
const keys: EventType[] = ['member.updated'];
66

7-
export function useChannelMembershipState(channel: Channel): ChannelMemberResponse;
8-
export function useChannelMembershipState(
9-
channel?: Channel | undefined,
10-
): ChannelMemberResponse | undefined;
117
export function useChannelMembershipState(channel?: Channel) {
128
return useSelectedChannelState({ channel, selector, stateChangeEventKeys: keys });
139
}

src/components/ChannelListItem/ChannelListItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ export const ChannelListItem = (props: ChannelListItemProps) => {
213213
latestMessagePreview={latestMessagePreview}
214214
messageDeliveryStatus={messageDeliveryStatus}
215215
muted={muted}
216-
pinned={!!membership.pinned_at}
216+
pinned={!!membership?.pinned_at}
217217
setActiveChannel={setActiveChannel}
218218
unread={unread}
219219
/>

src/components/ChannelListItem/ChannelListItemActionButtons.defaults.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,13 @@ const useArchiveActionButtonBehavior = () => {
8787
const [inProgress, setInProgress] = useState(false);
8888

8989
return {
90-
'aria-pressed': typeof membership.archived_at === 'string',
90+
'aria-pressed': typeof membership?.archived_at === 'string',
9191
disabled: inProgress,
9292
onClick: async (e: React.MouseEvent<HTMLButtonElement>) => {
9393
e.stopPropagation();
9494
try {
9595
setInProgress(true);
96-
if (membership.archived_at) {
96+
if (membership?.archived_at) {
9797
await channel.unarchive();
9898
addNotification({
9999
context: {
@@ -131,7 +131,7 @@ const useArchiveActionButtonBehavior = () => {
131131
setInProgress(false);
132132
}
133133
},
134-
title: membership.archived_at ? t('Unarchive') : t('Archive'),
134+
title: membership?.archived_at ? t('Unarchive') : t('Archive'),
135135
} satisfies ComponentPropsWithoutRef<'button'>;
136136
};
137137

@@ -313,7 +313,7 @@ const defaultComponents = {
313313
const { dialog } = useDialogOnNearestManager({ id: dialogId });
314314
const [inProgress, setInProgress] = useState(false);
315315

316-
const title = membership.pinned_at ? t('Unpin') : t('Pin');
316+
const title = membership?.pinned_at ? t('Unpin') : t('Pin');
317317

318318
return (
319319
<ContextMenuButton
@@ -326,7 +326,7 @@ const defaultComponents = {
326326
let error: Error | null = null;
327327
try {
328328
setInProgress(true);
329-
if (membership.pinned_at) {
329+
if (membership?.pinned_at) {
330330
await channel.unpin();
331331
addNotification({
332332
context: {
@@ -481,7 +481,7 @@ export const useBaseChannelActionSetFilter = (channelActionSet: ChannelActionIte
481481
const { channel } = useChannelListItemContext();
482482
const membership = useChannelMembershipState(channel);
483483
const memberCount = channel.data?.member_count ?? 0;
484-
const connectedUserIsMember = typeof membership.user !== 'undefined';
484+
const connectedUserIsMember = typeof membership?.user !== 'undefined';
485485
const isDirectMessageChannel = connectedUserIsMember && memberCount === 2;
486486

487487
const ownCapabilities = channel.data?.own_capabilities;

src/components/Chat/hooks/useChat.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import type {
1414
EventPayload,
1515
OwnUserResponse,
1616
StreamChat,
17+
TranslationLanguage,
1718
UserMuteResponse,
1819
} from 'stream-chat';
1920

@@ -88,7 +89,7 @@ export const useChat = ({
8889
}, [clientMutes?.length]);
8990

9091
useEffect(() => {
91-
let userLanguage = client.user?.language;
92+
let userLanguage = client.user?.language as TranslationLanguage;
9293

9394
if (!userLanguage) {
9495
const browserLanguage = window.navigator.language.slice(0, 2); // just get language code, not country-specific version

src/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export const ChannelManagementInfoBody = ({
7777
const userMuted = useIsUserMuted(otherMemberUserId);
7878
const membership = useChannelMembershipState(channel);
7979
const onlineStatusText = useChannelHeaderOnlineStatus({ channel });
80-
const pinned = !!membership.pinned_at;
80+
const pinned = !!membership?.pinned_at;
8181

8282
return (
8383
<Prompt.Body className='str-chat__channel-detail__channel-management-view__body'>

0 commit comments

Comments
 (0)