mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-19 16:13:42 +02:00
Room widget permission: Update WidgetPermissionViewModel with permission string list and widget origin.
This commit is contained in:
@@ -20,17 +20,49 @@ import Foundation
|
||||
@objcMembers
|
||||
final class WidgetPermissionViewModel: NSObject {
|
||||
|
||||
// MARK: - Properties
|
||||
|
||||
let creatorUserId: String
|
||||
let creatorDisplayName: String?
|
||||
let creatorAvatarUrl: String?
|
||||
let widgetDomain: String?
|
||||
let isWebviewWidget: Bool
|
||||
let widgetPermissions: [String]
|
||||
let mediaManager: MXMediaManager
|
||||
|
||||
init(creatorUserId: String, creatorDisplayName: String?, creatorAvatarUrl: String?, widgetDomain: String?, mediaManager: MXMediaManager) {
|
||||
lazy var permissionsInformationText: String = {
|
||||
return self.buildPermissionsInformationText()
|
||||
}()
|
||||
|
||||
// MARK: - Setup
|
||||
|
||||
init(creatorUserId: String, creatorDisplayName: String?, creatorAvatarUrl: String?, widgetDomain: String?, isWebviewWidget: Bool, widgetPermissions: [String], mediaManager: MXMediaManager) {
|
||||
self.creatorUserId = creatorUserId
|
||||
self.creatorDisplayName = creatorDisplayName
|
||||
self.creatorAvatarUrl = creatorAvatarUrl
|
||||
self.widgetDomain = widgetDomain
|
||||
self.isWebviewWidget = isWebviewWidget
|
||||
self.widgetPermissions = widgetPermissions
|
||||
self.mediaManager = mediaManager
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Private
|
||||
|
||||
private func buildPermissionsInformationText() -> String {
|
||||
|
||||
let informationTitle: String
|
||||
let widgetDomain = self.widgetDomain ?? ""
|
||||
|
||||
if self.isWebviewWidget {
|
||||
informationTitle = VectorL10n.roomWidgetPermissionWebviewInformationTitle(widgetDomain)
|
||||
} else {
|
||||
informationTitle = VectorL10n.roomWidgetPermissionInformationTitle(widgetDomain)
|
||||
}
|
||||
|
||||
let permissionsList = self.widgetPermissions.reduce("") { (accumulatedPermissions, permission) -> String in
|
||||
return accumulatedPermissions + "\n• \(permission)"
|
||||
}
|
||||
|
||||
return informationTitle + permissionsList
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user