mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Add support for homeserver capabilities to disable the UserDetailsEditScreen UI. (#5421)
Add support for homeserver capabilities to disable editing your user profile. Also updates editable avatar size/formatting to match the latest Figma at the same time.
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
//
|
||||
// Copyright 2026 Element Creations Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
||||
// Please see LICENSE files in the repository root for full details.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import MatrixRustSDK
|
||||
|
||||
struct HomeserverCapabilitiesProxy: HomeserverCapabilitiesProxyProtocol {
|
||||
private let underlyingCapabilities: HomeserverCapabilitiesProtocol
|
||||
|
||||
init(underlyingCapabilities: HomeserverCapabilitiesProtocol) {
|
||||
self.underlyingCapabilities = underlyingCapabilities
|
||||
}
|
||||
|
||||
func refresh() async {
|
||||
do {
|
||||
try await underlyingCapabilities.refresh()
|
||||
} catch {
|
||||
MXLog.error("Failure refreshing homeserver capabilities: \(error)")
|
||||
}
|
||||
}
|
||||
|
||||
func canChangeAvatar() async -> Bool {
|
||||
do {
|
||||
return try await underlyingCapabilities.canChangeAvatar()
|
||||
} catch {
|
||||
MXLog.error("Failure checking canChangeAvatar: \(error)")
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
func canChangeDisplayName() async -> Bool {
|
||||
do {
|
||||
return try await underlyingCapabilities.canChangeDisplayname()
|
||||
} catch {
|
||||
MXLog.error("Failure checking canChangeDisplayName: \(error)")
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
//
|
||||
// Copyright 2026 Element Creations Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
||||
// Please see LICENSE files in the repository root for full details.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
// sourcery: AutoMockable
|
||||
protocol HomeserverCapabilitiesProxyProtocol {
|
||||
func refresh() async
|
||||
func canChangeAvatar() async -> Bool
|
||||
func canChangeDisplayName() async -> Bool
|
||||
}
|
||||
Reference in New Issue
Block a user