From 662c64f347ce621f0f2e4c0fe5a2a2b9dc9c0e42 Mon Sep 17 00:00:00 2001 From: Beaudan Brown Date: Fri, 23 Aug 2019 14:23:21 +1000 Subject: [PATCH] Remove ability to delete some rss conversations --- js/models/conversations.js | 4 ++++ js/views/conversation_view.js | 1 + ts/components/ConversationListItem.tsx | 4 +++- ts/components/conversation/ConversationHeader.tsx | 4 +++- ts/state/ducks/conversations.ts | 1 + 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/js/models/conversations.js b/js/models/conversations.js index 2fdaa0b1a..aec65b55d 100644 --- a/js/models/conversations.js +++ b/js/models/conversations.js @@ -196,6 +196,9 @@ isPublic() { return this.id.match(/^publicChat:/); }, + isClosable() { + return !this.isRss() || this.get('closable'); + }, isRss() { return this.id && this.id.match(/^rss:/); }, @@ -441,6 +444,7 @@ color, type: this.isPrivate() ? 'direct' : 'group', isMe: this.isMe(), + isClosable: this.isClosable(), isTyping: typingKeys.length > 0, lastUpdated: this.get('timestamp'), name: this.getName(), diff --git a/js/views/conversation_view.js b/js/views/conversation_view.js index 4309a79e5..edea0036d 100644 --- a/js/views/conversation_view.js +++ b/js/views/conversation_view.js @@ -201,6 +201,7 @@ isVerified: this.model.isVerified(), isKeysPending: !this.model.isFriend(), isMe: this.model.isMe(), + isClosable: this.model.isClosable(), isBlocked: this.model.isBlocked(), isGroup: !this.model.isPrivate(), isOnline: this.model.isOnline(), diff --git a/ts/components/ConversationListItem.tsx b/ts/components/ConversationListItem.tsx index 60870f6b3..f14d01856 100644 --- a/ts/components/ConversationListItem.tsx +++ b/ts/components/ConversationListItem.tsx @@ -21,6 +21,7 @@ export type PropsData = { type: 'group' | 'direct'; avatarPath?: string; isMe: boolean; + isClosable?: boolean; lastUpdated: number; unreadCount: number; @@ -163,6 +164,7 @@ export class ConversationListItem extends React.PureComponent { i18n, isBlocked, isMe, + isClosable, hasNickname, onDeleteContact, onDeleteMessages, @@ -191,7 +193,7 @@ export class ConversationListItem extends React.PureComponent { ) : null} {i18n('copyPublicKey')} {i18n('deleteMessages')} - {!isMe ? ( + {!isMe && isClosable ? ( {i18n('deleteContact')} ) : null} diff --git a/ts/components/conversation/ConversationHeader.tsx b/ts/components/conversation/ConversationHeader.tsx index b1497e21c..dfc10c197 100644 --- a/ts/components/conversation/ConversationHeader.tsx +++ b/ts/components/conversation/ConversationHeader.tsx @@ -26,6 +26,7 @@ interface Props { isVerified: boolean; isMe: boolean; + isClosable?: boolean; isGroup: boolean; isArchived: boolean; @@ -201,6 +202,7 @@ export class ConversationHeader extends React.Component { i18n, isBlocked, isMe, + isClosable, isGroup, isArchived, onDeleteMessages, @@ -275,7 +277,7 @@ export class ConversationHeader extends React.Component { {i18n('archiveConversation')} )} {i18n('deleteMessages')} - {!isMe ? ( + {!isMe && isClosable ? ( {i18n('deleteContact')} ) : null} diff --git a/ts/state/ducks/conversations.ts b/ts/state/ducks/conversations.ts index 470c5bd2d..77379eb03 100644 --- a/ts/state/ducks/conversations.ts +++ b/ts/state/ducks/conversations.ts @@ -45,6 +45,7 @@ export type ConversationType = { phoneNumber: string; type: 'direct' | 'group'; isMe: boolean; + isClosable?: boolean; lastUpdated: number; unreadCount: number; isSelected: boolean;