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
@@ -37,7 +37,7 @@ final class TemplateUserProfileCoordinator: Coordinator, Presentable {
self.parameters = parameters
let viewModel = TemplateUserProfileViewModel.makeTemplateUserProfileViewModel(templateUserProfileService: TemplateUserProfileService(session: parameters.session))
let view = TemplateUserProfile(viewModel: viewModel.context)
.addDependency(AvatarService.instantiate(mediaManager: parameters.session.mediaManager))
.environmentObject(AvatarViewModel(avatarService: AvatarService(mediaManager: parameters.session.mediaManager)))
templateUserProfileViewModel = viewModel
templateUserProfileHostingController = VectorHostingController(rootView: view)
@@ -55,7 +55,7 @@ enum MockTemplateUserProfileScreenState: MockScreenState, CaseIterable {
return (
[service, viewModel],
AnyView(TemplateUserProfile(viewModel: viewModel.context)
.addDependency(MockAvatarService.example))
.environmentObject(AvatarViewModel.withMockedServices()))
)
}
}
@@ -46,6 +46,6 @@ struct TemplateUserProfileHeader: View {
struct TemplateUserProfileHeader_Previews: PreviewProvider {
static var previews: some View {
TemplateUserProfileHeader(avatar: MockAvatarInput.example, displayName: "Alice", presence: .online)
.addDependency(MockAvatarService.example)
.environmentObject(AvatarViewModel.withMockedServices())
}
}