mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 13:05:32 +09:00
40 lines
930 B
TypeScript
40 lines
930 B
TypeScript
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
import {resolveChannelUnreadState} from '@app/features/app/components/layout/utils/ChannelUnreadStateMachine';
|
|
|
|
export interface ChannelUnreadStateInput {
|
|
hasUnread: boolean;
|
|
unreadCount: number;
|
|
mentionCount: number;
|
|
isMuted: boolean;
|
|
showFadedUnreadOnMutedChannels: boolean;
|
|
unreadBadgesLevel?: number | null;
|
|
}
|
|
|
|
export interface ChannelUnreadState {
|
|
hasUnreadMessages: boolean;
|
|
hasMentions: boolean;
|
|
isHighlight: boolean;
|
|
shouldShowUnreadIndicator: boolean;
|
|
isUnreadIndicatorMuted: boolean;
|
|
hasVisibleUnread: boolean;
|
|
}
|
|
|
|
export function getChannelUnreadState({
|
|
hasUnread,
|
|
unreadCount,
|
|
mentionCount,
|
|
isMuted,
|
|
showFadedUnreadOnMutedChannels,
|
|
unreadBadgesLevel,
|
|
}: ChannelUnreadStateInput): ChannelUnreadState {
|
|
return resolveChannelUnreadState({
|
|
hasUnread,
|
|
unreadCount,
|
|
mentionCount,
|
|
isMuted,
|
|
showFadedUnreadOnMutedChannels,
|
|
unreadBadgesLevel,
|
|
});
|
|
}
|