ui: uncomment block for all functionality (#3799)

This commit is contained in:
spaced4ndy 2024-02-12 17:33:53 +04:00 committed by GitHub
parent 3d8d84f978
commit 71bcfc2848
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 65 additions and 124 deletions

View File

@ -234,39 +234,29 @@ struct GroupChatInfoView: View {
Spacer() Spacer()
memberInfo(member) memberInfo(member)
} }
// revert from this:
if user { if user {
v v
} else if member.canBeRemoved(groupInfo: groupInfo) { } else if groupInfo.membership.memberRole >= .admin {
removeSwipe(member, blockSwipe(member, v)) // TODO if there are more actions, refactor with lists of swipeActions
let canBlockForAll = member.canBlockForAll(groupInfo: groupInfo)
let canRemove = member.canBeRemoved(groupInfo: groupInfo)
if canBlockForAll && canRemove {
removeSwipe(member, blockForAllSwipe(member, v))
} else if canBlockForAll {
blockForAllSwipe(member, v)
} else if canRemove {
removeSwipe(member, v)
} else {
v
}
} else { } else {
blockSwipe(member, v) if !member.blockedByAdmin {
blockSwipe(member, v)
} else {
v
}
} }
// revert to this: vvv
// if user {
// v
// } else if groupInfo.membership.memberRole >= .admin {
// // TODO if there are more actions, refactor with lists of swipeActions
// let canBlockForAll = member.canBlockForAll(groupInfo: groupInfo)
// let canRemove = member.canBeRemoved(groupInfo: groupInfo)
// if canBlockForAll && canRemove {
// removeSwipe(member, blockForAllSwipe(member, v))
// } else if canBlockForAll {
// blockForAllSwipe(member, v)
// } else if canRemove {
// removeSwipe(member, v)
// } else {
// v
// }
// } else {
// if !member.blockedByAdmin {
// blockSwipe(member, v)
// } else {
// v
// }
// }
// ^^^
} }
@ViewBuilder private func memberInfo(_ member: GroupMember) -> some View { @ViewBuilder private func memberInfo(_ member: GroupMember) -> some View {

View File

@ -168,24 +168,11 @@ struct GroupMemberInfoView: View {
} }
} }
// revert from this: if groupInfo.membership.memberRole >= .admin {
Section { adminDestructiveSection(member)
if member.memberSettings.showMessages { } else {
blockMemberButton(member) nonAdminBlockSection(member)
} else {
unblockMemberButton(member)
}
if member.canBeRemoved(groupInfo: groupInfo) {
removeMemberButton(member)
}
} }
// revert to this: vvv
// if groupInfo.membership.memberRole >= .admin {
// adminDestructiveSection(member)
// } else {
// nonAdminBlockSection(member)
// }
// ^^^
if developerTools { if developerTools {
Section("For console") { Section("For console") {

View File

@ -424,69 +424,47 @@ private fun MemberVerifiedShield() {
@Composable @Composable
private fun DropDownMenuForMember(rhId: Long?, member: GroupMember, groupInfo: GroupInfo, showMenu: MutableState<Boolean>) { private fun DropDownMenuForMember(rhId: Long?, member: GroupMember, groupInfo: GroupInfo, showMenu: MutableState<Boolean>) {
// revert from this: if (groupInfo.membership.memberRole >= GroupMemberRole.Admin) {
DefaultDropdownMenu(showMenu) { val canBlockForAll = member.canBlockForAll(groupInfo)
if (member.canBeRemoved(groupInfo)) { val canRemove = member.canBeRemoved(groupInfo)
ItemAction(stringResource(MR.strings.remove_member_button), painterResource(MR.images.ic_delete), color = MaterialTheme.colors.error, onClick = { if (canBlockForAll || canRemove) {
removeMemberAlert(rhId, groupInfo, member) DefaultDropdownMenu(showMenu) {
showMenu.value = false if (canBlockForAll) {
}) if (member.blockedByAdmin) {
ItemAction(stringResource(MR.strings.unblock_for_all), painterResource(MR.images.ic_do_not_touch), onClick = {
unblockForAllAlert(rhId, groupInfo, member)
showMenu.value = false
})
} else {
ItemAction(stringResource(MR.strings.block_for_all), painterResource(MR.images.ic_back_hand), color = MaterialTheme.colors.error, onClick = {
blockForAllAlert(rhId, groupInfo, member)
showMenu.value = false
})
}
}
if (canRemove) {
ItemAction(stringResource(MR.strings.remove_member_button), painterResource(MR.images.ic_delete), color = MaterialTheme.colors.error, onClick = {
removeMemberAlert(rhId, groupInfo, member)
showMenu.value = false
})
}
}
} }
if (member.memberSettings.showMessages) { } else if (!member.blockedByAdmin) {
ItemAction(stringResource(MR.strings.block_member_button), painterResource(MR.images.ic_back_hand), color = MaterialTheme.colors.error, onClick = { DefaultDropdownMenu(showMenu) {
blockMemberAlert(rhId, groupInfo, member) if (member.memberSettings.showMessages) {
showMenu.value = false ItemAction(stringResource(MR.strings.block_member_button), painterResource(MR.images.ic_back_hand), color = MaterialTheme.colors.error, onClick = {
}) blockMemberAlert(rhId, groupInfo, member)
} else { showMenu.value = false
ItemAction(stringResource(MR.strings.unblock_member_button), painterResource(MR.images.ic_do_not_touch), onClick = { })
unblockMemberAlert(rhId, groupInfo, member) } else {
showMenu.value = false ItemAction(stringResource(MR.strings.unblock_member_button), painterResource(MR.images.ic_do_not_touch), onClick = {
}) unblockMemberAlert(rhId, groupInfo, member)
showMenu.value = false
})
}
} }
} }
// revert to this: vvv
// if (groupInfo.membership.memberRole >= GroupMemberRole.Admin) {
// val canBlockForAll = member.canBlockForAll(groupInfo)
// val canRemove = member.canBeRemoved(groupInfo)
// if (canBlockForAll || canRemove) {
// DefaultDropdownMenu(showMenu) {
// if (canBlockForAll) {
// if (member.blockedByAdmin) {
// ItemAction(stringResource(MR.strings.unblock_for_all), painterResource(MR.images.ic_do_not_touch), onClick = {
// unblockForAllAlert(rhId, groupInfo, member)
// showMenu.value = false
// })
// } else {
// ItemAction(stringResource(MR.strings.block_for_all), painterResource(MR.images.ic_back_hand), color = MaterialTheme.colors.error, onClick = {
// blockForAllAlert(rhId, groupInfo, member)
// showMenu.value = false
// })
// }
// }
// if (canRemove) {
// ItemAction(stringResource(MR.strings.remove_member_button), painterResource(MR.images.ic_delete), color = MaterialTheme.colors.error, onClick = {
// removeMemberAlert(rhId, groupInfo, member)
// showMenu.value = false
// })
// }
// }
// }
// } else if (!member.blockedByAdmin) {
// DefaultDropdownMenu(showMenu) {
// if (member.memberSettings.showMessages) {
// ItemAction(stringResource(MR.strings.block_member_button), painterResource(MR.images.ic_back_hand), color = MaterialTheme.colors.error, onClick = {
// blockMemberAlert(rhId, groupInfo, member)
// showMenu.value = false
// })
// } else {
// ItemAction(stringResource(MR.strings.unblock_member_button), painterResource(MR.images.ic_do_not_touch), onClick = {
// unblockMemberAlert(rhId, groupInfo, member)
// showMenu.value = false
// })
// }
// }
// }
// ^^^
} }
@Composable @Composable

View File

@ -387,25 +387,11 @@ fun GroupMemberInfoLayout(
} }
} }
// revert from this: if (groupInfo.membership.memberRole >= GroupMemberRole.Admin) {
SectionDividerSpaced(maxBottomPadding = false) AdminDestructiveSection()
SectionView { } else {
if (member.memberSettings.showMessages) { NonAdminBlockSection()
BlockMemberButton(blockMember)
} else {
UnblockMemberButton(unblockMember)
}
if (member.canBeRemoved(groupInfo)) {
RemoveMemberButton(removeMember)
}
} }
// revert to this: vvv
// if (groupInfo.membership.memberRole >= GroupMemberRole.Admin) {
// AdminDestructiveSection()
// } else {
// NonAdminBlockSection()
// }
// ^^^
if (developerTools) { if (developerTools) {
SectionDividerSpaced() SectionDividerSpaced()