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
@@ -70,11 +70,12 @@ final class MatrixItemChooserCoordinator: Coordinator, Presentable {
let viewModel = MatrixItemChooserViewModel.makeMatrixItemChooserViewModel(matrixItemChooserService: MatrixItemChooserService(session: parameters.session, selectedItemIds: parameters.selectedItemsIds, itemsProcessor: parameters.itemsProcessor), title: parameters.title, detail: parameters.detail, selectionHeader: parameters.selectionHeader)
matrixItemChooserViewModel = viewModel
if let viewProvider = parameters.viewProvider {
let view = viewProvider.view(with: viewModel.context).addDependency(AvatarService.instantiate(mediaManager: parameters.session.mediaManager))
let view = viewProvider.view(with: viewModel.context)
.environmentObject(AvatarViewModel(avatarService: AvatarService(mediaManager: parameters.session.mediaManager)))
matrixItemChooserHostingController = VectorHostingController(rootView: view)
} else {
let view = MatrixItemChooser(viewModel: viewModel.context, listBottomPadding: nil)
.addDependency(AvatarService.instantiate(mediaManager: parameters.session.mediaManager))
.environmentObject(AvatarViewModel(avatarService: AvatarService(mediaManager: parameters.session.mediaManager)))
matrixItemChooserHostingController = VectorHostingController(rootView: view)
}
}
@@ -61,7 +61,7 @@ enum MockMatrixItemChooserScreenState: MockScreenState, CaseIterable {
return (
[service, viewModel],
AnyView(MatrixItemChooser(viewModel: viewModel.context, listBottomPadding: nil)
.addDependency(MockAvatarService.example))
.environmentObject(AvatarViewModel.withMockedServices()))
)
}
}
@@ -70,6 +70,6 @@ struct MatrixItemChooserListRow: View {
struct MatrixItemChooserListRow_Previews: PreviewProvider {
static var previews: some View {
TemplateRoomListRow(avatar: MockAvatarInput.example, displayName: "Alice")
.addDependency(MockAvatarService.example)
.environmentObject(AvatarViewModel.withMockedServices())
}
}