Inject AvatarViewMode as EnvironmentObject

This commit is contained in:
Alfonso Grillo
2023-01-13 12:57:21 +01:00
parent 908c911eaf
commit 9df4a5a10b
52 changed files with 70 additions and 74 deletions
@@ -51,7 +51,7 @@ final class RoomNotificationSettingsCoordinator: RoomNotificationSettingsCoordin
)
let avatarService: AvatarServiceProtocol = AvatarService(mediaManager: room.mxSession.mediaManager)
let view = RoomNotificationSettings(viewModel: viewModel, presentedModally: presentedModally)
.addDependency(avatarService)
.environmentObject(AvatarViewModel(avatarService: avatarService))
let viewController = VectorHostingController(rootView: view)
roomNotificationSettingsViewModel = viewModel
roomNotificationSettingsViewController = viewController
@@ -85,13 +85,13 @@ struct RoomNotificationSettings_Previews: PreviewProvider {
NavigationView {
RoomNotificationSettings(viewModel: mockViewModel, presentedModally: true)
.navigationBarTitleDisplayMode(.inline)
.addDependency(MockAvatarService.example)
.environmentObject(AvatarViewModel.withMockedServices())
}
NavigationView {
RoomNotificationSettings(viewModel: mockViewModel, presentedModally: true)
.navigationBarTitleDisplayMode(.inline)
.theme(ThemeIdentifier.dark)
.addDependency(MockAvatarService.example)
.environmentObject(AvatarViewModel.withMockedServices())
}
}
}
@@ -43,6 +43,6 @@ struct RoomNotificationSettingsHeader_Previews: PreviewProvider {
static let name = "Element"
static var previews: some View {
RoomNotificationSettingsHeader(avatarData: MockAvatarInput.example, displayName: name)
.addDependency(MockAvatarService.example)
.environmentObject(AvatarViewModel.withMockedServices())
}
}
@@ -51,7 +51,7 @@ enum MockRoomAccessTypeChooserScreenState: MockScreenState, CaseIterable {
return (
[service, viewModel],
AnyView(RoomAccessTypeChooser(viewModel: viewModel.context, roomName: "Room Name")
.addDependency(MockAvatarService.example))
.environmentObject(AvatarViewModel.withMockedServices()))
)
}
}
@@ -45,7 +45,7 @@ final class RoomUpgradeCoordinator: Coordinator, Presentable {
self.parameters = parameters
let viewModel = RoomUpgradeViewModel.makeRoomUpgradeViewModel(roomUpgradeService: RoomUpgradeService(session: parameters.session, roomId: parameters.roomId, parentSpaceId: parameters.parentSpaceId, versionOverride: parameters.versionOverride))
let view = RoomUpgrade(viewModel: viewModel.context)
.addDependency(AvatarService.instantiate(mediaManager: parameters.session.mediaManager))
.environmentObject(AvatarViewModel(avatarService: AvatarService(mediaManager: parameters.session.mediaManager)))
roomUpgradeViewModel = viewModel
roomUpgradeHostingController = VectorHostingController(rootView: view)
roomUpgradeHostingController.view.backgroundColor = .clear
@@ -49,7 +49,7 @@ enum MockRoomUpgradeScreenState: MockScreenState, CaseIterable {
return (
[service, viewModel],
AnyView(RoomUpgrade(viewModel: viewModel.context)
.addDependency(MockAvatarService.example))
.environmentObject(AvatarViewModel.withMockedServices()))
)
}
}
@@ -61,7 +61,7 @@ final class UserSuggestionCoordinator: Coordinator, Presentable {
let viewModel = UserSuggestionViewModel(userSuggestionService: userSuggestionService)
let view = UserSuggestionList(viewModel: viewModel.context)
.addDependency(AvatarService.instantiate(mediaManager: parameters.mediaManager))
.environmentObject(AvatarViewModel(avatarService: AvatarService(mediaManager: parameters.mediaManager)))
userSuggestionViewModel = viewModel
userSuggestionHostingController = VectorHostingController(rootView: view)
@@ -105,7 +105,7 @@ final class UserSuggestionCoordinator: Coordinator, Presentable {
private func calculateViewHeight() -> CGFloat {
let viewModel = UserSuggestionViewModel(userSuggestionService: userSuggestionService)
let view = UserSuggestionList(viewModel: viewModel.context)
.addDependency(AvatarService.instantiate(mediaManager: parameters.mediaManager))
.environmentObject(AvatarViewModel(avatarService: AvatarService(mediaManager: parameters.mediaManager)))
let controller = VectorHostingController(rootView: view)
guard let view = controller.view else {
@@ -37,7 +37,7 @@ enum MockUserSuggestionScreenState: MockScreenState, CaseIterable {
return (
[service, listViewModel],
AnyView(UserSuggestionListWithInput(viewModel: viewModel)
.addDependency(MockAvatarService.example))
.environmentObject(AvatarViewModel.withMockedServices()))
)
}
}
@@ -55,6 +55,6 @@ struct UserSuggestionListItem: View {
struct UserSuggestionHeader_Previews: PreviewProvider {
static var previews: some View {
UserSuggestionListItem(avatar: MockAvatarInput.example, displayName: "Alice", userId: "@alice:matrix.org")
.addDependency(MockAvatarService.example)
.environmentObject(AvatarViewModel.withMockedServices())
}
}
@@ -66,7 +66,7 @@ final class VoiceBroadcastPlaybackCoordinator: Coordinator, Presentable {
func toPresentable() -> UIViewController {
let view = VoiceBroadcastPlaybackView(viewModel: viewModel.context)
.addDependency(AvatarService.instantiate(mediaManager: parameters.session.mediaManager))
.environmentObject(AvatarViewModel(avatarService: AvatarService(mediaManager: parameters.session.mediaManager)))
return VectorHostingController(rootView: view)
}
@@ -61,7 +61,8 @@ final class VoiceBroadcastRecorderCoordinator: Coordinator, Presentable {
func toPresentable() -> UIViewController {
let view = VoiceBroadcastRecorderView(viewModel: voiceBroadcastRecorderViewModel.context)
.addDependency(AvatarService.instantiate(mediaManager: parameters.session.mediaManager))
.environmentObject(AvatarViewModel(avatarService: AvatarService(mediaManager: parameters.session.mediaManager)))
return VectorHostingController(rootView: view)
}