From 24f7c33ab66d784573c0d5b49c90fd6a42fa9825 Mon Sep 17 00:00:00 2001 From: Ryan Tharp Date: Tue, 3 Dec 2019 02:37:43 -0800 Subject: [PATCH] add isPublic property, support public chat settings --- js/views/create_group_dialog_view.js | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/js/views/create_group_dialog_view.js b/js/views/create_group_dialog_view.js index 0ff6e3205..ebbcd1ecb 100644 --- a/js/views/create_group_dialog_view.js +++ b/js/views/create_group_dialog_view.js @@ -99,6 +99,7 @@ this.cancelText = i18n('cancel'); this.close = this.close.bind(this); this.onSubmit = this.onSubmit.bind(this); + this.isPublic = groupConvo.isPublic(); const ourPK = textsecure.storage.user.getNumber(); @@ -115,10 +116,31 @@ this.friendList = allMembers; // only give members that are not already in the group - const existingMembers = groupConvo.get('members'); + let existingMembers = groupConvo.get('members'); + + // at least make sure it's an array + if (!Array.isArray(existingMembers)) { + existingMembers = []; + } this.existingMembers = existingMembers; + // public chat settings overrides + if (this.isPublic) { + // fix the title + this.titleText = `${i18n('updatePublicGroupDialogTitle')}: ${ + this.groupName + }`; + // I'd much prefer to integrate mods with groupAdmins + // but lets discuss first... + this.isAdmin = groupConvo.isModerator( + window.storage.get('primaryDevicePubKey') + ); + // zero out friendList for now + this.friendList = []; + this.existingMembers = []; + } + this.$el.focus(); this.render(); }, @@ -130,6 +152,7 @@ titleText: this.titleText, groupName: this.groupName, okText: this.okText, + isPublic: this.isPublic, cancelText: this.cancelText, existingMembers: this.existingMembers, friendList: this.friendList,