Skip to content

Commit

Permalink
#123 #124 feat: UseCase를 통해 설정 내역을 가져오고 반영
Browse files Browse the repository at this point in the history
  • Loading branch information
LEEYOONJONG committed Nov 30, 2022
1 parent 417a480 commit 36f068a
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 20 deletions.
4 changes: 4 additions & 0 deletions Segno/Segno.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
988414D72923304F007C9132 /* KeychainError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 988414D62923304F007C9132 /* KeychainError.swift */; };
988414D929235345007C9132 /* DiaryCollectionViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 988414D829235345007C9132 /* DiaryCollectionViewModel.swift */; };
988414DB2923606B007C9132 /* DiaryListUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 988414DA2923606B007C9132 /* DiaryListUseCase.swift */; };
9894EAF529373385005F2B15 /* SettingsUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9894EAF429373385005F2B15 /* SettingsUseCase.swift */; };
98B5263E292CA46C00446413 /* TagView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98B5263D292CA46C00446413 /* TagView.swift */; };
98B52640292CB92900446413 /* MusicContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98B5263F292CB92900446413 /* MusicContentView.swift */; };
98BEE36E2934907700B20143 /* LoginError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98BEE36D2934907700B20143 /* LoginError.swift */; };
Expand Down Expand Up @@ -141,6 +142,7 @@
988414D62923304F007C9132 /* KeychainError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainError.swift; sourceTree = "<group>"; };
988414D829235345007C9132 /* DiaryCollectionViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiaryCollectionViewModel.swift; sourceTree = "<group>"; };
988414DA2923606B007C9132 /* DiaryListUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiaryListUseCase.swift; sourceTree = "<group>"; };
9894EAF429373385005F2B15 /* SettingsUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsUseCase.swift; sourceTree = "<group>"; };
98B5263D292CA46C00446413 /* TagView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagView.swift; sourceTree = "<group>"; };
98B5263F292CB92900446413 /* MusicContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MusicContentView.swift; sourceTree = "<group>"; };
98BEE36D2934907700B20143 /* LoginError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginError.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -281,6 +283,7 @@
9841D6162925FACC00318EA9 /* LoginUseCase.swift */,
7940FB32292E065F00276EFC /* DiaryDetailUseCase.swift */,
988414DA2923606B007C9132 /* DiaryListUseCase.swift */,
9894EAF429373385005F2B15 /* SettingsUseCase.swift */,
);
path = UseCase;
sourceTree = "<group>";
Expand Down Expand Up @@ -513,6 +516,7 @@
4F9A00202922337F007D9057 /* LoginViewController.swift in Sources */,
982A2A472924AE74006F6ACD /* UserDefaultsKey.swift in Sources */,
4F9A001B292227D7007D9057 /* NetworkManager.swift in Sources */,
9894EAF529373385005F2B15 /* SettingsUseCase.swift in Sources */,
9841D6172925FACC00318EA9 /* LoginUseCase.swift in Sources */,
4FEBFAAD291CF62E00E78139 /* DiaryDetail.swift in Sources */,
4FEBFAB1291CFB5500E78139 /* SHMediaItem+.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ final class SettingsViewController: UIViewController {
return cell
case .settingsActionSheet(let title):
guard let cell = tableView.dequeueReusableCell(withIdentifier: "SettingsActionSheetCell") as? SettingsActionSheetCell else { return UITableViewCell() }

cell.configure(left: title)
return cell
}
Expand Down
30 changes: 10 additions & 20 deletions Segno/Segno/Presentation/ViewModel/SettingsViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,43 +16,33 @@ final class SettingsViewModel {
.settingsActionSheet(title: "다크 모드")
])

init() {

private let useCase: SettingsUseCase

init(useCase: SettingsUseCase = SettingsUseCaseImpl()) {
self.useCase = useCase
}

// TODO: 닉네임 변경 로직
func changeNickname(to nickname: String) -> Observable<Bool> {
// return useCase.requestChangeNickname(to: nickname)

// 임시 처리입니다.
return Observable.create { emitter in
emitter.onNext(true)
let result = self.useCase.requestChangeNickname(to: nickname)
emitter.onNext(result)
return Disposables.create()
}
}

// TODO: 음악 자동 재생 여부 불러오기 / 클릭 시 반영하기
func getAutoPlayMode() -> Bool {
// return useCase.getAutoPlayMode()

return true
return useCase.getAutoPlayMode()
}

func changeAutoPlayMode(to mode: Bool) {
// useCase.changeAutoPlayMode(to: mode)

debugPrint("changeAutoPlayMode에서 \(mode)로 변경합니다")
useCase.changeAutoPlayMode(to: mode)
}

// TODO: 다크모드 설정 불러오기 / 액션 시트 선택 시 반영하기
func getDarkMode() -> Int {
// return useCase.getDarkMode()

return 0
return useCase.getDarkMode()
}

func changeDarkMode(to mode: Int) {
// TODO: 액션 시트를 띄워야 합니다.
debugPrint("changeDarkMode에서 \(mode)로 변경합니다")
useCase.changeDarkMode(to: mode)
}
}

0 comments on commit 36f068a

Please sign in to comment.