Introduce Membership type
This commit is contained in:
parent
3c6fd58628
commit
da99bad7b9
115 changed files with 582 additions and 526 deletions
|
@ -65,10 +65,13 @@ export function splitRoomsByMembership(rooms: Room[]): MembershipSplit {
|
|||
return split;
|
||||
}
|
||||
|
||||
export function getEffectiveMembership(membership: string): EffectiveMembership {
|
||||
if (membership === "invite") {
|
||||
export function getEffectiveMembership(membership: Membership): EffectiveMembership {
|
||||
if (membership === Membership.Invite) {
|
||||
return EffectiveMembership.Invite;
|
||||
} else if (membership === "join" || (SettingsStore.getValue("feature_ask_to_join") && membership === "knock")) {
|
||||
} else if (
|
||||
membership === Membership.Join ||
|
||||
(SettingsStore.getValue("feature_ask_to_join") && membership === Membership.Knock)
|
||||
) {
|
||||
return EffectiveMembership.Join;
|
||||
} else {
|
||||
// Probably a leave, kick, or ban
|
||||
|
@ -81,7 +84,7 @@ export function isKnockDenied(room: Room): boolean | undefined {
|
|||
const member = memberId ? room.getMember(memberId) : null;
|
||||
const previousMembership = member?.events.member?.getPrevContent().membership;
|
||||
|
||||
return member?.isKicked() && previousMembership === "knock";
|
||||
return member?.isKicked() && previousMembership === Membership.Knock;
|
||||
}
|
||||
|
||||
export function getEffectiveMembershipTag(room: Room, membership?: string): EffectiveMembership {
|
||||
|
@ -90,7 +93,7 @@ export function getEffectiveMembershipTag(room: Room, membership?: string): Effe
|
|||
: getEffectiveMembership(membership ?? room.getMyMembership());
|
||||
}
|
||||
|
||||
export function isJoinedOrNearlyJoined(membership: string): boolean {
|
||||
export function isJoinedOrNearlyJoined(membership: Membership): boolean {
|
||||
const effective = getEffectiveMembership(membership);
|
||||
return effective === EffectiveMembership.Join || effective === EffectiveMembership.Invite;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue