Skip to content

Commit 799db5d

Browse files
committed
Feat: EmotionRegisterViewModel 의존성 조립 및 감정 등록 화면 연결 (홈, 추천 루틴)
1 parent cdeb65e commit 799db5d

3 files changed

Lines changed: 21 additions & 2 deletions

File tree

Projects/Presentation/Sources/Common/PresentationDependencyAssembler.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,9 @@ public struct PresentationDependencyAssembler: DependencyAssemblerProtocol {
4646

4747
return MypageViewModel(userDataRepository: userDataRepository)
4848
}
49+
50+
DIContainer.shared.register(type: EmotionRegisterViewModel.self) { _ in
51+
return EmotionRegisterViewModel()
52+
}
4953
}
5054
}

Projects/Presentation/Sources/Home/View/HomeView.swift

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,13 @@ final class HomeView: BaseViewController<HomeViewModel> {
9595
emotionOrbView.layer.masksToBounds = true
9696
emotionOrbView.layer.cornerRadius = Layout.emotionOrbViewSize / 2
9797

98-
registerEmotionButton.addAction(UIAction { _ in
99-
// TODO: 감정 등록 화면으로 이동해야 합니다.
98+
registerEmotionButton.addAction(UIAction { [weak self] _ in
99+
guard let emotionRegisterViewModel = DIContainer.shared.resolve(type: EmotionRegisterViewModel.self) else {
100+
fatalError("emotionRegisterViewModel 의존성이 등록되지 않았습니다.")
101+
}
102+
let emotionRegisterView = EmotionRegisterView(viewModel: emotionRegisterViewModel)
103+
emotionRegisterView.hidesBottomBarWhenPushed = true
104+
self?.navigationController?.pushViewController(emotionRegisterView, animated: true)
100105
}, for: .touchUpInside)
101106

102107
contentView.backgroundColor = .white

Projects/Presentation/Sources/RecommendedRoutine/View/RecommendedRoutineView.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
//
77

88
import Combine
9+
import Shared
910
import SnapKit
1011
import UIKit
1112

@@ -72,6 +73,15 @@ final class RecommendedRoutineView: BaseViewController<RecommendedRoutineViewMod
7273

7374
recommendedRoutineStackView.axis = .vertical
7475
recommendedRoutineStackView.spacing = Layout.recommendedRoutineStackViewSpacing
76+
77+
registerEmotionButton.addAction(UIAction { _ in
78+
guard let emotionRegisterViewModel = DIContainer.shared.resolve(type: EmotionRegisterViewModel.self) else {
79+
fatalError("emotionRegisterViewModel 의존성이 등록되지 않았습니다.")
80+
}
81+
let emotionRegisterView = EmotionRegisterView(viewModel: emotionRegisterViewModel)
82+
emotionRegisterView.hidesBottomBarWhenPushed = true
83+
self.navigationController?.pushViewController(emotionRegisterView, animated: true)
84+
}, for: .touchUpInside)
7585
}
7686

7787
public override func configureLayout() {

0 commit comments

Comments
 (0)