mobile: hide observer role from UI (to be reverted after v4.5.4 is released)
This commit is contained in:
@@ -942,7 +942,7 @@ data class GroupMember (
|
|||||||
fun canChangeRoleTo(groupInfo: GroupInfo): List<GroupMemberRole>? =
|
fun canChangeRoleTo(groupInfo: GroupInfo): List<GroupMemberRole>? =
|
||||||
if (!canBeRemoved(groupInfo)) null
|
if (!canBeRemoved(groupInfo)) null
|
||||||
else groupInfo.membership.memberRole.let { userRole ->
|
else groupInfo.membership.memberRole.let { userRole ->
|
||||||
GroupMemberRole.values().filter { it <= userRole }
|
GroupMemberRole.values().filter { it <= userRole && it != GroupMemberRole.Observer }
|
||||||
}
|
}
|
||||||
|
|
||||||
val memberIncognito = memberProfile.profileId != memberContactProfileId
|
val memberIncognito = memberProfile.profileId != memberContactProfileId
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ private fun RoleSelectionRow(groupInfo: GroupInfo, selectedRole: MutableState<Gr
|
|||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
horizontalArrangement = Arrangement.SpaceBetween
|
horizontalArrangement = Arrangement.SpaceBetween
|
||||||
) {
|
) {
|
||||||
val values = GroupMemberRole.values().filter { it <= groupInfo.membership.memberRole }.map { it to it.text }
|
val values = GroupMemberRole.values().filter { it <= groupInfo.membership.memberRole && it != GroupMemberRole.Observer }.map { it to it.text }
|
||||||
ExposedDropDownSettingRow(
|
ExposedDropDownSettingRow(
|
||||||
generalGetString(R.string.new_member_role),
|
generalGetString(R.string.new_member_role),
|
||||||
values,
|
values,
|
||||||
|
|||||||
@@ -120,9 +120,9 @@ fun GroupLinkLayout(
|
|||||||
if (groupLink == null) {
|
if (groupLink == null) {
|
||||||
SimpleButton(stringResource(R.string.button_create_group_link), icon = Icons.Outlined.AddLink, disabled = creatingLink, click = createLink)
|
SimpleButton(stringResource(R.string.button_create_group_link), icon = Icons.Outlined.AddLink, disabled = creatingLink, click = createLink)
|
||||||
} else {
|
} else {
|
||||||
SectionItemView(padding = PaddingValues(bottom = DEFAULT_PADDING)) {
|
// SectionItemView(padding = PaddingValues(bottom = DEFAULT_PADDING)) {
|
||||||
RoleSelectionRow(groupInfo, groupLinkMemberRole)
|
// RoleSelectionRow(groupInfo, groupLinkMemberRole)
|
||||||
}
|
// }
|
||||||
var initialLaunch by remember { mutableStateOf(true) }
|
var initialLaunch by remember { mutableStateOf(true) }
|
||||||
LaunchedEffect(groupLinkMemberRole.value) {
|
LaunchedEffect(groupLinkMemberRole.value) {
|
||||||
if (!initialLaunch) {
|
if (!initialLaunch) {
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ struct AddGroupMembersView: View {
|
|||||||
private func rolePicker() -> some View {
|
private func rolePicker() -> some View {
|
||||||
Picker("New member role", selection: $selectedRole) {
|
Picker("New member role", selection: $selectedRole) {
|
||||||
ForEach(GroupMemberRole.allCases) { role in
|
ForEach(GroupMemberRole.allCases) { role in
|
||||||
if role <= groupInfo.membership.memberRole {
|
if role <= groupInfo.membership.memberRole && role != .observer {
|
||||||
Text(role.text)
|
Text(role.text)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,15 +34,15 @@ struct GroupLinkView: View {
|
|||||||
Text("You can share a link or a QR code - anybody will be able to join the group. You won't lose members of the group if you later delete it.")
|
Text("You can share a link or a QR code - anybody will be able to join the group. You won't lose members of the group if you later delete it.")
|
||||||
.padding(.bottom)
|
.padding(.bottom)
|
||||||
if let groupLink = groupLink {
|
if let groupLink = groupLink {
|
||||||
HStack {
|
// HStack {
|
||||||
Text("Initial role")
|
// Text("Initial role")
|
||||||
Picker("Initial role", selection: $groupLinkMemberRole) {
|
// Picker("Initial role", selection: $groupLinkMemberRole) {
|
||||||
ForEach([GroupMemberRole.member, GroupMemberRole.observer]) { role in
|
// ForEach([GroupMemberRole.member, GroupMemberRole.observer]) { role in
|
||||||
Text(role.text)
|
// Text(role.text)
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
.frame(maxWidth: .infinity, alignment: .leading)
|
// .frame(maxWidth: .infinity, alignment: .leading)
|
||||||
QRCode(uri: groupLink)
|
QRCode(uri: groupLink)
|
||||||
HStack {
|
HStack {
|
||||||
Button {
|
Button {
|
||||||
|
|||||||
@@ -1517,7 +1517,7 @@ public struct GroupMember: Identifiable, Decodable {
|
|||||||
public func canChangeRoleTo(groupInfo: GroupInfo) -> [GroupMemberRole]? {
|
public func canChangeRoleTo(groupInfo: GroupInfo) -> [GroupMemberRole]? {
|
||||||
if !canBeRemoved(groupInfo: groupInfo) { return nil }
|
if !canBeRemoved(groupInfo: groupInfo) { return nil }
|
||||||
let userRole = groupInfo.membership.memberRole
|
let userRole = groupInfo.membership.memberRole
|
||||||
return GroupMemberRole.allCases.filter { $0 <= userRole }
|
return GroupMemberRole.allCases.filter { $0 <= userRole && $0 != .observer }
|
||||||
}
|
}
|
||||||
|
|
||||||
public var memberIncognito: Bool {
|
public var memberIncognito: Bool {
|
||||||
|
|||||||
Reference in New Issue
Block a user