Fetch hasGroupLink
from Redux in conversation details
This commit is contained in:
parent
502dad8f6f
commit
caf544b3a1
2 changed files with 10 additions and 16 deletions
|
@ -17,11 +17,11 @@ import { getGroupMemberships } from '../../util/getGroupMemberships';
|
||||||
import { getIntl } from '../selectors/user';
|
import { getIntl } from '../selectors/user';
|
||||||
import { MediaItemType } from '../../components/LightboxGallery';
|
import { MediaItemType } from '../../components/LightboxGallery';
|
||||||
import { assert } from '../../util/assert';
|
import { assert } from '../../util/assert';
|
||||||
|
import { SignalService as Proto } from '../../protobuf';
|
||||||
|
|
||||||
export type SmartConversationDetailsProps = {
|
export type SmartConversationDetailsProps = {
|
||||||
addMembers: (conversationIds: ReadonlyArray<string>) => Promise<void>;
|
addMembers: (conversationIds: ReadonlyArray<string>) => Promise<void>;
|
||||||
conversationId: string;
|
conversationId: string;
|
||||||
hasGroupLink: boolean;
|
|
||||||
loadRecentMediaItems: (limit: number) => void;
|
loadRecentMediaItems: (limit: number) => void;
|
||||||
setDisappearingMessages: (seconds: number) => void;
|
setDisappearingMessages: (seconds: number) => void;
|
||||||
showAllMedia: () => void;
|
showAllMedia: () => void;
|
||||||
|
@ -45,6 +45,8 @@ export type SmartConversationDetailsProps = {
|
||||||
onLeave: () => void;
|
onLeave: () => void;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const ACCESS_ENUM = Proto.AccessControl.AccessRequired;
|
||||||
|
|
||||||
const mapStateToProps = (
|
const mapStateToProps = (
|
||||||
state: StateType,
|
state: StateType,
|
||||||
props: SmartConversationDetailsProps
|
props: SmartConversationDetailsProps
|
||||||
|
@ -56,14 +58,14 @@ const mapStateToProps = (
|
||||||
'<SmartConversationDetails> expected a conversation to be found'
|
'<SmartConversationDetails> expected a conversation to be found'
|
||||||
);
|
);
|
||||||
|
|
||||||
const canEditGroupInfo =
|
const canEditGroupInfo = Boolean(conversation.canEditGroupInfo);
|
||||||
conversation && conversation.canEditGroupInfo
|
const isAdmin = Boolean(conversation.areWeAdmin);
|
||||||
? conversation.canEditGroupInfo
|
|
||||||
: false;
|
|
||||||
|
|
||||||
const isAdmin = Boolean(conversation?.areWeAdmin);
|
|
||||||
const candidateContactsToAdd = getCandidateContactsForNewGroup(state);
|
const candidateContactsToAdd = getCandidateContactsForNewGroup(state);
|
||||||
|
|
||||||
|
const hasGroupLink =
|
||||||
|
Boolean(conversation.groupLink) &&
|
||||||
|
conversation.accessControlAddFromInviteLink !== ACCESS_ENUM.UNSATISFIABLE;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...props,
|
...props,
|
||||||
canEditGroupInfo,
|
canEditGroupInfo,
|
||||||
|
@ -73,6 +75,7 @@ const mapStateToProps = (
|
||||||
isAdmin,
|
isAdmin,
|
||||||
...getGroupMemberships(conversation, conversationSelector),
|
...getGroupMemberships(conversation, conversationSelector),
|
||||||
userAvatarData: conversation.avatars || [],
|
userAvatarData: conversation.avatars || [],
|
||||||
|
hasGroupLink,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -3381,18 +3381,9 @@ Whisper.ConversationView = Whisper.View.extend({
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const ACCESS_ENUM = Proto.AccessControl.AccessRequired;
|
|
||||||
|
|
||||||
const hasGroupLink = Boolean(
|
|
||||||
model.get('groupInviteLinkPassword') &&
|
|
||||||
model.get('accessControl')?.addFromInviteLink !==
|
|
||||||
ACCESS_ENUM.UNSATISFIABLE
|
|
||||||
);
|
|
||||||
|
|
||||||
const props = {
|
const props = {
|
||||||
addMembers: model.addMembersV2.bind(model),
|
addMembers: model.addMembersV2.bind(model),
|
||||||
conversationId: model.get('id'),
|
conversationId: model.get('id'),
|
||||||
hasGroupLink,
|
|
||||||
loadRecentMediaItems: this.loadRecentMediaItems.bind(this),
|
loadRecentMediaItems: this.loadRecentMediaItems.bind(this),
|
||||||
setDisappearingMessages: this.setDisappearingMessages.bind(this),
|
setDisappearingMessages: this.setDisappearingMessages.bind(this),
|
||||||
showAllMedia: this.showAllMedia.bind(this),
|
showAllMedia: this.showAllMedia.bind(this),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue