Skip to content

Commit

Permalink
isMuted -> isConversationMuted
Browse files Browse the repository at this point in the history
  • Loading branch information
EvanHahn-Signal authored May 23, 2022
1 parent 3f0ed54 commit 28ab6e1
Show file tree
Hide file tree
Showing 8 changed files with 44 additions and 44 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ import type {
ReplaceAvatarActionType,
SaveAvatarToDiskActionType,
} from '../../../types/Avatar';
import { isMuted } from '../../../util/isMuted';
import { isConversationMuted } from '../../../util/isConversationMuted';

enum ModalState {
NothingOpen,
Expand Down Expand Up @@ -305,7 +305,7 @@ export const ConversationDetails: React.ComponentType<Props> = ({
throw missingCaseError(modalState);
}

const isConversationMuted = isMuted(conversation.muteExpiresAt);
const isMuted = isConversationMuted(conversation);

return (
<div className="conversation-details-panel">
Expand Down Expand Up @@ -348,19 +348,17 @@ export const ConversationDetails: React.ComponentType<Props> = ({
</>
)}
<Button
icon={
isConversationMuted ? ButtonIconType.muted : ButtonIconType.unmuted
}
icon={isMuted ? ButtonIconType.muted : ButtonIconType.unmuted}
onClick={() => {
if (isConversationMuted) {
if (isMuted) {
setModalState(ModalState.UnmuteNotifications);
} else {
setModalState(ModalState.MuteNotifications);
}
}}
variant={ButtonVariant.Details}
>
{isConversationMuted ? i18n('unmute') : i18n('mute')}
{isMuted ? i18n('unmute') : i18n('mute')}
</Button>
<Button
icon={ButtonIconType.search}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { PanelSection } from './PanelSection';
import { PanelRow } from './PanelRow';
import { ConversationDetailsIcon, IconType } from './ConversationDetailsIcon';
import { Select } from '../../Select';
import { isMuted } from '../../../util/isMuted';
import { isConversationMuted } from '../../../util/isConversationMuted';
import { getMuteOptions } from '../../../util/getMuteOptions';
import { parseIntOrThrow } from '../../../util/parseIntOrThrow';
import { useUniqueId } from '../../../hooks/useUniqueId';
Expand Down Expand Up @@ -40,7 +40,7 @@ export const ConversationNotificationsSettings: FunctionComponent<
const mentionsSelectId = useUniqueId();
const muteOptions = useMemo(
() => [
...(isMuted(muteExpiresAt)
...(isConversationMuted({ muteExpiresAt })
? []
: [
{
Expand Down
4 changes: 2 additions & 2 deletions ts/models/conversations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ import type {
import type { MessageModel } from './messages';
import { getContact } from '../messages/helpers';
import { strictAssert } from '../util/assert';
import { isMuted } from '../util/isMuted';
import { isConversationMuted } from '../util/isConversationMuted';
import { isConversationSMSOnly } from '../util/isConversationSMSOnly';
import { isConversationUnregistered } from '../util/isConversationUnregistered';
import { missingCaseError } from '../util/missingCaseError';
Expand Down Expand Up @@ -5203,7 +5203,7 @@ export class ConversationModel extends window.Backbone
}

isMuted(): boolean {
return isMuted(this.get('muteExpiresAt'));
return isConversationMuted(this.attributes);
}

async notify(
Expand Down
23 changes: 23 additions & 0 deletions ts/test-both/util/isConversationMuted_test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright 2020-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only

import { assert } from 'chai';

import { isConversationMuted } from '../../util/isConversationMuted';

describe('isConversationMuted', () => {
it('returns false if passed an undefined expiry time', () => {
assert.isFalse(isConversationMuted({}));
assert.isFalse(isConversationMuted({ muteExpiresAt: undefined }));
});

it('returns false if passed a date in the past', () => {
assert.isFalse(isConversationMuted({ muteExpiresAt: 0 }));
assert.isFalse(isConversationMuted({ muteExpiresAt: Date.now() - 123 }));
});

it('returns true if passed a date in the future', () => {
assert.isTrue(isConversationMuted({ muteExpiresAt: Date.now() + 123 }));
assert.isTrue(isConversationMuted({ muteExpiresAt: Date.now() + 123456 }));
});
});
22 changes: 0 additions & 22 deletions ts/test-node/util/isMuted_test.ts

This file was deleted.

6 changes: 3 additions & 3 deletions ts/util/getMuteOptions.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// Copyright 2020-2021 Signal Messenger, LLC
// Copyright 2020-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only

import * as durations from './durations';
import type { LocalizerType } from '../types/Util';
import { getMutedUntilText } from './getMutedUntilText';
import { isMuted } from './isMuted';
import { isConversationMuted } from './isConversationMuted';

export type MuteOption = {
name: string;
Expand All @@ -17,7 +17,7 @@ export function getMuteOptions(
i18n: LocalizerType
): Array<MuteOption> {
return [
...(isMuted(muteExpiresAt)
...(muteExpiresAt && isConversationMuted({ muteExpiresAt })
? [
{
name: getMutedUntilText(muteExpiresAt, i18n),
Expand Down
9 changes: 9 additions & 0 deletions ts/util/isConversationMuted.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// Copyright 2020-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only

import type { ConversationAttributesType } from '../model-types.d';

export const isConversationMuted = ({
muteExpiresAt,
}: Readonly<Pick<ConversationAttributesType, 'muteExpiresAt'>>): boolean =>
Boolean(muteExpiresAt && Date.now() < muteExpiresAt);
8 changes: 0 additions & 8 deletions ts/util/isMuted.ts

This file was deleted.

0 comments on commit 28ab6e1

Please sign in to comment.