mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-22 01:22:46 +02:00
Finish extraction
- Moves SwiftUI code out of Riot and into RiotSwiftUI which has no dependency on Matrix SDK. - Git wasn't smart enough to see the file moves. Most feature function has remain unchanged. 1 change I did make was remove NotificationSettingsViewModel's dependence on MxPushRule, so that the view model could be moved into RiotSwiftUI. - Add LocaleProvider to abstract VectorL10n's use of Matrix SDK language so it can be used in RiotSwiftUI. - Split Theme into UKit/SwiftUI version to remove RiotSwiftUI's dependence on ThemeService and ThemeV1. - Migrated from ThemeObserver to ThemePublisher. We push updates to ThemePublisher so that we can remove ThemeService as dependency. - Add .DS_Store to .gitignore
This commit is contained in:
@@ -39,24 +39,23 @@ final class RoomNotificationSettingsCoordinator: RoomNotificationSettingsCoordin
|
||||
|
||||
init(room: MXRoom, presentedModally: Bool = true) {
|
||||
let roomNotificationService = RoomNotificationSettingsService(room: room)
|
||||
let avatarData: AvatarInputOption?
|
||||
let avatarData: AvatarType?
|
||||
let showAvatar = presentedModally
|
||||
if #available(iOS 14.0.0, *) {
|
||||
avatarData = showAvatar ? .swiftUI(AvatarInput(
|
||||
avatarData = showAvatar ? AvatarInput(
|
||||
mxContentUri: room.summary.avatar,
|
||||
matrixItemId: room.roomId,
|
||||
displayName: room.summary.displayname
|
||||
)) : nil
|
||||
) : nil
|
||||
} else {
|
||||
avatarData = showAvatar ? .uiKit(RoomAvatarViewData(
|
||||
avatarData = showAvatar ? RoomAvatarViewData(
|
||||
roomId: room.roomId,
|
||||
displayName: room.summary.displayname,
|
||||
avatarUrl: room.summary.avatar,
|
||||
mediaManager: room.mxSession.mediaManager
|
||||
)) : nil
|
||||
) : nil
|
||||
}
|
||||
|
||||
|
||||
let viewModel: RoomNotificationSettingsViewModel
|
||||
let viewController: UIViewController
|
||||
if #available(iOS 14.0.0, *) {
|
||||
|
||||
+1
-1
@@ -144,7 +144,7 @@ final class RoomNotificationSettingsViewController: UIViewController {
|
||||
activityPresenter.removeCurrentActivityIndicator(animated: true)
|
||||
}
|
||||
self.viewState = viewState
|
||||
if case let .uiKit(avatarData) = viewState.avatarData {
|
||||
if let avatarData = viewState.avatarData as? AvatarViewDataProtocol {
|
||||
mainTableView.tableHeaderView = avatarView
|
||||
avatarView.configure(viewData: avatarData)
|
||||
avatarView.update(theme: theme)
|
||||
|
||||
Reference in New Issue
Block a user