mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-20 00:24:43 +02:00
RoomMemberDetailsViewController: Add power level label instead of badge.
This commit is contained in:
@@ -97,6 +97,8 @@
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *bottomImageView;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UILabel *roomMemberPowerLevelLabel;
|
||||
@property (weak, nonatomic) IBOutlet UIView *roomMemberPowerLevelContainerView;
|
||||
|
||||
@property(nonatomic) UserEncryptionTrustLevel encryptionTrustLevel;
|
||||
|
||||
@@ -256,6 +258,7 @@
|
||||
self.roomMemberNameLabel.textColor = ThemeService.shared.theme.baseTextPrimaryColor;
|
||||
|
||||
self.roomMemberStatusLabel.textColor = ThemeService.shared.theme.tintColor;
|
||||
self.roomMemberPowerLevelLabel.textColor = ThemeService.shared.theme.baseTextPrimaryColor;
|
||||
|
||||
// Check the table view style to select its bg color.
|
||||
self.tableView.backgroundColor = ((self.tableView.style == UITableViewStylePlain) ? ThemeService.shared.theme.backgroundColor : ThemeService.shared.theme.headerBackgroundColor);
|
||||
@@ -389,27 +392,40 @@
|
||||
{
|
||||
self.roomMemberNameLabel.text = self.mxRoomMember.displayname ? self.mxRoomMember.displayname : self.mxRoomMember.userId;
|
||||
|
||||
// Update member badge
|
||||
// Update member power level
|
||||
MXWeakify(self);
|
||||
[self.mxRoom state:^(MXRoomState *roomState) {
|
||||
MXStrongifyAndReturnIfNil(self);
|
||||
|
||||
NSString *powerLevelTextFormat;
|
||||
|
||||
MXRoomPowerLevels *powerLevels = [roomState powerLevels];
|
||||
NSInteger powerLevel = [powerLevels powerLevelOfUserWithUserID:self.mxRoomMember.userId];
|
||||
if (powerLevel >= RoomPowerLevelAdmin)
|
||||
{
|
||||
self->memberTitleView.memberBadge.image = [UIImage imageNamed:@"admin_icon"];
|
||||
self->memberTitleView.memberBadge.hidden = NO;
|
||||
|
||||
RoomPowerLevel roomPowerLevel = [RoomPowerLevelHelper roomPowerLevelFrom:powerLevel];
|
||||
|
||||
switch (roomPowerLevel) {
|
||||
case RoomPowerLevelAdmin:
|
||||
powerLevelTextFormat = NSLocalizedStringFromTable(@"room_member_power_level_admin_in", @"Vector", nil);
|
||||
break;
|
||||
case RoomPowerLevelModerator:
|
||||
powerLevelTextFormat = NSLocalizedStringFromTable(@"room_member_power_level_moderator_in", @"Vector", nil);
|
||||
break;
|
||||
default:
|
||||
powerLevelTextFormat = nil;
|
||||
break;
|
||||
}
|
||||
else if (powerLevel >= RoomPowerLevelModerator)
|
||||
|
||||
NSString *powerLevelText;
|
||||
|
||||
if (powerLevelTextFormat)
|
||||
{
|
||||
self->memberTitleView.memberBadge.image = [UIImage imageNamed:@"mod_icon"];
|
||||
self->memberTitleView.memberBadge.hidden = NO;
|
||||
}
|
||||
else
|
||||
{
|
||||
self->memberTitleView.memberBadge.hidden = YES;
|
||||
NSString *roomName = self.mxRoom.summary.displayname;
|
||||
powerLevelText = [NSString stringWithFormat:powerLevelTextFormat, roomName];
|
||||
}
|
||||
|
||||
self.roomMemberPowerLevelLabel.text = powerLevelText;
|
||||
self.roomMemberPowerLevelContainerView.hidden = !powerLevelTextFormat;
|
||||
}];
|
||||
|
||||
NSString* presenceText;
|
||||
|
||||
Reference in New Issue
Block a user