@@ -13,13 +13,11 @@ struct MainView: View {
1313 @State private var homeViewCoordinator : HomeViewCoordinator
1414 @State private var todayViewCoordinator : TodayViewCoordinator
1515 @Binding var selectedTab : MainTab
16- private let container : DIContainer
1716
1817 init (
1918 container: DIContainer ,
2019 selectedTab: Binding < MainTab >
2120 ) {
22- self . container = container
2321 self . _coordinator = State ( initialValue: MainViewCoordinator ( container: container) )
2422 self . _homeViewCoordinator = State ( initialValue: HomeViewCoordinator ( container: container) )
2523 self . _todayViewCoordinator = State ( initialValue: TodayViewCoordinator ( container: container) )
@@ -117,7 +115,7 @@ struct MainView: View {
117115 Group {
118116 if let todoId = coordinator. todoIdToPresent? . id {
119117 TodoDetailView (
120- viewModel: makeTodoDetailViewModel (
118+ viewModel: coordinator . todoDetailViewModel (
121119 todoId: todoId,
122120 showEditButton: false
123121 )
@@ -235,11 +233,11 @@ struct MainView: View {
235233 switch homeRoute {
236234 case . category( let item) :
237235 TodoListView (
238- viewModel: makeTodoListViewModel ( category: item. todoCategory)
236+ viewModel: coordinator . todoListViewModel ( category: item. todoCategory)
239237 )
240238 . id ( item. id)
241239 case . todo( let item) :
242- TodoDetailView ( viewModel: makeTodoDetailViewModel ( todoId: item. id) )
240+ TodoDetailView ( viewModel: coordinator . todoDetailViewModel ( todoId: item. id) )
243241 . id ( item. id)
244242 case . webPage( let item) :
245243 WebView ( url: item. url)
@@ -302,7 +300,7 @@ struct MainView: View {
302300 private func todayDestinationView( _ todayRoute: TodayRoute ) -> some View {
303301 switch todayRoute {
304302 case . todo( let item) :
305- TodoDetailView ( viewModel: makeTodoDetailViewModel ( todoId: item. id) )
303+ TodoDetailView ( viewModel: coordinator . todoDetailViewModel ( todoId: item. id) )
306304 . id ( item. id)
307305 }
308306 }
@@ -378,29 +376,6 @@ private extension MainView {
378376 )
379377 }
380378
381- func makeTodoListViewModel( category: TodoCategory ) -> TodoListViewModel {
382- TodoListViewModel (
383- fetchTodosUseCase: container. resolve ( FetchTodosUseCase . self) ,
384- fetchTodoByIdUseCase: container. resolve ( FetchTodoByIdUseCase . self) ,
385- upsertTodoUseCase: container. resolve ( UpsertTodoUseCase . self) ,
386- deleteTodoUseCase: container. resolve ( DeleteTodoUseCase . self) ,
387- undoDeleteTodoUseCase: container. resolve ( UndoDeleteTodoUseCase . self) ,
388- category: category
389- )
390- }
391-
392- func makeTodoDetailViewModel(
393- todoId: String ,
394- showEditButton: Bool = true
395- ) -> TodoDetailViewModel {
396- TodoDetailViewModel (
397- fetchTodoUseCase: container. resolve ( FetchTodoByIdUseCase . self) ,
398- fetchReferenceItemsUseCase: container. resolve ( FetchReferenceItemsUseCase . self) ,
399- upsertUseCase: container. resolve ( UpsertTodoUseCase . self) ,
400- todoId: todoId,
401- showEditButton: showEditButton
402- )
403- }
404379}
405380
406381private enum MainTabSplitStyle {
0 commit comments